diff --git a/CHANGELOG.md b/CHANGELOG.md index 410f04ef2a..9f27f27b9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### Release v3.22.2 +### New +- Hotfix firefox support for MEWconnect [Commit](https://github.com/kvhnuke/etherwallet/commit/644c63da54ded3e74c78a14b0e0dff1c419a0be0) + ### Release v3.22.1 ### New - Hotfix link and icon for MEWconnect, Add PAX token and contract, and dqr30 token [#2069](https://github.com/kvhnuke/etherwallet/pull/2069) diff --git a/app/includes/header.tpl b/app/includes/header.tpl index c9c35f0cfd..b88d860dab 100644 --- a/app/includes/header.tpl +++ b/app/includes/header.tpl @@ -98,18 +98,18 @@ @@if (site === 'mew' ) { MyEtherWallet -

3.22.1

+

3.22.2

} @@if (site === 'cx' ) { MyEtherWallet -

3.22.1

+

3.22.2

}
- + diff --git a/app/manifest.json b/app/manifest.json index cdd38c277a..d1f3c3b7e9 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,6 +1,6 @@ { "name": "MyEtherWallet", - "version": "3.22.1", + "version": "3.22.2", "manifest_version": 2, "description": "MyEtherWallet Chrome Extension", "homepage_url": "https://www.myetherwallet.com/", diff --git a/chrome-extension/contest.html b/chrome-extension/contest.html index c23f60fa11..5fac9e8a22 100644 --- a/chrome-extension/contest.html +++ b/chrome-extension/contest.html @@ -98,13 +98,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/chrome-extension/cx-wallet.html b/chrome-extension/cx-wallet.html index 9d84c986f9..93b1390cdd 100644 --- a/chrome-extension/cx-wallet.html +++ b/chrome-extension/cx-wallet.html @@ -83,12 +83,12 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/chrome-extension/helpers.html b/chrome-extension/helpers.html index c6bdfafdad..ea83e40354 100644 --- a/chrome-extension/helpers.html +++ b/chrome-extension/helpers.html @@ -99,13 +99,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/chrome-extension/js/etherwallet-master.js b/chrome-extension/js/etherwallet-master.js index be40c79be5..815bd1895e 100644 --- a/chrome-extension/js/etherwallet-master.js +++ b/chrome-extension/js/etherwallet-master.js @@ -15860,7 +15860,6 @@ if (IS_CX) { window.cxHelpers['similarity'] = similarity; window.cxHelpers['levenshtein'] = levenshtein; } else { - require('webrtc-adapter'); // adapter to ensure a common api for webRTC var MewConnectEth = require('./staticJS/mewConnectEth'); var MewConnect = require('@myetherwallet/mewconnect-web-client').Initiator; var u2f = require('./staticJS/u2f-api'); @@ -15967,7 +15966,7 @@ if (IS_CX) { app.controller('cxDecryptWalletCtrl', ['$scope', '$sce', 'walletService', cxDecryptWalletCtrl]); } -},{"./ajaxReq":22,"./bity":23,"./constants/darkListConst":24,"./controllers/CX/addWalletCtrl":25,"./controllers/CX/cxDecryptWalletCtrl":26,"./controllers/CX/mainPopCtrl":27,"./controllers/CX/myWalletsCtrl":28,"./controllers/CX/quickSendCtrl":29,"./controllers/bulkGenCtrl":30,"./controllers/contractsCtrl":31,"./controllers/decryptWalletCtrl":32,"./controllers/domainsaleCtrl":33,"./controllers/ensCtrl":34,"./controllers/footerCtrl":35,"./controllers/helpersCtrl":36,"./controllers/offlineTxCtrl":37,"./controllers/onboardingCtrl":38,"./controllers/sendTxCtrl":39,"./controllers/signMsgCtrl":40,"./controllers/swapCtrl":41,"./controllers/tabsCtrl":42,"./controllers/txStatusCtrl":43,"./controllers/viewCtrl":44,"./controllers/viewWalletCtrl":45,"./controllers/walletBalanceCtrl":46,"./controllers/walletGenCtrl":47,"./customGas.js":48,"./cxFuncs":49,"./directives/QRCodeDrtv":50,"./directives/addressFieldDrtv":51,"./directives/balanceDrtv":53,"./directives/blockiesDrtv":54,"./directives/cxWalletDecryptDrtv":55,"./directives/fileReaderDrtv":56,"./directives/walletDecryptDrtv":58,"./domainsale":59,"./ens":61,"./ethFuncs":70,"./etherUnits":71,"./globalFuncs":72,"./homoglyphs.json":73,"./kyber":74,"./localStoragePolyfill":82,"./myetherwallet":84,"./nodes":92,"./services/globalService":93,"./services/walletService":94,"./solidity/coder":98,"./solidity/utils":109,"./staticJS/customMarked":110,"./staticJS/digitalBitboxEth":111,"./staticJS/digitalBitboxUsb":112,"./staticJS/ledger-eth":113,"./staticJS/ledger3":114,"./staticJS/mewConnectEth":115,"./staticJS/secalotEth":116,"./staticJS/secalotUsb":117,"./staticJS/trezorConnect":118,"./staticJS/u2f-api":119,"./tokenlib":120,"./translations/translate.js":163,"./uiFuncs":167,"./validator":168,"./web3Wallet":169,"@myetherwallet/mewconnect-web-client":179,"angular":188,"angular-animate":182,"angular-sanitize":184,"angular-translate":186,"angular-translate-handler-log":185,"babel-polyfill":208,"bignumber.js":214,"bip39":215,"crypto":597,"detect-browser":604,"ethereumjs-tx":643,"ethereumjs-util":644,"hdkey":665,"levenshtein":683,"punycode":257,"scryptsy":730,"similarity":746,"string-format":765,"unicode/category/Ll":769,"uuid":773,"wallet-address-validator":786,"webrtc-adapter":787,"xss-filters":799}],84:[function(require,module,exports){ +},{"./ajaxReq":22,"./bity":23,"./constants/darkListConst":24,"./controllers/CX/addWalletCtrl":25,"./controllers/CX/cxDecryptWalletCtrl":26,"./controllers/CX/mainPopCtrl":27,"./controllers/CX/myWalletsCtrl":28,"./controllers/CX/quickSendCtrl":29,"./controllers/bulkGenCtrl":30,"./controllers/contractsCtrl":31,"./controllers/decryptWalletCtrl":32,"./controllers/domainsaleCtrl":33,"./controllers/ensCtrl":34,"./controllers/footerCtrl":35,"./controllers/helpersCtrl":36,"./controllers/offlineTxCtrl":37,"./controllers/onboardingCtrl":38,"./controllers/sendTxCtrl":39,"./controllers/signMsgCtrl":40,"./controllers/swapCtrl":41,"./controllers/tabsCtrl":42,"./controllers/txStatusCtrl":43,"./controllers/viewCtrl":44,"./controllers/viewWalletCtrl":45,"./controllers/walletBalanceCtrl":46,"./controllers/walletGenCtrl":47,"./customGas.js":48,"./cxFuncs":49,"./directives/QRCodeDrtv":50,"./directives/addressFieldDrtv":51,"./directives/balanceDrtv":53,"./directives/blockiesDrtv":54,"./directives/cxWalletDecryptDrtv":55,"./directives/fileReaderDrtv":56,"./directives/walletDecryptDrtv":58,"./domainsale":59,"./ens":61,"./ethFuncs":70,"./etherUnits":71,"./globalFuncs":72,"./homoglyphs.json":73,"./kyber":74,"./localStoragePolyfill":82,"./myetherwallet":84,"./nodes":92,"./services/globalService":93,"./services/walletService":94,"./solidity/coder":98,"./solidity/utils":109,"./staticJS/customMarked":110,"./staticJS/digitalBitboxEth":111,"./staticJS/digitalBitboxUsb":112,"./staticJS/ledger-eth":113,"./staticJS/ledger3":114,"./staticJS/mewConnectEth":115,"./staticJS/secalotEth":116,"./staticJS/secalotUsb":117,"./staticJS/trezorConnect":118,"./staticJS/u2f-api":119,"./tokenlib":120,"./translations/translate.js":163,"./uiFuncs":167,"./validator":168,"./web3Wallet":169,"@myetherwallet/mewconnect-web-client":179,"angular":188,"angular-animate":182,"angular-sanitize":184,"angular-translate":186,"angular-translate-handler-log":185,"babel-polyfill":208,"bignumber.js":214,"bip39":215,"crypto":597,"detect-browser":604,"ethereumjs-tx":643,"ethereumjs-util":644,"hdkey":665,"levenshtein":683,"punycode":257,"scryptsy":729,"similarity":744,"string-format":763,"unicode/category/Ll":767,"uuid":771,"wallet-address-validator":784,"xss-filters":785}],84:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -19164,7 +19163,7 @@ module.exports = { isJson: isJson }; -},{"bignumber.js":214,"ethereumjs-util":644,"utf8":771}],110:[function(require,module,exports){ +},{"bignumber.js":214,"ethereumjs-util":644,"utf8":769}],110:[function(require,module,exports){ 'use strict'; var marked = require('marked'); @@ -31663,7 +31662,7 @@ var MewConnectCrypto = function () { module.exports = MewConnectCrypto; }).call(this,require("buffer").Buffer) -},{"buffer":256,"crypto":597,"eccrypto/browser":611,"ethereumjs-util":644,"logging":684,"secp256k1":732}],173:[function(require,module,exports){ +},{"buffer":256,"crypto":597,"eccrypto/browser":611,"ethereumjs-util":644,"logging":684,"secp256k1":730}],173:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -32461,7 +32460,7 @@ var MewConnectInitiator = function (_MewConnectCommon) { module.exports = MewConnectInitiator; -},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":747,"socket.io-client":751}],174:[function(require,module,exports){ +},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":745,"socket.io-client":749}],174:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -33490,7 +33489,7 @@ var MewConnectReceiver = function (_MewConnectCommon) { module.exports = MewConnectReceiver; -},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":747,"socket.io-client":751}],176:[function(require,module,exports){ +},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":745,"socket.io-client":749}],176:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -78570,7 +78569,7 @@ Entity.prototype.encode = function encode(data, enc, /* internal */reporter) { return this._getEncoder(enc).encode(data, reporter); }; -},{"../asn1":190,"inherits":671,"vm":778}],192:[function(require,module,exports){ +},{"../asn1":190,"inherits":671,"vm":776}],192:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -82006,7 +82005,7 @@ module.exports = function base(ALPHABET) { }; }; -},{"safe-buffer":729}],212:[function(require,module,exports){ +},{"safe-buffer":728}],212:[function(require,module,exports){ "use strict"; /* @@ -85096,7 +85095,7 @@ module.exports = { } }; -},{"./wordlists/chinese_simplified.json":216,"./wordlists/chinese_traditional.json":217,"./wordlists/english.json":218,"./wordlists/french.json":219,"./wordlists/italian.json":220,"./wordlists/japanese.json":221,"./wordlists/korean.json":222,"./wordlists/spanish.json":223,"create-hash":593,"pbkdf2":698,"randombytes":711,"safe-buffer":729,"unorm":770}],216:[function(require,module,exports){ +},{"./wordlists/chinese_simplified.json":216,"./wordlists/chinese_traditional.json":217,"./wordlists/english.json":218,"./wordlists/french.json":219,"./wordlists/italian.json":220,"./wordlists/japanese.json":221,"./wordlists/korean.json":222,"./wordlists/spanish.json":223,"create-hash":593,"pbkdf2":698,"randombytes":711,"safe-buffer":728,"unorm":768}],216:[function(require,module,exports){ module.exports=[ "的", "一", @@ -101629,7 +101628,7 @@ module.exports = { encode: encode }; -},{"safe-buffer":729}],225:[function(require,module,exports){ +},{"safe-buffer":728}],225:[function(require,module,exports){ (function (global){ 'use strict'; @@ -105381,7 +105380,7 @@ AES.prototype.scrub = function () { module.exports.AES = AES; -},{"safe-buffer":729}],230:[function(require,module,exports){ +},{"safe-buffer":728}],230:[function(require,module,exports){ 'use strict'; var aes = require('./aes'); @@ -105502,7 +105501,7 @@ StreamCipher.prototype.setAAD = function setAAD(buf) { module.exports = StreamCipher; -},{"./aes":229,"./ghash":234,"./incr32":235,"buffer-xor":261,"cipher-base":262,"inherits":671,"safe-buffer":729}],231:[function(require,module,exports){ +},{"./aes":229,"./ghash":234,"./incr32":235,"buffer-xor":261,"cipher-base":262,"inherits":671,"safe-buffer":728}],231:[function(require,module,exports){ 'use strict'; var ciphers = require('./encrypter'); @@ -105647,7 +105646,7 @@ function createDecipher(suite, password) { exports.createDecipher = createDecipher; exports.createDecipheriv = createDecipheriv; -},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":729}],233:[function(require,module,exports){ +},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":728}],233:[function(require,module,exports){ 'use strict'; var MODES = require('./modes'); @@ -105765,7 +105764,7 @@ function createCipher(suite, password) { exports.createCipheriv = createCipheriv; exports.createCipher = createCipher; -},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":729}],234:[function(require,module,exports){ +},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":728}],234:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -105853,7 +105852,7 @@ GHASH.prototype.final = function (abl, bl) { module.exports = GHASH; -},{"safe-buffer":729}],235:[function(require,module,exports){ +},{"safe-buffer":728}],235:[function(require,module,exports){ "use strict"; function incr32(iv) { @@ -105930,7 +105929,7 @@ exports.encrypt = function (self, data, decrypt) { return out; }; -},{"buffer-xor":261,"safe-buffer":729}],238:[function(require,module,exports){ +},{"buffer-xor":261,"safe-buffer":728}],238:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -105976,7 +105975,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out; }; -},{"safe-buffer":729}],239:[function(require,module,exports){ +},{"safe-buffer":728}],239:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -106002,7 +106001,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out; }; -},{"safe-buffer":729}],240:[function(require,module,exports){ +},{"safe-buffer":728}],240:[function(require,module,exports){ 'use strict'; var xor = require('buffer-xor'); @@ -106033,7 +106032,7 @@ exports.encrypt = function (self, chunk) { return xor(chunk, pad); }; -},{"../incr32":235,"buffer-xor":261,"safe-buffer":729}],241:[function(require,module,exports){ +},{"../incr32":235,"buffer-xor":261,"safe-buffer":728}],241:[function(require,module,exports){ "use strict"; exports.encrypt = function (self, block) { @@ -106312,7 +106311,7 @@ StreamCipher.prototype._final = function () { module.exports = StreamCipher; -},{"./aes":229,"cipher-base":262,"inherits":671,"safe-buffer":729}],246:[function(require,module,exports){ +},{"./aes":229,"cipher-base":262,"inherits":671,"safe-buffer":728}],246:[function(require,module,exports){ 'use strict'; var DES = require('browserify-des'); @@ -106437,7 +106436,7 @@ DES.prototype._final = function () { return Buffer.from(this._des.final()); }; -},{"cipher-base":262,"des.js":598,"inherits":671,"safe-buffer":729}],248:[function(require,module,exports){ +},{"cipher-base":262,"des.js":598,"inherits":671,"safe-buffer":728}],248:[function(require,module,exports){ 'use strict'; exports['des-ecb'] = { @@ -106776,7 +106775,7 @@ module.exports = { }; }).call(this,require("buffer").Buffer) -},{"./algorithms.json":251,"./sign":254,"./verify":255,"buffer":256,"create-hash":593,"inherits":671,"stream":764}],254:[function(require,module,exports){ +},{"./algorithms.json":251,"./sign":254,"./verify":255,"buffer":256,"create-hash":593,"inherits":671,"stream":762}],254:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -109528,7 +109527,7 @@ function simpleEnd(buf) { return buf && buf.length ? this.write(buf) : ''; } -},{"safe-buffer":729}],259:[function(require,module,exports){ +},{"safe-buffer":728}],259:[function(require,module,exports){ (function (setImmediate,clearImmediate){ "use strict"; @@ -109823,7 +109822,7 @@ CipherBase.prototype._toString = function (value, enc, fin) { module.exports = CipherBase; -},{"inherits":671,"safe-buffer":729,"stream":764,"string_decoder":258}],263:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762,"string_decoder":258}],263:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -117817,7 +117816,7 @@ module.exports = function createHash(alg) { return new Hash(sha(alg)); }; -},{"cipher-base":262,"inherits":671,"md5.js":686,"ripemd160":726,"sha.js":739}],594:[function(require,module,exports){ +},{"cipher-base":262,"inherits":671,"md5.js":686,"ripemd160":726,"sha.js":737}],594:[function(require,module,exports){ 'use strict'; var MD5 = require('md5.js'); @@ -117891,7 +117890,7 @@ module.exports = function createHmac(alg, key) { return new Hmac(alg, key); }; -},{"./legacy":596,"cipher-base":262,"create-hash/md5":594,"inherits":671,"ripemd160":726,"safe-buffer":729,"sha.js":739}],596:[function(require,module,exports){ +},{"./legacy":596,"cipher-base":262,"create-hash/md5":594,"inherits":671,"ripemd160":726,"safe-buffer":728,"sha.js":737}],596:[function(require,module,exports){ 'use strict'; var inherits = require('inherits'); @@ -117940,7 +117939,7 @@ Hmac.prototype._final = function () { }; module.exports = Hmac; -},{"cipher-base":262,"inherits":671,"safe-buffer":729}],597:[function(require,module,exports){ +},{"cipher-base":262,"inherits":671,"safe-buffer":728}],597:[function(require,module,exports){ 'use strict'; exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes'); @@ -122072,52 +122071,37 @@ utils.intFromLE = intFromLE; },{"bn.js":226,"minimalistic-assert":688,"minimalistic-crypto-utils":689}],627:[function(require,module,exports){ module.exports={ - "_from": "elliptic@^6.0.2", - "_id": "elliptic@6.4.1", - "_inBundle": false, - "_integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "_location": "/elliptic", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "elliptic@^6.0.2", - "name": "elliptic", - "escapedName": "elliptic", - "rawSpec": "^6.0.2", - "saveSpec": null, - "fetchSpec": "^6.0.2" - }, - "_requiredBy": [ - "/browserify-sign", - "/create-ecdh", - "/eccrypto", - "/eccrypto/secp256k1", - "/secp256k1" + "name": "elliptic", + "version": "6.4.1", + "description": "EC cryptography", + "main": "lib/elliptic.js", + "files": [ + "lib" ], - "_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "_shasum": "c2d0b7776911b86722c632c3c06c60f2f819939a", - "_spec": "elliptic@^6.0.2", - "_where": "/Users/yelpadillo/workspace/mew/etherwallet/node_modules/eccrypto", - "author": { - "name": "Fedor Indutny", - "email": "fedor@indutny.com" + "scripts": { + "jscs": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", + "jshint": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", + "lint": "npm run jscs && npm run jshint", + "unit": "istanbul test _mocha --reporter=spec test/index.js", + "test": "npm run lint && npm run unit", + "version": "grunt dist && git add dist/" }, + "repository": { + "type": "git", + "url": "git@github.com:indutny/elliptic" + }, + "keywords": [ + "EC", + "Elliptic", + "curve", + "Cryptography" + ], + "author": "Fedor Indutny ", + "license": "MIT", "bugs": { "url": "https://github.com/indutny/elliptic/issues" }, - "bundleDependencies": false, - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "deprecated": false, - "description": "EC cryptography", + "homepage": "https://github.com/indutny/elliptic", "devDependencies": { "brfs": "^1.4.3", "coveralls": "^2.11.3", @@ -122134,34 +122118,20 @@ module.exports={ "jshint": "^2.6.0", "mocha": "^2.1.0" }, - "files": [ - "lib" - ], - "homepage": "https://github.com/indutny/elliptic", - "keywords": [ - "EC", - "Elliptic", - "curve", - "Cryptography" - ], - "license": "MIT", - "main": "lib/elliptic.js", - "name": "elliptic", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/indutny/elliptic.git" - }, - "scripts": { - "jscs": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", - "jshint": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", - "lint": "npm run jscs && npm run jshint", - "test": "npm run lint && npm run unit", - "unit": "istanbul test _mocha --reporter=spec test/index.js", - "version": "grunt dist && git add dist/" - }, - "version": "6.4.1" -} + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } +,"_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz" +,"_integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==" +,"_from": "elliptic@6.4.1" +} },{}],628:[function(require,module,exports){ 'use strict'; @@ -124036,7 +124006,7 @@ Polling.prototype.uri = function () { return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query; }; -},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"xmlhttprequest-ssl":636,"yeast":800}],635:[function(require,module,exports){ +},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"xmlhttprequest-ssl":636,"yeast":786}],635:[function(require,module,exports){ (function (global){ 'use strict'; @@ -124327,7 +124297,7 @@ WS.prototype.check = function () { }; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"ws":228,"yeast":800}],636:[function(require,module,exports){ +},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"ws":228,"yeast":786}],636:[function(require,module,exports){ (function (global){ 'use strict'; @@ -126952,7 +126922,7 @@ exports.defineProperties = function (self, fields, data) { } }; -},{"assert":204,"bn.js":226,"create-hash":593,"ethjs-util":645,"keccak":676,"rlp":727,"safe-buffer":729,"secp256k1":732}],645:[function(require,module,exports){ +},{"assert":204,"bn.js":226,"create-hash":593,"ethjs-util":645,"keccak":676,"rlp":727,"safe-buffer":728,"secp256k1":730}],645:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -127178,7 +127148,7 @@ module.exports = { }; }).call(this,require("buffer").Buffer) -},{"buffer":256,"is-hex-prefixed":673,"strip-hex-prefix":767}],646:[function(require,module,exports){ +},{"buffer":256,"is-hex-prefixed":673,"strip-hex-prefix":765}],646:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -127502,7 +127472,7 @@ function EVP_BytesToKey(password, salt, keyBits, ivLen) { module.exports = EVP_BytesToKey; -},{"md5.js":686,"safe-buffer":729}],648:[function(require,module,exports){ +},{"md5.js":686,"safe-buffer":728}],648:[function(require,module,exports){ 'use strict'; // originally pulled out of simple-peer @@ -127711,7 +127681,7 @@ HashBase.prototype._digest = function () { module.exports = HashBase; -},{"inherits":671,"safe-buffer":729,"stream":764}],653:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762}],653:[function(require,module,exports){ 'use strict'; var hash = exports; @@ -128921,7 +128891,7 @@ HDKey.HARDENED_OFFSET = HARDENED_OFFSET; module.exports = HDKey; }).call(this,require("buffer").Buffer) -},{"assert":204,"buffer":256,"coinstring":263,"crypto":597,"secp256k1":732}],666:[function(require,module,exports){ +},{"assert":204,"buffer":256,"coinstring":263,"crypto":597,"secp256k1":730}],666:[function(require,module,exports){ 'use strict'; var hash = require('hash.js'); @@ -129774,7 +129744,7 @@ module.exports = function (KeccakState) { return Keccak; }; -},{"inherits":671,"safe-buffer":729,"stream":764}],679:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762}],679:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -129852,7 +129822,7 @@ module.exports = function (KeccakState) { return Shake; }; -},{"inherits":671,"safe-buffer":729,"stream":764}],680:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762}],680:[function(require,module,exports){ 'use strict'; var P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; @@ -130111,7 +130081,7 @@ Keccak.prototype.copy = function (dest) { module.exports = Keccak; -},{"./keccak-state-unroll":680,"safe-buffer":729}],682:[function(require,module,exports){ +},{"./keccak-state-unroll":680,"safe-buffer":728}],682:[function(require,module,exports){ /* eslint-disable no-nested-ternary */ 'use strict'; @@ -132550,7 +132520,7 @@ module.exports = function (password, salt, iterations, keylen, digest, callback) }; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./default-encoding":700,"./precondition":701,"./sync":702,"_process":704,"safe-buffer":729}],700:[function(require,module,exports){ +},{"./default-encoding":700,"./precondition":701,"./sync":702,"_process":704,"safe-buffer":728}],700:[function(require,module,exports){ (function (process){ 'use strict'; @@ -132708,7 +132678,7 @@ function pbkdf2(password, salt, iterations, keylen, digest) { module.exports = pbkdf2; -},{"./default-encoding":700,"./precondition":701,"create-hash/md5":594,"ripemd160":726,"safe-buffer":729,"sha.js":739}],703:[function(require,module,exports){ +},{"./default-encoding":700,"./precondition":701,"create-hash/md5":594,"ripemd160":726,"safe-buffer":728,"sha.js":737}],703:[function(require,module,exports){ (function (process){ 'use strict'; @@ -133261,7 +133231,7 @@ function randomBytes(size, cb) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":704,"safe-buffer":729}],712:[function(require,module,exports){ +},{"_process":704,"safe-buffer":728}],712:[function(require,module,exports){ (function (process,global){ 'use strict'; @@ -133375,7 +133345,7 @@ function randomFillSync(buf, offset, size) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":704,"randombytes":711,"safe-buffer":729}],713:[function(require,module,exports){ +},{"_process":704,"randombytes":711,"safe-buffer":728}],713:[function(require,module,exports){ 'use strict'; module.exports = require('./lib/_stream_duplex.js'); @@ -134585,7 +134555,7 @@ function indexOf(xs, x) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./_stream_duplex":714,"./internal/streams/BufferList":719,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"events":646,"inherits":671,"isarray":674,"process-nextick-args":703,"safe-buffer":729,"string_decoder/":766,"util":228}],717:[function(require,module,exports){ +},{"./_stream_duplex":714,"./internal/streams/BufferList":719,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"events":646,"inherits":671,"isarray":674,"process-nextick-args":703,"safe-buffer":728,"string_decoder/":764,"util":228}],717:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -135492,7 +135462,7 @@ Writable.prototype._destroy = function (err, cb) { }; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("timers").setImmediate) -},{"./_stream_duplex":714,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"inherits":671,"process-nextick-args":703,"safe-buffer":729,"timers":259,"util-deprecate":772}],719:[function(require,module,exports){ +},{"./_stream_duplex":714,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"inherits":671,"process-nextick-args":703,"safe-buffer":728,"timers":259,"util-deprecate":770}],719:[function(require,module,exports){ 'use strict'; function _classCallCheck(instance, Constructor) { @@ -135577,7 +135547,7 @@ if (util && util.inspect && util.inspect.custom) { }; } -},{"safe-buffer":729,"util":228}],720:[function(require,module,exports){ +},{"safe-buffer":728,"util":228}],720:[function(require,module,exports){ 'use strict'; /**/ @@ -136061,13213 +136031,8117 @@ function toBuffer(v) { return v; } -},{"assert":204,"safe-buffer":729}],728:[function(require,module,exports){ -/* - * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"assert":204,"safe-buffer":728}],728:[function(require,module,exports){ 'use strict'; -var SDPUtils = require('sdp'); +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer'); +var Buffer = buffer.Buffer; -function fixStatsType(stat) { - return { - inboundrtp: 'inbound-rtp', - outboundrtp: 'outbound-rtp', - candidatepair: 'candidate-pair', - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[stat.type] || stat.type; +// alternative to using Object.keys for old browsers +function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer; +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports); + exports.Buffer = SafeBuffer; } -function writeMediaSection(transceiver, caps, type, stream, dtlsRole) { - var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps); - - // Map ICE parameters (ufrag, pwd) to SDP. - sdp += SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()); - - // Map DTLS parameters to SDP. - sdp += SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(), type === 'offer' ? 'actpass' : dtlsRole || 'active'); - - sdp += 'a=mid:' + transceiver.mid + '\r\n'; +function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length); +} - if (transceiver.rtpSender && transceiver.rtpReceiver) { - sdp += 'a=sendrecv\r\n'; - } else if (transceiver.rtpSender) { - sdp += 'a=sendonly\r\n'; - } else if (transceiver.rtpReceiver) { - sdp += 'a=recvonly\r\n'; - } else { - sdp += 'a=inactive\r\n'; - } - - if (transceiver.rtpSender) { - var trackId = transceiver.rtpSender._initialTrackId || transceiver.rtpSender.track.id; - transceiver.rtpSender._initialTrackId = trackId; - // spec. - var msid = 'msid:' + (stream ? stream.id : '-') + ' ' + trackId + '\r\n'; - sdp += 'a=' + msid; - // for Chrome. Legacy should no longer be required. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' ' + msid; - - // RTX - if (transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' ' + msid; - sdp += 'a=ssrc-group:FID ' + transceiver.sendEncodingParameters[0].ssrc + ' ' + transceiver.sendEncodingParameters[0].rtx.ssrc + '\r\n'; - } - } - // FIXME: this should be written by writeRtpDescription. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - } - return sdp; -} - -// Edge does not like -// 1) stun: filtered after 14393 unless ?transport=udp is present -// 2) turn: that does not have all of turn:host:port?transport=udp -// 3) turn: with ipv6 addresses -// 4) turn: occurring muliple times -function filterIceServers(iceServers, edgeVersion) { - var hasTurn = false; - iceServers = JSON.parse(JSON.stringify(iceServers)); - return iceServers.filter(function (server) { - if (server && (server.urls || server.url)) { - var urls = server.urls || server.url; - if (server.url && !server.urls) { - console.warn('RTCIceServer.url is deprecated! Use urls instead.'); - } - var isString = typeof urls === 'string'; - if (isString) { - urls = [urls]; - } - urls = urls.filter(function (url) { - var validTurn = url.indexOf('turn:') === 0 && url.indexOf('transport=udp') !== -1 && url.indexOf('turn:[') === -1 && !hasTurn; +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer); - if (validTurn) { - hasTurn = true; - return true; - } - return url.indexOf('stun:') === 0 && edgeVersion >= 14393 && url.indexOf('?transport=udp') === -1; - }); +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number'); + } + return Buffer(arg, encodingOrOffset, length); +}; - delete server.url; - server.urls = isString ? urls[0] : urls; - return !!urls.length; +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number'); + } + var buf = Buffer(size); + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding); + } else { + buf.fill(fill); } - }); -} + } else { + buf.fill(0); + } + return buf; +}; -// Determines the intersection of local and remote capabilities. -function getCommonCapabilities(localCapabilities, remoteCapabilities) { - var commonCapabilities = { - codecs: [], - headerExtensions: [], - fecMechanisms: [] - }; +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number'); + } + return Buffer(size); +}; - var findCodecByPayloadType = function findCodecByPayloadType(pt, codecs) { - pt = parseInt(pt, 10); - for (var i = 0; i < codecs.length; i++) { - if (codecs[i].payloadType === pt || codecs[i].preferredPayloadType === pt) { - return codecs[i]; - } - } - }; +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number'); + } + return buffer.SlowBuffer(size); +}; - var rtxCapabilityMatches = function rtxCapabilityMatches(lRtx, rRtx, lCodecs, rCodecs) { - var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs); - var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs); - return lCodec && rCodec && lCodec.name.toLowerCase() === rCodec.name.toLowerCase(); - }; +},{"buffer":256}],729:[function(require,module,exports){ +(function (Buffer){ +'use strict'; - localCapabilities.codecs.forEach(function (lCodec) { - for (var i = 0; i < remoteCapabilities.codecs.length; i++) { - var rCodec = remoteCapabilities.codecs[i]; - if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() && lCodec.clockRate === rCodec.clockRate) { - if (lCodec.name.toLowerCase() === 'rtx' && lCodec.parameters && rCodec.parameters.apt) { - // for RTX we need to find the local rtx that has a apt - // which points to the same local codec as the remote one. - if (!rtxCapabilityMatches(lCodec, rCodec, localCapabilities.codecs, remoteCapabilities.codecs)) { - continue; - } - } - rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy - // number of channels is the highest common number of channels - rCodec.numChannels = Math.min(lCodec.numChannels, rCodec.numChannels); - // push rCodec so we reply with offerer payload type - commonCapabilities.codecs.push(rCodec); +var crypto = require('crypto'); +/* eslint-disable camelcase */ - // determine common feedback mechanisms - rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function (fb) { - for (var j = 0; j < lCodec.rtcpFeedback.length; j++) { - if (lCodec.rtcpFeedback[j].type === fb.type && lCodec.rtcpFeedback[j].parameter === fb.parameter) { - return true; - } - } - return false; - }); - // FIXME: also need to determine .parameters - // see https://github.com/openpeer/ortc/issues/569 - break; - } - } - }); +var MAX_VALUE = 0x7fffffff; - localCapabilities.headerExtensions.forEach(function (lHeaderExtension) { - for (var i = 0; i < remoteCapabilities.headerExtensions.length; i++) { - var rHeaderExtension = remoteCapabilities.headerExtensions[i]; - if (lHeaderExtension.uri === rHeaderExtension.uri) { - commonCapabilities.headerExtensions.push(rHeaderExtension); - break; - } - } - }); +// N = Cpu cost, r = Memory cost, p = parallelization cost +function scrypt(key, salt, N, r, p, dkLen, progressCallback) { + if (N === 0 || (N & N - 1) !== 0) throw Error('N must be > 0 and a power of 2'); - // FIXME: fecMechanisms - return commonCapabilities; -} + if (N > MAX_VALUE / 128 / r) throw Error('Parameter N is too large'); + if (r > MAX_VALUE / 128 / p) throw Error('Parameter r is too large'); -// is action=setLocalDescription with type allowed in signalingState -function isActionAllowedInSignalingState(action, type, signalingState) { - return { - offer: { - setLocalDescription: ['stable', 'have-local-offer'], - setRemoteDescription: ['stable', 'have-remote-offer'] - }, - answer: { - setLocalDescription: ['have-remote-offer', 'have-local-pranswer'], - setRemoteDescription: ['have-local-offer', 'have-remote-pranswer'] - } - }[type][action].indexOf(signalingState) !== -1; -} + var XY = new Buffer(256 * r); + var V = new Buffer(128 * r * N); -function maybeAddCandidate(iceTransport, candidate) { - // Edge's internal representation adds some fields therefore - // not all fieldѕ are taken into account. - var alreadyAdded = iceTransport.getRemoteCandidates().find(function (remoteCandidate) { - return candidate.foundation === remoteCandidate.foundation && candidate.ip === remoteCandidate.ip && candidate.port === remoteCandidate.port && candidate.priority === remoteCandidate.priority && candidate.protocol === remoteCandidate.protocol && candidate.type === remoteCandidate.type; - }); - if (!alreadyAdded) { - iceTransport.addRemoteCandidate(candidate); - } - return !alreadyAdded; -} - -function makeError(name, description) { - var e = new Error(description); - e.name = name; - // legacy error codes from https://heycam.github.io/webidl/#idl-DOMException-error-names - e.code = { - NotSupportedError: 9, - InvalidStateError: 11, - InvalidAccessError: 15, - TypeError: undefined, - OperationError: undefined - }[name]; - return e; -} - -module.exports = function (window, edgeVersion) { - // https://w3c.github.io/mediacapture-main/#mediastream - // Helper function to add the track to the stream and - // dispatch the event ourselves. - function addTrackToStreamAndFireEvent(track, stream) { - stream.addTrack(track); - stream.dispatchEvent(new window.MediaStreamTrackEvent('addtrack', { track: track })); - } - - function removeTrackFromStreamAndFireEvent(track, stream) { - stream.removeTrack(track); - stream.dispatchEvent(new window.MediaStreamTrackEvent('removetrack', { track: track })); - } - - function fireAddTrack(pc, track, receiver, streams) { - var trackEvent = new Event('track'); - trackEvent.track = track; - trackEvent.receiver = receiver; - trackEvent.transceiver = { receiver: receiver }; - trackEvent.streams = streams; - window.setTimeout(function () { - pc._dispatchEvent('track', trackEvent); - }); - } + // pseudo global + var B32 = new Int32Array(16); // salsa20_8 + var x = new Int32Array(16); // salsa20_8 + var _X = new Buffer(64); // blockmix_salsa8 - var RTCPeerConnection = function RTCPeerConnection(config) { - var pc = this; + // pseudo global + var B = crypto.pbkdf2Sync(key, salt, 1, p * 128 * r, 'sha256'); - var _eventTarget = document.createDocumentFragment(); - ['addEventListener', 'removeEventListener', 'dispatchEvent'].forEach(function (method) { - pc[method] = _eventTarget[method].bind(_eventTarget); - }); + var tickCallback; + if (progressCallback) { + var totalOps = p * N * 2; + var currentOp = 0; - this.canTrickleIceCandidates = null; + tickCallback = function tickCallback() { + ++currentOp; - this.needNegotiation = false; + // send progress notifications once every 1,000 ops + if (currentOp % 1000 === 0) { + progressCallback({ + current: currentOp, + total: totalOps, + percent: currentOp / totalOps * 100.0 + }); + } + }; + } - this.localStreams = []; - this.remoteStreams = []; + for (var i = 0; i < p; i++) { + smix(B, i * 128 * r, r, N, V, XY); + } - this._localDescription = null; - this._remoteDescription = null; + return crypto.pbkdf2Sync(key, B, 1, dkLen, 'sha256'); - this.signalingState = 'stable'; - this.iceConnectionState = 'new'; - this.connectionState = 'new'; - this.iceGatheringState = 'new'; + // all of these functions are actually moved to the top + // due to function hoisting - config = JSON.parse(JSON.stringify(config || {})); + function smix(B, Bi, r, N, V, XY) { + var Xi = 0; + var Yi = 128 * r; + var i; - this.usingBundle = config.bundlePolicy === 'max-bundle'; - if (config.rtcpMuxPolicy === 'negotiate') { - throw makeError('NotSupportedError', 'rtcpMuxPolicy \'negotiate\' is not supported'); - } else if (!config.rtcpMuxPolicy) { - config.rtcpMuxPolicy = 'require'; - } + B.copy(XY, Xi, Bi, Bi + Yi); - switch (config.iceTransportPolicy) { - case 'all': - case 'relay': - break; - default: - config.iceTransportPolicy = 'all'; - break; - } + for (i = 0; i < N; i++) { + XY.copy(V, i * Yi, Xi, Xi + Yi); + blockmix_salsa8(XY, Xi, Yi, r); - switch (config.bundlePolicy) { - case 'balanced': - case 'max-compat': - case 'max-bundle': - break; - default: - config.bundlePolicy = 'balanced'; - break; + if (tickCallback) tickCallback(); } - config.iceServers = filterIceServers(config.iceServers || [], edgeVersion); + for (i = 0; i < N; i++) { + var offset = Xi + (2 * r - 1) * 64; + var j = XY.readUInt32LE(offset) & N - 1; + blockxor(V, j * Yi, XY, Xi, Yi); + blockmix_salsa8(XY, Xi, Yi, r); - this._iceGatherers = []; - if (config.iceCandidatePoolSize) { - for (var i = config.iceCandidatePoolSize; i > 0; i--) { - this._iceGatherers.push(new window.RTCIceGatherer({ - iceServers: config.iceServers, - gatherPolicy: config.iceTransportPolicy - })); - } - } else { - config.iceCandidatePoolSize = 0; + if (tickCallback) tickCallback(); } - this._config = config; - - // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ... - // everything that is needed to describe a SDP m-line. - this.transceivers = []; - - this._sdpSessionId = SDPUtils.generateSessionId(); - this._sdpSessionVersion = 0; + XY.copy(B, Bi, Xi, Xi + Yi); + } - this._dtlsRole = undefined; // role for a=setup to use in answers. + function blockmix_salsa8(BY, Bi, Yi, r) { + var i; - this._isClosed = false; - }; + arraycopy(BY, Bi + (2 * r - 1) * 64, _X, 0, 64); - Object.defineProperty(RTCPeerConnection.prototype, 'localDescription', { - configurable: true, - get: function get() { - return this._localDescription; - } - }); - Object.defineProperty(RTCPeerConnection.prototype, 'remoteDescription', { - configurable: true, - get: function get() { - return this._remoteDescription; + for (i = 0; i < 2 * r; i++) { + blockxor(BY, i * 64, _X, 0, 64); + salsa20_8(_X); + arraycopy(_X, 0, BY, Yi + i * 64, 64); } - }); - // set up event handlers on prototype - RTCPeerConnection.prototype.onicecandidate = null; - RTCPeerConnection.prototype.onaddstream = null; - RTCPeerConnection.prototype.ontrack = null; - RTCPeerConnection.prototype.onremovestream = null; - RTCPeerConnection.prototype.onsignalingstatechange = null; - RTCPeerConnection.prototype.oniceconnectionstatechange = null; - RTCPeerConnection.prototype.onconnectionstatechange = null; - RTCPeerConnection.prototype.onicegatheringstatechange = null; - RTCPeerConnection.prototype.onnegotiationneeded = null; - RTCPeerConnection.prototype.ondatachannel = null; - - RTCPeerConnection.prototype._dispatchEvent = function (name, event) { - if (this._isClosed) { - return; + for (i = 0; i < r; i++) { + arraycopy(BY, Yi + i * 2 * 64, BY, Bi + i * 64, 64); } - this.dispatchEvent(event); - if (typeof this['on' + name] === 'function') { - this['on' + name](event); + + for (i = 0; i < r; i++) { + arraycopy(BY, Yi + (i * 2 + 1) * 64, BY, Bi + (i + r) * 64, 64); } - }; + } - RTCPeerConnection.prototype._emitGatheringStateChange = function () { - var event = new Event('icegatheringstatechange'); - this._dispatchEvent('icegatheringstatechange', event); - }; + function R(a, b) { + return a << b | a >>> 32 - b; + } - RTCPeerConnection.prototype.getConfiguration = function () { - return this._config; - }; + function salsa20_8(B) { + var i; - RTCPeerConnection.prototype.getLocalStreams = function () { - return this.localStreams; - }; + for (i = 0; i < 16; i++) { + B32[i] = (B[i * 4 + 0] & 0xff) << 0; + B32[i] |= (B[i * 4 + 1] & 0xff) << 8; + B32[i] |= (B[i * 4 + 2] & 0xff) << 16; + B32[i] |= (B[i * 4 + 3] & 0xff) << 24; + // B32[i] = B.readUInt32LE(i*4) <--- this is signficantly slower even in Node.js + } - RTCPeerConnection.prototype.getRemoteStreams = function () { - return this.remoteStreams; - }; + arraycopy(B32, 0, x, 0, 16); - // internal helper to create a transceiver object. - // (which is not yet the same as the WebRTC 1.0 transceiver) - RTCPeerConnection.prototype._createTransceiver = function (kind, doNotAdd) { - var hasBundleTransport = this.transceivers.length > 0; - var transceiver = { - track: null, - iceGatherer: null, - iceTransport: null, - dtlsTransport: null, - localCapabilities: null, - remoteCapabilities: null, - rtpSender: null, - rtpReceiver: null, - kind: kind, - mid: null, - sendEncodingParameters: null, - recvEncodingParameters: null, - stream: null, - associatedRemoteMediaStreams: [], - wantReceive: true - }; - if (this.usingBundle && hasBundleTransport) { - transceiver.iceTransport = this.transceivers[0].iceTransport; - transceiver.dtlsTransport = this.transceivers[0].dtlsTransport; - } else { - var transports = this._createIceAndDtlsTransports(); - transceiver.iceTransport = transports.iceTransport; - transceiver.dtlsTransport = transports.dtlsTransport; - } - if (!doNotAdd) { - this.transceivers.push(transceiver); + for (i = 8; i > 0; i -= 2) { + x[4] ^= R(x[0] + x[12], 7); + x[8] ^= R(x[4] + x[0], 9); + x[12] ^= R(x[8] + x[4], 13); + x[0] ^= R(x[12] + x[8], 18); + x[9] ^= R(x[5] + x[1], 7); + x[13] ^= R(x[9] + x[5], 9); + x[1] ^= R(x[13] + x[9], 13); + x[5] ^= R(x[1] + x[13], 18); + x[14] ^= R(x[10] + x[6], 7); + x[2] ^= R(x[14] + x[10], 9); + x[6] ^= R(x[2] + x[14], 13); + x[10] ^= R(x[6] + x[2], 18); + x[3] ^= R(x[15] + x[11], 7); + x[7] ^= R(x[3] + x[15], 9); + x[11] ^= R(x[7] + x[3], 13); + x[15] ^= R(x[11] + x[7], 18); + x[1] ^= R(x[0] + x[3], 7); + x[2] ^= R(x[1] + x[0], 9); + x[3] ^= R(x[2] + x[1], 13); + x[0] ^= R(x[3] + x[2], 18); + x[6] ^= R(x[5] + x[4], 7); + x[7] ^= R(x[6] + x[5], 9); + x[4] ^= R(x[7] + x[6], 13); + x[5] ^= R(x[4] + x[7], 18); + x[11] ^= R(x[10] + x[9], 7); + x[8] ^= R(x[11] + x[10], 9); + x[9] ^= R(x[8] + x[11], 13); + x[10] ^= R(x[9] + x[8], 18); + x[12] ^= R(x[15] + x[14], 7); + x[13] ^= R(x[12] + x[15], 9); + x[14] ^= R(x[13] + x[12], 13); + x[15] ^= R(x[14] + x[13], 18); } - return transceiver; - }; - RTCPeerConnection.prototype.addTrack = function (track, stream) { - if (this._isClosed) { - throw makeError('InvalidStateError', 'Attempted to call addTrack on a closed peerconnection.'); + for (i = 0; i < 16; ++i) { + B32[i] = x[i] + B32[i]; + }for (i = 0; i < 16; i++) { + var bi = i * 4; + B[bi + 0] = B32[i] >> 0 & 0xff; + B[bi + 1] = B32[i] >> 8 & 0xff; + B[bi + 2] = B32[i] >> 16 & 0xff; + B[bi + 3] = B32[i] >> 24 & 0xff; + // B.writeInt32LE(B32[i], i*4) //<--- this is signficantly slower even in Node.js } + } - var alreadyExists = this.transceivers.find(function (s) { - return s.track === track; - }); - - if (alreadyExists) { - throw makeError('InvalidAccessError', 'Track already exists.'); + // naive approach... going back to loop unrolling may yield additional performance + function blockxor(S, Si, D, Di, len) { + for (var i = 0; i < len; i++) { + D[Di + i] ^= S[Si + i]; } + } +} - var transceiver; - for (var i = 0; i < this.transceivers.length; i++) { - if (!this.transceivers[i].track && this.transceivers[i].kind === track.kind) { - transceiver = this.transceivers[i]; - } - } - if (!transceiver) { - transceiver = this._createTransceiver(track.kind); +function arraycopy(src, srcPos, dest, destPos, length) { + if (Buffer.isBuffer(src) && Buffer.isBuffer(dest)) { + src.copy(dest, destPos, srcPos, srcPos + length); + } else { + while (length--) { + dest[destPos++] = src[srcPos++]; } + } +} - this._maybeFireNegotiationNeeded(); +module.exports = scrypt; - if (this.localStreams.indexOf(stream) === -1) { - this.localStreams.push(stream); - } +}).call(this,require("buffer").Buffer) +},{"buffer":256,"crypto":597}],730:[function(require,module,exports){ +'use strict'; - transceiver.track = track; - transceiver.stream = stream; - transceiver.rtpSender = new window.RTCRtpSender(track, transceiver.dtlsTransport); - return transceiver.rtpSender; - }; +module.exports = require('./lib')(require('./lib/elliptic')); - RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - if (edgeVersion >= 15025) { - stream.getTracks().forEach(function (track) { - pc.addTrack(track, stream); - }); - } else { - // Clone is necessary for local demos mostly, attaching directly - // to two different senders does not work (build 10547). - // Fixed in 15025 (or earlier) - var clonedStream = stream.clone(); - stream.getTracks().forEach(function (track, idx) { - var clonedTrack = clonedStream.getTracks()[idx]; - track.addEventListener('enabled', function (event) { - clonedTrack.enabled = event.enabled; - }); - }); - clonedStream.getTracks().forEach(function (track) { - pc.addTrack(track, clonedStream); - }); - } - }; +},{"./lib":734,"./lib/elliptic":733}],731:[function(require,module,exports){ +(function (Buffer){ +'use strict'; - RTCPeerConnection.prototype.removeTrack = function (sender) { - if (this._isClosed) { - throw makeError('InvalidStateError', 'Attempted to call removeTrack on a closed peerconnection.'); - } +var toString = Object.prototype.toString; - if (!(sender instanceof window.RTCRtpSender)) { - throw new TypeError('Argument 1 of RTCPeerConnection.removeTrack ' + 'does not implement interface RTCRtpSender.'); - } +// TypeError +exports.isArray = function (value, message) { + if (!Array.isArray(value)) throw TypeError(message); +}; - var transceiver = this.transceivers.find(function (t) { - return t.rtpSender === sender; - }); +exports.isBoolean = function (value, message) { + if (toString.call(value) !== '[object Boolean]') throw TypeError(message); +}; - if (!transceiver) { - throw makeError('InvalidAccessError', 'Sender was not created by this connection.'); - } - var stream = transceiver.stream; +exports.isBuffer = function (value, message) { + if (!Buffer.isBuffer(value)) throw TypeError(message); +}; - transceiver.rtpSender.stop(); - transceiver.rtpSender = null; - transceiver.track = null; - transceiver.stream = null; +exports.isFunction = function (value, message) { + if (toString.call(value) !== '[object Function]') throw TypeError(message); +}; - // remove the stream from the set of local streams - var localStreams = this.transceivers.map(function (t) { - return t.stream; - }); - if (localStreams.indexOf(stream) === -1 && this.localStreams.indexOf(stream) > -1) { - this.localStreams.splice(this.localStreams.indexOf(stream), 1); - } +exports.isNumber = function (value, message) { + if (toString.call(value) !== '[object Number]') throw TypeError(message); +}; - this._maybeFireNegotiationNeeded(); - }; +exports.isObject = function (value, message) { + if (toString.call(value) !== '[object Object]') throw TypeError(message); +}; - RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - stream.getTracks().forEach(function (track) { - var sender = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (sender) { - pc.removeTrack(sender); - } - }); - }; +// RangeError +exports.isBufferLength = function (buffer, length, message) { + if (buffer.length !== length) throw RangeError(message); +}; - RTCPeerConnection.prototype.getSenders = function () { - return this.transceivers.filter(function (transceiver) { - return !!transceiver.rtpSender; - }).map(function (transceiver) { - return transceiver.rtpSender; - }); - }; +exports.isBufferLength2 = function (buffer, length1, length2, message) { + if (buffer.length !== length1 && buffer.length !== length2) throw RangeError(message); +}; - RTCPeerConnection.prototype.getReceivers = function () { - return this.transceivers.filter(function (transceiver) { - return !!transceiver.rtpReceiver; - }).map(function (transceiver) { - return transceiver.rtpReceiver; - }); - }; +exports.isLengthGTZero = function (value, message) { + if (value.length === 0) throw RangeError(message); +}; - RTCPeerConnection.prototype._createIceGatherer = function (sdpMLineIndex, usingBundle) { - var pc = this; - if (usingBundle && sdpMLineIndex > 0) { - return this.transceivers[0].iceGatherer; - } else if (this._iceGatherers.length) { - return this._iceGatherers.shift(); - } - var iceGatherer = new window.RTCIceGatherer({ - iceServers: this._config.iceServers, - gatherPolicy: this._config.iceTransportPolicy - }); - Object.defineProperty(iceGatherer, 'state', { value: 'new', writable: true }); +exports.isNumberInInterval = function (number, x, y, message) { + if (number <= x || number >= y) throw RangeError(message); +}; - this.transceivers[sdpMLineIndex].bufferedCandidateEvents = []; - this.transceivers[sdpMLineIndex].bufferCandidates = function (event) { - var end = !event.candidate || Object.keys(event.candidate).length === 0; - // polyfill since RTCIceGatherer.state is not implemented in - // Edge 10547 yet. - iceGatherer.state = end ? 'completed' : 'gathering'; - if (pc.transceivers[sdpMLineIndex].bufferedCandidateEvents !== null) { - pc.transceivers[sdpMLineIndex].bufferedCandidateEvents.push(event); - } - }; - iceGatherer.addEventListener('localcandidate', this.transceivers[sdpMLineIndex].bufferCandidates); - return iceGatherer; - }; +}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) +},{"../../is-buffer/index.js":672}],732:[function(require,module,exports){ +'use strict'; - // start gathering from an RTCIceGatherer. - RTCPeerConnection.prototype._gather = function (mid, sdpMLineIndex) { - var pc = this; - var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer; - if (iceGatherer.onlocalcandidate) { - return; - } - var bufferedCandidateEvents = this.transceivers[sdpMLineIndex].bufferedCandidateEvents; - this.transceivers[sdpMLineIndex].bufferedCandidateEvents = null; - iceGatherer.removeEventListener('localcandidate', this.transceivers[sdpMLineIndex].bufferCandidates); - iceGatherer.onlocalcandidate = function (evt) { - if (pc.usingBundle && sdpMLineIndex > 0) { - // if we know that we use bundle we can drop candidates with - // ѕdpMLineIndex > 0. If we don't do this then our state gets - // confused since we dispose the extra ice gatherer. - return; - } - var event = new Event('icecandidate'); - event.candidate = { sdpMid: mid, sdpMLineIndex: sdpMLineIndex }; +var Buffer = require('safe-buffer').Buffer; +var bip66 = require('bip66'); - var cand = evt.candidate; - // Edge emits an empty object for RTCIceCandidateComplete‥ - var end = !cand || Object.keys(cand).length === 0; - if (end) { - // polyfill since RTCIceGatherer.state is not implemented in - // Edge 10547 yet. - if (iceGatherer.state === 'new' || iceGatherer.state === 'gathering') { - iceGatherer.state = 'completed'; - } - } else { - if (iceGatherer.state === 'new') { - iceGatherer.state = 'gathering'; - } - // RTCIceCandidate doesn't have a component, needs to be added - cand.component = 1; - // also the usernameFragment. TODO: update SDP to take both variants. - cand.ufrag = iceGatherer.getLocalParameters().usernameFragment; +var EC_PRIVKEY_EXPORT_DER_COMPRESSED = Buffer.from([ +// begin +0x30, 0x81, 0xd3, 0x02, 0x01, 0x01, 0x04, 0x20, +// private key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// middle +0xa0, 0x81, 0x85, 0x30, 0x81, 0x82, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x21, 0x02, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x24, 0x03, 0x22, 0x00, +// public key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); - var serializedCandidate = SDPUtils.writeCandidate(cand); - event.candidate = Object.assign(event.candidate, SDPUtils.parseCandidate(serializedCandidate)); +var EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED = Buffer.from([ +// begin +0x30, 0x82, 0x01, 0x13, 0x02, 0x01, 0x01, 0x04, 0x20, +// private key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// middle +0xa0, 0x81, 0xa5, 0x30, 0x81, 0xa2, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x41, 0x04, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x48, 0x3a, 0xda, 0x77, 0x26, 0xa3, 0xc4, 0x65, 0x5d, 0xa4, 0xfb, 0xfc, 0x0E, 0x11, 0x08, 0xa8, 0xfd, 0x17, 0xb4, 0x48, 0xa6, 0x85, 0x54, 0x19, 0x9c, 0x47, 0xd0, 0x8f, 0xfb, 0x10, 0xd4, 0xb8, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x44, 0x03, 0x42, 0x00, +// public key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); - event.candidate.candidate = serializedCandidate; - event.candidate.toJSON = function () { - return { - candidate: event.candidate.candidate, - sdpMid: event.candidate.sdpMid, - sdpMLineIndex: event.candidate.sdpMLineIndex, - usernameFragment: event.candidate.usernameFragment - }; - }; - } +exports.privateKeyExport = function (privateKey, publicKey, compressed) { + var result = Buffer.from(compressed ? EC_PRIVKEY_EXPORT_DER_COMPRESSED : EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED); + privateKey.copy(result, compressed ? 8 : 9); + publicKey.copy(result, compressed ? 181 : 214); + return result; +}; - // update local description. - var sections = SDPUtils.getMediaSections(pc._localDescription.sdp); - if (!end) { - sections[event.candidate.sdpMLineIndex] += 'a=' + event.candidate.candidate + '\r\n'; - } else { - sections[event.candidate.sdpMLineIndex] += 'a=end-of-candidates\r\n'; - } - pc._localDescription.sdp = SDPUtils.getDescription(pc._localDescription.sdp) + sections.join(''); - var complete = pc.transceivers.every(function (transceiver) { - return transceiver.iceGatherer && transceiver.iceGatherer.state === 'completed'; - }); +exports.privateKeyImport = function (privateKey) { + var length = privateKey.length; - if (pc.iceGatheringState !== 'gathering') { - pc.iceGatheringState = 'gathering'; - pc._emitGatheringStateChange(); - } + // sequence header + var index = 0; + if (length < index + 1 || privateKey[index] !== 0x30) return; + index += 1; - // Emit candidate. Also emit null candidate when all gatherers are - // complete. - if (!end) { - pc._dispatchEvent('icecandidate', event); - } - if (complete) { - pc._dispatchEvent('icecandidate', new Event('icecandidate')); - pc.iceGatheringState = 'complete'; - pc._emitGatheringStateChange(); - } - }; + // sequence length constructor + if (length < index + 1 || !(privateKey[index] & 0x80)) return; - // emit already gathered candidates. - window.setTimeout(function () { - bufferedCandidateEvents.forEach(function (e) { - iceGatherer.onlocalcandidate(e); - }); - }, 0); - }; + var lenb = privateKey[index] & 0x7f; + index += 1; + if (lenb < 1 || lenb > 2) return; + if (length < index + lenb) return; - // Create ICE transport and DTLS transport. - RTCPeerConnection.prototype._createIceAndDtlsTransports = function () { - var pc = this; - var iceTransport = new window.RTCIceTransport(null); - iceTransport.onicestatechange = function () { - pc._updateIceConnectionState(); - pc._updateConnectionState(); - }; + // sequence length + var len = privateKey[index + lenb - 1] | (lenb > 1 ? privateKey[index + lenb - 2] << 8 : 0); + index += lenb; + if (length < index + len) return; - var dtlsTransport = new window.RTCDtlsTransport(iceTransport); - dtlsTransport.ondtlsstatechange = function () { - pc._updateConnectionState(); - }; - dtlsTransport.onerror = function () { - // onerror does not set state to failed by itself. - Object.defineProperty(dtlsTransport, 'state', { value: 'failed', writable: true }); - pc._updateConnectionState(); - }; + // sequence element 0: version number (=1) + if (length < index + 3 || privateKey[index] !== 0x02 || privateKey[index + 1] !== 0x01 || privateKey[index + 2] !== 0x01) { + return; + } + index += 3; - return { - iceTransport: iceTransport, - dtlsTransport: dtlsTransport - }; - }; + // sequence element 1: octet string, up to 32 bytes + if (length < index + 2 || privateKey[index] !== 0x04 || privateKey[index + 1] > 0x20 || length < index + 2 + privateKey[index + 1]) { + return; + } - // Destroy ICE gatherer, ICE transport and DTLS transport. - // Without triggering the callbacks. - RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function (sdpMLineIndex) { - var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer; - if (iceGatherer) { - delete iceGatherer.onlocalcandidate; - delete this.transceivers[sdpMLineIndex].iceGatherer; - } - var iceTransport = this.transceivers[sdpMLineIndex].iceTransport; - if (iceTransport) { - delete iceTransport.onicestatechange; - delete this.transceivers[sdpMLineIndex].iceTransport; - } - var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport; - if (dtlsTransport) { - delete dtlsTransport.ondtlsstatechange; - delete dtlsTransport.onerror; - delete this.transceivers[sdpMLineIndex].dtlsTransport; - } - }; + return privateKey.slice(index + 2, index + 2 + privateKey[index + 1]); +}; - // Start the RTP Sender and Receiver for a transceiver. - RTCPeerConnection.prototype._transceive = function (transceiver, send, recv) { - var params = getCommonCapabilities(transceiver.localCapabilities, transceiver.remoteCapabilities); - if (send && transceiver.rtpSender) { - params.encodings = transceiver.sendEncodingParameters; - params.rtcp = { - cname: SDPUtils.localCName, - compound: transceiver.rtcpParameters.compound - }; - if (transceiver.recvEncodingParameters.length) { - params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc; - } - transceiver.rtpSender.send(params); - } - if (recv && transceiver.rtpReceiver && params.codecs.length > 0) { - // remove RTX field in Edge 14942 - if (transceiver.kind === 'video' && transceiver.recvEncodingParameters && edgeVersion < 15019) { - transceiver.recvEncodingParameters.forEach(function (p) { - delete p.rtx; - }); - } - if (transceiver.recvEncodingParameters.length) { - params.encodings = transceiver.recvEncodingParameters; - } else { - params.encodings = [{}]; - } - params.rtcp = { - compound: transceiver.rtcpParameters.compound - }; - if (transceiver.rtcpParameters.cname) { - params.rtcp.cname = transceiver.rtcpParameters.cname; - } - if (transceiver.sendEncodingParameters.length) { - params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc; - } - transceiver.rtpReceiver.receive(params); - } - }; +exports.signatureExport = function (sigObj) { + var r = Buffer.concat([Buffer.from([0]), sigObj.r]); + for (var lenR = 33, posR = 0; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR) {} - RTCPeerConnection.prototype.setLocalDescription = function (description) { - var pc = this; + var s = Buffer.concat([Buffer.from([0]), sigObj.s]); + for (var lenS = 33, posS = 0; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS) {} - // Note: pranswer is not supported. - if (['offer', 'answer'].indexOf(description.type) === -1) { - return Promise.reject(makeError('TypeError', 'Unsupported type "' + description.type + '"')); - } + return bip66.encode(r.slice(posR), s.slice(posS)); +}; - if (!isActionAllowedInSignalingState('setLocalDescription', description.type, pc.signalingState) || pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not set local ' + description.type + ' in state ' + pc.signalingState)); - } +exports.signatureImport = function (sig) { + var r = Buffer.alloc(32, 0); + var s = Buffer.alloc(32, 0); - var sections; - var sessionpart; - if (description.type === 'offer') { - // VERY limited support for SDP munging. Limited to: - // * changing the order of codecs - sections = SDPUtils.splitSections(description.sdp); - sessionpart = sections.shift(); - sections.forEach(function (mediaSection, sdpMLineIndex) { - var caps = SDPUtils.parseRtpParameters(mediaSection); - pc.transceivers[sdpMLineIndex].localCapabilities = caps; - }); + try { + var sigObj = bip66.decode(sig); + if (sigObj.r.length === 33 && sigObj.r[0] === 0x00) sigObj.r = sigObj.r.slice(1); + if (sigObj.r.length > 32) throw new Error('R length is too long'); + if (sigObj.s.length === 33 && sigObj.s[0] === 0x00) sigObj.s = sigObj.s.slice(1); + if (sigObj.s.length > 32) throw new Error('S length is too long'); + } catch (err) { + return; + } - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - pc._gather(transceiver.mid, sdpMLineIndex); - }); - } else if (description.type === 'answer') { - sections = SDPUtils.splitSections(pc._remoteDescription.sdp); - sessionpart = sections.shift(); - var isIceLite = SDPUtils.matchPrefix(sessionpart, 'a=ice-lite').length > 0; - sections.forEach(function (mediaSection, sdpMLineIndex) { - var transceiver = pc.transceivers[sdpMLineIndex]; - var iceGatherer = transceiver.iceGatherer; - var iceTransport = transceiver.iceTransport; - var dtlsTransport = transceiver.dtlsTransport; - var localCapabilities = transceiver.localCapabilities; - var remoteCapabilities = transceiver.remoteCapabilities; - - // treat bundle-only as not-rejected. - var rejected = SDPUtils.isRejected(mediaSection) && SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0; - - if (!rejected && !transceiver.rejected) { - var remoteIceParameters = SDPUtils.getIceParameters(mediaSection, sessionpart); - var remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection, sessionpart); - if (isIceLite) { - remoteDtlsParameters.role = 'server'; - } + sigObj.r.copy(r, 32 - sigObj.r.length); + sigObj.s.copy(s, 32 - sigObj.s.length); - if (!pc.usingBundle || sdpMLineIndex === 0) { - pc._gather(transceiver.mid, sdpMLineIndex); - if (iceTransport.state === 'new') { - iceTransport.start(iceGatherer, remoteIceParameters, isIceLite ? 'controlling' : 'controlled'); - } - if (dtlsTransport.state === 'new') { - dtlsTransport.start(remoteDtlsParameters); - } - } + return { r: r, s: s }; +}; - // Calculate intersection of capabilities. - var params = getCommonCapabilities(localCapabilities, remoteCapabilities); +exports.signatureImportLax = function (sig) { + var r = Buffer.alloc(32, 0); + var s = Buffer.alloc(32, 0); - // Start the RTCRtpSender. The RTCRtpReceiver for this - // transceiver has already been started in setRemoteDescription. - pc._transceive(transceiver, params.codecs.length > 0, false); - } - }); - } + var length = sig.length; + var index = 0; - pc._localDescription = { - type: description.type, - sdp: description.sdp - }; - if (description.type === 'offer') { - pc._updateSignalingState('have-local-offer'); - } else { - pc._updateSignalingState('stable'); - } + // sequence tag byte + if (sig[index++] !== 0x30) return; - return Promise.resolve(); - }; + // sequence length byte + var lenbyte = sig[index++]; + if (lenbyte & 0x80) { + index += lenbyte - 0x80; + if (index > length) return; + } - RTCPeerConnection.prototype.setRemoteDescription = function (description) { - var pc = this; + // sequence tag byte for r + if (sig[index++] !== 0x02) return; - // Note: pranswer is not supported. - if (['offer', 'answer'].indexOf(description.type) === -1) { - return Promise.reject(makeError('TypeError', 'Unsupported type "' + description.type + '"')); + // length for r + var rlen = sig[index++]; + if (rlen & 0x80) { + lenbyte = rlen - 0x80; + if (index + lenbyte > length) return; + for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} + for (rlen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { + rlen = (rlen << 8) + sig[index]; } + } + if (rlen > length - index) return; + var rindex = index; + index += rlen; - if (!isActionAllowedInSignalingState('setRemoteDescription', description.type, pc.signalingState) || pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not set remote ' + description.type + ' in state ' + pc.signalingState)); + // sequence tag byte for s + if (sig[index++] !== 0x02) return; + + // length for s + var slen = sig[index++]; + if (slen & 0x80) { + lenbyte = slen - 0x80; + if (index + lenbyte > length) return; + for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} + for (slen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { + slen = (slen << 8) + sig[index]; } + } + if (slen > length - index) return; + var sindex = index; + index += slen; - var streams = {}; - pc.remoteStreams.forEach(function (stream) { - streams[stream.id] = stream; - }); - var receiverList = []; - var sections = SDPUtils.splitSections(description.sdp); - var sessionpart = sections.shift(); - var isIceLite = SDPUtils.matchPrefix(sessionpart, 'a=ice-lite').length > 0; - var usingBundle = SDPUtils.matchPrefix(sessionpart, 'a=group:BUNDLE ').length > 0; - pc.usingBundle = usingBundle; - var iceOptions = SDPUtils.matchPrefix(sessionpart, 'a=ice-options:')[0]; - if (iceOptions) { - pc.canTrickleIceCandidates = iceOptions.substr(14).split(' ').indexOf('trickle') >= 0; - } else { - pc.canTrickleIceCandidates = false; - } - - sections.forEach(function (mediaSection, sdpMLineIndex) { - var lines = SDPUtils.splitLines(mediaSection); - var kind = SDPUtils.getKind(mediaSection); - // treat bundle-only as not-rejected. - var rejected = SDPUtils.isRejected(mediaSection) && SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0; - var protocol = lines[0].substr(2).split(' ')[2]; - - var direction = SDPUtils.getDirection(mediaSection, sessionpart); - var remoteMsid = SDPUtils.parseMsid(mediaSection); - - var mid = SDPUtils.getMid(mediaSection) || SDPUtils.generateIdentifier(); - - // Reject datachannels which are not implemented yet. - if (rejected || kind === 'application' && (protocol === 'DTLS/SCTP' || protocol === 'UDP/DTLS/SCTP')) { - // TODO: this is dangerous in the case where a non-rejected m-line - // becomes rejected. - pc.transceivers[sdpMLineIndex] = { - mid: mid, - kind: kind, - protocol: protocol, - rejected: true - }; - return; - } + // ignore leading zeros in r + for (; rlen > 0 && sig[rindex] === 0x00; rlen -= 1, rindex += 1) {} + // copy r value + if (rlen > 32) return; + var rvalue = sig.slice(rindex, rindex + rlen); + rvalue.copy(r, 32 - rvalue.length); - if (!rejected && pc.transceivers[sdpMLineIndex] && pc.transceivers[sdpMLineIndex].rejected) { - // recycle a rejected transceiver. - pc.transceivers[sdpMLineIndex] = pc._createTransceiver(kind, true); - } + // ignore leading zeros in s + for (; slen > 0 && sig[sindex] === 0x00; slen -= 1, sindex += 1) {} + // copy s value + if (slen > 32) return; + var svalue = sig.slice(sindex, sindex + slen); + svalue.copy(s, 32 - svalue.length); - var transceiver; - var iceGatherer; - var iceTransport; - var dtlsTransport; - var rtpReceiver; - var sendEncodingParameters; - var recvEncodingParameters; - var localCapabilities; + return { r: r, s: s }; +}; - var track; - // FIXME: ensure the mediaSection has rtcp-mux set. - var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection); - var remoteIceParameters; - var remoteDtlsParameters; - if (!rejected) { - remoteIceParameters = SDPUtils.getIceParameters(mediaSection, sessionpart); - remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection, sessionpart); - remoteDtlsParameters.role = 'client'; - } - recvEncodingParameters = SDPUtils.parseRtpEncodingParameters(mediaSection); +},{"bip66":224,"safe-buffer":728}],733:[function(require,module,exports){ +'use strict'; - var rtcpParameters = SDPUtils.parseRtcpParameters(mediaSection); +var Buffer = require('safe-buffer').Buffer; +var createHash = require('create-hash'); +var BN = require('bn.js'); +var EC = require('elliptic').ec; - var isComplete = SDPUtils.matchPrefix(mediaSection, 'a=end-of-candidates', sessionpart).length > 0; - var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:').map(function (cand) { - return SDPUtils.parseCandidate(cand); - }).filter(function (cand) { - return cand.component === 1; - }); +var messages = require('../messages.json'); - // Check if we can use BUNDLE and dispose transports. - if ((description.type === 'offer' || description.type === 'answer') && !rejected && usingBundle && sdpMLineIndex > 0 && pc.transceivers[sdpMLineIndex]) { - pc._disposeIceAndDtlsTransports(sdpMLineIndex); - pc.transceivers[sdpMLineIndex].iceGatherer = pc.transceivers[0].iceGatherer; - pc.transceivers[sdpMLineIndex].iceTransport = pc.transceivers[0].iceTransport; - pc.transceivers[sdpMLineIndex].dtlsTransport = pc.transceivers[0].dtlsTransport; - if (pc.transceivers[sdpMLineIndex].rtpSender) { - pc.transceivers[sdpMLineIndex].rtpSender.setTransport(pc.transceivers[0].dtlsTransport); - } - if (pc.transceivers[sdpMLineIndex].rtpReceiver) { - pc.transceivers[sdpMLineIndex].rtpReceiver.setTransport(pc.transceivers[0].dtlsTransport); - } - } - if (description.type === 'offer' && !rejected) { - transceiver = pc.transceivers[sdpMLineIndex] || pc._createTransceiver(kind); - transceiver.mid = mid; +var ec = new EC('secp256k1'); +var ecparams = ec.curve; - if (!transceiver.iceGatherer) { - transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex, usingBundle); - } +function loadCompressedPublicKey(first, xBuffer) { + var x = new BN(xBuffer); - if (cands.length && transceiver.iceTransport.state === 'new') { - if (isComplete && (!usingBundle || sdpMLineIndex === 0)) { - transceiver.iceTransport.setRemoteCandidates(cands); - } else { - cands.forEach(function (candidate) { - maybeAddCandidate(transceiver.iceTransport, candidate); - }); - } - } + // overflow + if (x.cmp(ecparams.p) >= 0) return null; + x = x.toRed(ecparams.red); - localCapabilities = window.RTCRtpReceiver.getCapabilities(kind); + // compute corresponding Y + var y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt(); + if (first === 0x03 !== y.isOdd()) y = y.redNeg(); - // filter RTX until additional stuff needed for RTX is implemented - // in adapter.js - if (edgeVersion < 15019) { - localCapabilities.codecs = localCapabilities.codecs.filter(function (codec) { - return codec.name !== 'rtx'; - }); - } + return ec.keyPair({ pub: { x: x, y: y } }); +} - sendEncodingParameters = transceiver.sendEncodingParameters || [{ - ssrc: (2 * sdpMLineIndex + 2) * 1001 - }]; - - // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams - var isNewTrack = false; - if (direction === 'sendrecv' || direction === 'sendonly') { - isNewTrack = !transceiver.rtpReceiver; - rtpReceiver = transceiver.rtpReceiver || new window.RTCRtpReceiver(transceiver.dtlsTransport, kind); - - if (isNewTrack) { - var stream; - track = rtpReceiver.track; - // FIXME: does not work with Plan B. - if (remoteMsid && remoteMsid.stream === '-') { - // no-op. a stream id of '-' means: no associated stream. - } else if (remoteMsid) { - if (!streams[remoteMsid.stream]) { - streams[remoteMsid.stream] = new window.MediaStream(); - Object.defineProperty(streams[remoteMsid.stream], 'id', { - get: function get() { - return remoteMsid.stream; - } - }); - } - Object.defineProperty(track, 'id', { - get: function get() { - return remoteMsid.track; - } - }); - stream = streams[remoteMsid.stream]; - } else { - if (!streams.default) { - streams.default = new window.MediaStream(); - } - stream = streams.default; - } - if (stream) { - addTrackToStreamAndFireEvent(track, stream); - transceiver.associatedRemoteMediaStreams.push(stream); - } - receiverList.push([track, rtpReceiver, stream]); - } - } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track) { - transceiver.associatedRemoteMediaStreams.forEach(function (s) { - var nativeTrack = s.getTracks().find(function (t) { - return t.id === transceiver.rtpReceiver.track.id; - }); - if (nativeTrack) { - removeTrackFromStreamAndFireEvent(nativeTrack, s); - } - }); - transceiver.associatedRemoteMediaStreams = []; - } - - transceiver.localCapabilities = localCapabilities; - transceiver.remoteCapabilities = remoteCapabilities; - transceiver.rtpReceiver = rtpReceiver; - transceiver.rtcpParameters = rtcpParameters; - transceiver.sendEncodingParameters = sendEncodingParameters; - transceiver.recvEncodingParameters = recvEncodingParameters; - - // Start the RTCRtpReceiver now. The RTPSender is started in - // setLocalDescription. - pc._transceive(pc.transceivers[sdpMLineIndex], false, isNewTrack); - } else if (description.type === 'answer' && !rejected) { - transceiver = pc.transceivers[sdpMLineIndex]; - iceGatherer = transceiver.iceGatherer; - iceTransport = transceiver.iceTransport; - dtlsTransport = transceiver.dtlsTransport; - rtpReceiver = transceiver.rtpReceiver; - sendEncodingParameters = transceiver.sendEncodingParameters; - localCapabilities = transceiver.localCapabilities; - - pc.transceivers[sdpMLineIndex].recvEncodingParameters = recvEncodingParameters; - pc.transceivers[sdpMLineIndex].remoteCapabilities = remoteCapabilities; - pc.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters; - - if (cands.length && iceTransport.state === 'new') { - if ((isIceLite || isComplete) && (!usingBundle || sdpMLineIndex === 0)) { - iceTransport.setRemoteCandidates(cands); - } else { - cands.forEach(function (candidate) { - maybeAddCandidate(transceiver.iceTransport, candidate); - }); - } - } +function loadUncompressedPublicKey(first, xBuffer, yBuffer) { + var x = new BN(xBuffer); + var y = new BN(yBuffer); - if (!usingBundle || sdpMLineIndex === 0) { - if (iceTransport.state === 'new') { - iceTransport.start(iceGatherer, remoteIceParameters, 'controlling'); - } - if (dtlsTransport.state === 'new') { - dtlsTransport.start(remoteDtlsParameters); - } - } + // overflow + if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null; - // If the offer contained RTX but the answer did not, - // remove RTX from sendEncodingParameters. - var commonCapabilities = getCommonCapabilities(transceiver.localCapabilities, transceiver.remoteCapabilities); + x = x.toRed(ecparams.red); + y = y.toRed(ecparams.red); - var hasRtx = commonCapabilities.codecs.filter(function (c) { - return c.name.toLowerCase() === 'rtx'; - }).length; - if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) { - delete transceiver.sendEncodingParameters[0].rtx; - } + // is odd flag + if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null; - pc._transceive(transceiver, direction === 'sendrecv' || direction === 'recvonly', direction === 'sendrecv' || direction === 'sendonly'); + // x*x*x + b = y*y + var x3 = x.redSqr().redIMul(x); + if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null; - // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams - if (rtpReceiver && (direction === 'sendrecv' || direction === 'sendonly')) { - track = rtpReceiver.track; - if (remoteMsid) { - if (!streams[remoteMsid.stream]) { - streams[remoteMsid.stream] = new window.MediaStream(); - } - addTrackToStreamAndFireEvent(track, streams[remoteMsid.stream]); - receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]); - } else { - if (!streams.default) { - streams.default = new window.MediaStream(); - } - addTrackToStreamAndFireEvent(track, streams.default); - receiverList.push([track, rtpReceiver, streams.default]); - } - } else { - // FIXME: actually the receiver should be created later. - delete transceiver.rtpReceiver; - } - } - }); + return ec.keyPair({ pub: { x: x, y: y } }); +} - if (pc._dtlsRole === undefined) { - pc._dtlsRole = description.type === 'offer' ? 'active' : 'passive'; - } +function loadPublicKey(publicKey) { + var first = publicKey[0]; + switch (first) { + case 0x02: + case 0x03: + if (publicKey.length !== 33) return null; + return loadCompressedPublicKey(first, publicKey.slice(1, 33)); + case 0x04: + case 0x06: + case 0x07: + if (publicKey.length !== 65) return null; + return loadUncompressedPublicKey(first, publicKey.slice(1, 33), publicKey.slice(33, 65)); + default: + return null; + } +} - pc._remoteDescription = { - type: description.type, - sdp: description.sdp - }; - if (description.type === 'offer') { - pc._updateSignalingState('have-remote-offer'); - } else { - pc._updateSignalingState('stable'); - } - Object.keys(streams).forEach(function (sid) { - var stream = streams[sid]; - if (stream.getTracks().length) { - if (pc.remoteStreams.indexOf(stream) === -1) { - pc.remoteStreams.push(stream); - var event = new Event('addstream'); - event.stream = stream; - window.setTimeout(function () { - pc._dispatchEvent('addstream', event); - }); - } +exports.privateKeyVerify = function (privateKey) { + var bn = new BN(privateKey); + return bn.cmp(ecparams.n) < 0 && !bn.isZero(); +}; - receiverList.forEach(function (item) { - var track = item[0]; - var receiver = item[1]; - if (stream.id !== item[2].id) { - return; - } - fireAddTrack(pc, track, receiver, [stream]); - }); - } - }); - receiverList.forEach(function (item) { - if (item[2]) { - return; - } - fireAddTrack(pc, item[0], item[1], []); - }); +exports.privateKeyExport = function (privateKey, compressed) { + var d = new BN(privateKey); + if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PRIVATE_KEY_EXPORT_DER_FAIL); - // check whether addIceCandidate({}) was called within four seconds after - // setRemoteDescription. - window.setTimeout(function () { - if (!(pc && pc.transceivers)) { - return; - } - pc.transceivers.forEach(function (transceiver) { - if (transceiver.iceTransport && transceiver.iceTransport.state === 'new' && transceiver.iceTransport.getRemoteCandidates().length > 0) { - console.warn('Timeout for addRemoteCandidate. Consider sending ' + 'an end-of-candidates notification'); - transceiver.iceTransport.addRemoteCandidate({}); - } - }); - }, 4000); + return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); +}; - return Promise.resolve(); - }; +exports.privateKeyNegate = function (privateKey) { + var bn = new BN(privateKey); + return bn.isZero() ? Buffer.alloc(32) : ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Buffer, 'be', 32); +}; - RTCPeerConnection.prototype.close = function () { - this.transceivers.forEach(function (transceiver) { - /* not yet - if (transceiver.iceGatherer) { - transceiver.iceGatherer.close(); - } - */ - if (transceiver.iceTransport) { - transceiver.iceTransport.stop(); - } - if (transceiver.dtlsTransport) { - transceiver.dtlsTransport.stop(); - } - if (transceiver.rtpSender) { - transceiver.rtpSender.stop(); - } - if (transceiver.rtpReceiver) { - transceiver.rtpReceiver.stop(); - } - }); - // FIXME: clean up tracks, local streams, remote streams, etc - this._isClosed = true; - this._updateSignalingState('closed'); - }; +exports.privateKeyModInverse = function (privateKey) { + var bn = new BN(privateKey); + if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_RANGE_INVALID); - // Update the signaling state. - RTCPeerConnection.prototype._updateSignalingState = function (newState) { - this.signalingState = newState; - var event = new Event('signalingstatechange'); - this._dispatchEvent('signalingstatechange', event); - }; + return bn.invm(ecparams.n).toArrayLike(Buffer, 'be', 32); +}; - // Determine whether to fire the negotiationneeded event. - RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function () { - var pc = this; - if (this.signalingState !== 'stable' || this.needNegotiation === true) { - return; - } - this.needNegotiation = true; - window.setTimeout(function () { - if (pc.needNegotiation) { - pc.needNegotiation = false; - var event = new Event('negotiationneeded'); - pc._dispatchEvent('negotiationneeded', event); - } - }, 0); - }; +exports.privateKeyTweakAdd = function (privateKey, tweak) { + var bn = new BN(tweak); + if (bn.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); - // Update the ice connection state. - RTCPeerConnection.prototype._updateIceConnectionState = function () { - var newState; - var states = { - 'new': 0, - closed: 0, - checking: 0, - connected: 0, - completed: 0, - disconnected: 0, - failed: 0 - }; - this.transceivers.forEach(function (transceiver) { - states[transceiver.iceTransport.state]++; - }); + bn.iadd(new BN(privateKey)); + if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n); + if (bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); - newState = 'new'; - if (states.failed > 0) { - newState = 'failed'; - } else if (states.checking > 0) { - newState = 'checking'; - } else if (states.disconnected > 0) { - newState = 'disconnected'; - } else if (states.new > 0) { - newState = 'new'; - } else if (states.connected > 0) { - newState = 'connected'; - } else if (states.completed > 0) { - newState = 'completed'; - } - - if (newState !== this.iceConnectionState) { - this.iceConnectionState = newState; - var event = new Event('iceconnectionstatechange'); - this._dispatchEvent('iceconnectionstatechange', event); - } - }; - - // Update the connection state. - RTCPeerConnection.prototype._updateConnectionState = function () { - var newState; - var states = { - 'new': 0, - closed: 0, - connecting: 0, - connected: 0, - completed: 0, - disconnected: 0, - failed: 0 - }; - this.transceivers.forEach(function (transceiver) { - states[transceiver.iceTransport.state]++; - states[transceiver.dtlsTransport.state]++; - }); - // ICETransport.completed and connected are the same for this purpose. - states.connected += states.completed; - - newState = 'new'; - if (states.failed > 0) { - newState = 'failed'; - } else if (states.connecting > 0) { - newState = 'connecting'; - } else if (states.disconnected > 0) { - newState = 'disconnected'; - } else if (states.new > 0) { - newState = 'new'; - } else if (states.connected > 0) { - newState = 'connected'; - } - - if (newState !== this.connectionState) { - this.connectionState = newState; - var event = new Event('connectionstatechange'); - this._dispatchEvent('connectionstatechange', event); - } - }; - - RTCPeerConnection.prototype.createOffer = function () { - var pc = this; - - if (pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not call createOffer after close')); - } - - var numAudioTracks = pc.transceivers.filter(function (t) { - return t.kind === 'audio'; - }).length; - var numVideoTracks = pc.transceivers.filter(function (t) { - return t.kind === 'video'; - }).length; - - // Determine number of audio and video tracks we need to send/recv. - var offerOptions = arguments[0]; - if (offerOptions) { - // Reject Chrome legacy constraints. - if (offerOptions.mandatory || offerOptions.optional) { - throw new TypeError('Legacy mandatory/optional constraints not supported.'); - } - if (offerOptions.offerToReceiveAudio !== undefined) { - if (offerOptions.offerToReceiveAudio === true) { - numAudioTracks = 1; - } else if (offerOptions.offerToReceiveAudio === false) { - numAudioTracks = 0; - } else { - numAudioTracks = offerOptions.offerToReceiveAudio; - } - } - if (offerOptions.offerToReceiveVideo !== undefined) { - if (offerOptions.offerToReceiveVideo === true) { - numVideoTracks = 1; - } else if (offerOptions.offerToReceiveVideo === false) { - numVideoTracks = 0; - } else { - numVideoTracks = offerOptions.offerToReceiveVideo; - } - } - } + return bn.toArrayLike(Buffer, 'be', 32); +}; - pc.transceivers.forEach(function (transceiver) { - if (transceiver.kind === 'audio') { - numAudioTracks--; - if (numAudioTracks < 0) { - transceiver.wantReceive = false; - } - } else if (transceiver.kind === 'video') { - numVideoTracks--; - if (numVideoTracks < 0) { - transceiver.wantReceive = false; - } - } - }); +exports.privateKeyTweakMul = function (privateKey, tweak) { + var bn = new BN(tweak); + if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_MUL_FAIL); - // Create M-lines for recvonly streams. - while (numAudioTracks > 0 || numVideoTracks > 0) { - if (numAudioTracks > 0) { - pc._createTransceiver('audio'); - numAudioTracks--; - } - if (numVideoTracks > 0) { - pc._createTransceiver('video'); - numVideoTracks--; - } - } + bn.imul(new BN(privateKey)); + if (bn.cmp(ecparams.n)) bn = bn.umod(ecparams.n); - var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId, pc._sdpSessionVersion++); - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - // For each track, create an ice gatherer, ice transport, - // dtls transport, potentially rtpsender and rtpreceiver. - var track = transceiver.track; - var kind = transceiver.kind; - var mid = transceiver.mid || SDPUtils.generateIdentifier(); - transceiver.mid = mid; + return bn.toArrayLike(Buffer, 'be', 32); +}; - if (!transceiver.iceGatherer) { - transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex, pc.usingBundle); - } +exports.publicKeyCreate = function (privateKey, compressed) { + var d = new BN(privateKey); + if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PUBLIC_KEY_CREATE_FAIL); - var localCapabilities = window.RTCRtpSender.getCapabilities(kind); - // filter RTX until additional stuff needed for RTX is implemented - // in adapter.js - if (edgeVersion < 15019) { - localCapabilities.codecs = localCapabilities.codecs.filter(function (codec) { - return codec.name !== 'rtx'; - }); - } - localCapabilities.codecs.forEach(function (codec) { - // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552 - // by adding level-asymmetry-allowed=1 - if (codec.name === 'H264' && codec.parameters['level-asymmetry-allowed'] === undefined) { - codec.parameters['level-asymmetry-allowed'] = '1'; - } + return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); +}; - // for subsequent offers, we might have to re-use the payload - // type of the last offer. - if (transceiver.remoteCapabilities && transceiver.remoteCapabilities.codecs) { - transceiver.remoteCapabilities.codecs.forEach(function (remoteCodec) { - if (codec.name.toLowerCase() === remoteCodec.name.toLowerCase() && codec.clockRate === remoteCodec.clockRate) { - codec.preferredPayloadType = remoteCodec.payloadType; - } - }); - } - }); - localCapabilities.headerExtensions.forEach(function (hdrExt) { - var remoteExtensions = transceiver.remoteCapabilities && transceiver.remoteCapabilities.headerExtensions || []; - remoteExtensions.forEach(function (rHdrExt) { - if (hdrExt.uri === rHdrExt.uri) { - hdrExt.id = rHdrExt.id; - } - }); - }); +exports.publicKeyConvert = function (publicKey, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - // generate an ssrc now, to be used later in rtpSender.send - var sendEncodingParameters = transceiver.sendEncodingParameters || [{ - ssrc: (2 * sdpMLineIndex + 1) * 1001 - }]; - if (track) { - // add RTX - if (edgeVersion >= 15019 && kind === 'video' && !sendEncodingParameters[0].rtx) { - sendEncodingParameters[0].rtx = { - ssrc: sendEncodingParameters[0].ssrc + 1 - }; - } - } + return Buffer.from(pair.getPublic(compressed, true)); +}; - if (transceiver.wantReceive) { - transceiver.rtpReceiver = new window.RTCRtpReceiver(transceiver.dtlsTransport, kind); - } +exports.publicKeyVerify = function (publicKey) { + return loadPublicKey(publicKey) !== null; +}; - transceiver.localCapabilities = localCapabilities; - transceiver.sendEncodingParameters = sendEncodingParameters; - }); +exports.publicKeyTweakAdd = function (publicKey, tweak, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - // always offer BUNDLE and dispose on return if not supported. - if (pc._config.bundlePolicy !== 'max-compat') { - sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function (t) { - return t.mid; - }).join(' ') + '\r\n'; - } - sdp += 'a=ice-options:trickle\r\n'; + tweak = new BN(tweak); + if (tweak.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_ADD_FAIL); - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - sdp += writeMediaSection(transceiver, transceiver.localCapabilities, 'offer', transceiver.stream, pc._dtlsRole); - sdp += 'a=rtcp-rsize\r\n'; + return Buffer.from(ecparams.g.mul(tweak).add(pair.pub).encode(true, compressed)); +}; - if (transceiver.iceGatherer && pc.iceGatheringState !== 'new' && (sdpMLineIndex === 0 || !pc.usingBundle)) { - transceiver.iceGatherer.getLocalCandidates().forEach(function (cand) { - cand.component = 1; - sdp += 'a=' + SDPUtils.writeCandidate(cand) + '\r\n'; - }); +exports.publicKeyTweakMul = function (publicKey, tweak, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - if (transceiver.iceGatherer.state === 'completed') { - sdp += 'a=end-of-candidates\r\n'; - } - } - }); + tweak = new BN(tweak); + if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_MUL_FAIL); - var desc = new window.RTCSessionDescription({ - type: 'offer', - sdp: sdp - }); - return Promise.resolve(desc); - }; + return Buffer.from(pair.pub.mul(tweak).encode(true, compressed)); +}; - RTCPeerConnection.prototype.createAnswer = function () { - var pc = this; +exports.publicKeyCombine = function (publicKeys, compressed) { + var pairs = new Array(publicKeys.length); + for (var i = 0; i < publicKeys.length; ++i) { + pairs[i] = loadPublicKey(publicKeys[i]); + if (pairs[i] === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); + } - if (pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not call createAnswer after close')); - } + var point = pairs[0].pub; + for (var j = 1; j < pairs.length; ++j) { + point = point.add(pairs[j].pub); + }if (point.isInfinity()) throw new Error(messages.EC_PUBLIC_KEY_COMBINE_FAIL); - if (!(pc.signalingState === 'have-remote-offer' || pc.signalingState === 'have-local-pranswer')) { - return Promise.reject(makeError('InvalidStateError', 'Can not call createAnswer in signalingState ' + pc.signalingState)); - } + return Buffer.from(point.encode(true, compressed)); +}; - var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId, pc._sdpSessionVersion++); - if (pc.usingBundle) { - sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function (t) { - return t.mid; - }).join(' ') + '\r\n'; - } - sdp += 'a=ice-options:trickle\r\n'; +exports.signatureNormalize = function (signature) { + var r = new BN(signature.slice(0, 32)); + var s = new BN(signature.slice(32, 64)); + if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); - var mediaSectionsInOffer = SDPUtils.getMediaSections(pc._remoteDescription.sdp).length; - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - if (sdpMLineIndex + 1 > mediaSectionsInOffer) { - return; - } - if (transceiver.rejected) { - if (transceiver.kind === 'application') { - if (transceiver.protocol === 'DTLS/SCTP') { - // legacy fmt - sdp += 'm=application 0 DTLS/SCTP 5000\r\n'; - } else { - sdp += 'm=application 0 ' + transceiver.protocol + ' webrtc-datachannel\r\n'; - } - } else if (transceiver.kind === 'audio') { - sdp += 'm=audio 0 UDP/TLS/RTP/SAVPF 0\r\n' + 'a=rtpmap:0 PCMU/8000\r\n'; - } else if (transceiver.kind === 'video') { - sdp += 'm=video 0 UDP/TLS/RTP/SAVPF 120\r\n' + 'a=rtpmap:120 VP8/90000\r\n'; - } - sdp += 'c=IN IP4 0.0.0.0\r\n' + 'a=inactive\r\n' + 'a=mid:' + transceiver.mid + '\r\n'; - return; - } + var result = Buffer.from(signature); + if (s.cmp(ec.nh) === 1) ecparams.n.sub(s).toArrayLike(Buffer, 'be', 32).copy(result, 32); - // FIXME: look at direction. - if (transceiver.stream) { - var localTrack; - if (transceiver.kind === 'audio') { - localTrack = transceiver.stream.getAudioTracks()[0]; - } else if (transceiver.kind === 'video') { - localTrack = transceiver.stream.getVideoTracks()[0]; - } - if (localTrack) { - // add RTX - if (edgeVersion >= 15019 && transceiver.kind === 'video' && !transceiver.sendEncodingParameters[0].rtx) { - transceiver.sendEncodingParameters[0].rtx = { - ssrc: transceiver.sendEncodingParameters[0].ssrc + 1 - }; - } - } - } + return result; +}; - // Calculate intersection of capabilities. - var commonCapabilities = getCommonCapabilities(transceiver.localCapabilities, transceiver.remoteCapabilities); +exports.signatureExport = function (signature) { + var r = signature.slice(0, 32); + var s = signature.slice(32, 64); + if (new BN(r).cmp(ecparams.n) >= 0 || new BN(s).cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); - var hasRtx = commonCapabilities.codecs.filter(function (c) { - return c.name.toLowerCase() === 'rtx'; - }).length; - if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) { - delete transceiver.sendEncodingParameters[0].rtx; - } + return { r: r, s: s }; +}; - sdp += writeMediaSection(transceiver, commonCapabilities, 'answer', transceiver.stream, pc._dtlsRole); - if (transceiver.rtcpParameters && transceiver.rtcpParameters.reducedSize) { - sdp += 'a=rtcp-rsize\r\n'; - } - }); +exports.signatureImport = function (sigObj) { + var r = new BN(sigObj.r); + if (r.cmp(ecparams.n) >= 0) r = new BN(0); - var desc = new window.RTCSessionDescription({ - type: 'answer', - sdp: sdp - }); - return Promise.resolve(desc); - }; + var s = new BN(sigObj.s); + if (s.cmp(ecparams.n) >= 0) s = new BN(0); - RTCPeerConnection.prototype.addIceCandidate = function (candidate) { - var pc = this; - var sections; - if (candidate && !(candidate.sdpMLineIndex !== undefined || candidate.sdpMid)) { - return Promise.reject(new TypeError('sdpMLineIndex or sdpMid required')); - } + return Buffer.concat([r.toArrayLike(Buffer, 'be', 32), s.toArrayLike(Buffer, 'be', 32)]); +}; - // TODO: needs to go into ops queue. - return new Promise(function (resolve, reject) { - if (!pc._remoteDescription) { - return reject(makeError('InvalidStateError', 'Can not add ICE candidate without a remote description')); - } else if (!candidate || candidate.candidate === '') { - for (var j = 0; j < pc.transceivers.length; j++) { - if (pc.transceivers[j].rejected) { - continue; - } - pc.transceivers[j].iceTransport.addRemoteCandidate({}); - sections = SDPUtils.getMediaSections(pc._remoteDescription.sdp); - sections[j] += 'a=end-of-candidates\r\n'; - pc._remoteDescription.sdp = SDPUtils.getDescription(pc._remoteDescription.sdp) + sections.join(''); - if (pc.usingBundle) { - break; - } - } - } else { - var sdpMLineIndex = candidate.sdpMLineIndex; - if (candidate.sdpMid) { - for (var i = 0; i < pc.transceivers.length; i++) { - if (pc.transceivers[i].mid === candidate.sdpMid) { - sdpMLineIndex = i; - break; - } - } - } - var transceiver = pc.transceivers[sdpMLineIndex]; - if (transceiver) { - if (transceiver.rejected) { - return resolve(); - } - var cand = Object.keys(candidate.candidate).length > 0 ? SDPUtils.parseCandidate(candidate.candidate) : {}; - // Ignore Chrome's invalid candidates since Edge does not like them. - if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) { - return resolve(); - } - // Ignore RTCP candidates, we assume RTCP-MUX. - if (cand.component && cand.component !== 1) { - return resolve(); - } - // when using bundle, avoid adding candidates to the wrong - // ice transport. And avoid adding candidates added in the SDP. - if (sdpMLineIndex === 0 || sdpMLineIndex > 0 && transceiver.iceTransport !== pc.transceivers[0].iceTransport) { - if (!maybeAddCandidate(transceiver.iceTransport, cand)) { - return reject(makeError('OperationError', 'Can not add ICE candidate')); - } - } +exports.sign = function (message, privateKey, noncefn, data) { + if (typeof noncefn === 'function') { + var getNonce = noncefn; + noncefn = function noncefn(counter) { + var nonce = getNonce(message, privateKey, null, data, counter); + if (!Buffer.isBuffer(nonce) || nonce.length !== 32) throw new Error(messages.ECDSA_SIGN_FAIL); - // update the remoteDescription. - var candidateString = candidate.candidate.trim(); - if (candidateString.indexOf('a=') === 0) { - candidateString = candidateString.substr(2); - } - sections = SDPUtils.getMediaSections(pc._remoteDescription.sdp); - sections[sdpMLineIndex] += 'a=' + (cand.type ? candidateString : 'end-of-candidates') + '\r\n'; - pc._remoteDescription.sdp = SDPUtils.getDescription(pc._remoteDescription.sdp) + sections.join(''); - } else { - return reject(makeError('OperationError', 'Can not add ICE candidate')); - } - } - resolve(); - }); - }; + return new BN(nonce); + }; + } - RTCPeerConnection.prototype.getStats = function (selector) { - if (selector && selector instanceof window.MediaStreamTrack) { - var senderOrReceiver = null; - this.transceivers.forEach(function (transceiver) { - if (transceiver.rtpSender && transceiver.rtpSender.track === selector) { - senderOrReceiver = transceiver.rtpSender; - } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track === selector) { - senderOrReceiver = transceiver.rtpReceiver; - } - }); - if (!senderOrReceiver) { - throw makeError('InvalidAccessError', 'Invalid selector.'); - } - return senderOrReceiver.getStats(); - } + var d = new BN(privateKey); + if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.ECDSA_SIGN_FAIL); - var promises = []; - this.transceivers.forEach(function (transceiver) { - ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport', 'dtlsTransport'].forEach(function (method) { - if (transceiver[method]) { - promises.push(transceiver[method].getStats()); - } - }); - }); - return Promise.all(promises).then(function (allStats) { - var results = new Map(); - allStats.forEach(function (stats) { - stats.forEach(function (stat) { - results.set(stat.id, stat); - }); - }); - return results; - }); + var result = ec.sign(message, privateKey, { canonical: true, k: noncefn, pers: data }); + return { + signature: Buffer.concat([result.r.toArrayLike(Buffer, 'be', 32), result.s.toArrayLike(Buffer, 'be', 32)]), + recovery: result.recoveryParam }; +}; - // fix low-level stat names and return Map instead of object. - var ortcObjects = ['RTCRtpSender', 'RTCRtpReceiver', 'RTCIceGatherer', 'RTCIceTransport', 'RTCDtlsTransport']; - ortcObjects.forEach(function (ortcObjectName) { - var obj = window[ortcObjectName]; - if (obj && obj.prototype && obj.prototype.getStats) { - var nativeGetstats = obj.prototype.getStats; - obj.prototype.getStats = function () { - return nativeGetstats.apply(this).then(function (nativeStats) { - var mapStats = new Map(); - Object.keys(nativeStats).forEach(function (id) { - nativeStats[id].type = fixStatsType(nativeStats[id]); - mapStats.set(id, nativeStats[id]); - }); - return mapStats; - }); - }; - } - }); - - // legacy callback shims. Should be moved to adapter.js some days. - var methods = ['createOffer', 'createAnswer']; - methods.forEach(function (method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function () { - var args = arguments; - if (typeof args[0] === 'function' || typeof args[1] === 'function') { - // legacy - return nativeMethod.apply(this, [arguments[2]]).then(function (description) { - if (typeof args[0] === 'function') { - args[0].apply(null, [description]); - } - }, function (error) { - if (typeof args[1] === 'function') { - args[1].apply(null, [error]); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); +exports.verify = function (message, signature, publicKey) { + var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; - methods = ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']; - methods.forEach(function (method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function () { - var args = arguments; - if (typeof args[1] === 'function' || typeof args[2] === 'function') { - // legacy - return nativeMethod.apply(this, arguments).then(function () { - if (typeof args[1] === 'function') { - args[1].apply(null); - } - }, function (error) { - if (typeof args[2] === 'function') { - args[2].apply(null, [error]); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); + var sigr = new BN(sigObj.r); + var sigs = new BN(sigObj.s); + if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); + if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return false; - // getStats is special. It doesn't have a spec legacy method yet we support - // getStats(something, cb) without error callbacks. - ['getStats'].forEach(function (method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function () { - var args = arguments; - if (typeof args[1] === 'function') { - return nativeMethod.apply(this, arguments).then(function () { - if (typeof args[1] === 'function') { - args[1].apply(null); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - return RTCPeerConnection; + return ec.verify(message, sigObj, { x: pair.pub.x, y: pair.pub.y }); }; -},{"sdp":731}],729:[function(require,module,exports){ -'use strict'; - -/* eslint-disable node/no-deprecated-api */ -var buffer = require('buffer'); -var Buffer = buffer.Buffer; - -// alternative to using Object.keys for old browsers -function copyProps(src, dst) { - for (var key in src) { - dst[key] = src[key]; - } -} -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer; -} else { - // Copy properties from require('buffer') - copyProps(buffer, exports); - exports.Buffer = SafeBuffer; -} +exports.recover = function (message, signature, recovery, compressed) { + var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; -function SafeBuffer(arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length); -} + var sigr = new BN(sigObj.r); + var sigs = new BN(sigObj.s); + if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); -// Copy static methods from Buffer -copyProps(Buffer, SafeBuffer); + try { + if (sigr.isZero() || sigs.isZero()) throw new Error(); -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number'); + var point = ec.recoverPubKey(message, sigObj, recovery); + return Buffer.from(point.encode(true, compressed)); + } catch (err) { + throw new Error(messages.ECDSA_RECOVER_FAIL); } - return Buffer(arg, encodingOrOffset, length); }; -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - var buf = Buffer(size); - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - } else { - buf.fill(0); - } - return buf; +exports.ecdh = function (publicKey, privateKey) { + var shared = exports.ecdhUnsafe(publicKey, privateKey, true); + return createHash('sha256').update(shared).digest(); }; -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - return Buffer(size); -}; +exports.ecdhUnsafe = function (publicKey, privateKey, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - return buffer.SlowBuffer(size); + var scalar = new BN(privateKey); + if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) throw new Error(messages.ECDH_FAIL); + + return Buffer.from(pair.pub.mul(scalar).encode(true, compressed)); }; -},{"buffer":256}],730:[function(require,module,exports){ -(function (Buffer){ +},{"../messages.json":735,"bn.js":226,"create-hash":593,"elliptic":612,"safe-buffer":728}],734:[function(require,module,exports){ 'use strict'; -var crypto = require('crypto'); -/* eslint-disable camelcase */ - -var MAX_VALUE = 0x7fffffff; +var assert = require('./assert'); +var der = require('./der'); +var messages = require('./messages.json'); -// N = Cpu cost, r = Memory cost, p = parallelization cost -function scrypt(key, salt, N, r, p, dkLen, progressCallback) { - if (N === 0 || (N & N - 1) !== 0) throw Error('N must be > 0 and a power of 2'); +function initCompressedValue(value, defaultValue) { + if (value === undefined) return defaultValue; - if (N > MAX_VALUE / 128 / r) throw Error('Parameter N is too large'); - if (r > MAX_VALUE / 128 / p) throw Error('Parameter r is too large'); + assert.isBoolean(value, messages.COMPRESSED_TYPE_INVALID); + return value; +} - var XY = new Buffer(256 * r); - var V = new Buffer(128 * r * N); +module.exports = function (secp256k1) { + return { + privateKeyVerify: function privateKeyVerify(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + return privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey); + }, - // pseudo global - var B32 = new Int32Array(16); // salsa20_8 - var x = new Int32Array(16); // salsa20_8 - var _X = new Buffer(64); // blockmix_salsa8 + privateKeyExport: function privateKeyExport(privateKey, compressed) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - // pseudo global - var B = crypto.pbkdf2Sync(key, salt, 1, p * 128 * r, 'sha256'); + compressed = initCompressedValue(compressed, true); + var publicKey = secp256k1.privateKeyExport(privateKey, compressed); - var tickCallback; - if (progressCallback) { - var totalOps = p * N * 2; - var currentOp = 0; + return der.privateKeyExport(privateKey, publicKey, compressed); + }, - tickCallback = function tickCallback() { - ++currentOp; + privateKeyImport: function privateKeyImport(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - // send progress notifications once every 1,000 ops - if (currentOp % 1000 === 0) { - progressCallback({ - current: currentOp, - total: totalOps, - percent: currentOp / totalOps * 100.0 - }); - } - }; - } + privateKey = der.privateKeyImport(privateKey); + if (privateKey && privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey)) return privateKey; - for (var i = 0; i < p; i++) { - smix(B, i * 128 * r, r, N, V, XY); - } + throw new Error(messages.EC_PRIVATE_KEY_IMPORT_DER_FAIL); + }, - return crypto.pbkdf2Sync(key, B, 1, dkLen, 'sha256'); + privateKeyNegate: function privateKeyNegate(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - // all of these functions are actually moved to the top - // due to function hoisting + return secp256k1.privateKeyNegate(privateKey); + }, - function smix(B, Bi, r, N, V, XY) { - var Xi = 0; - var Yi = 128 * r; - var i; + privateKeyModInverse: function privateKeyModInverse(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - B.copy(XY, Xi, Bi, Bi + Yi); + return secp256k1.privateKeyModInverse(privateKey); + }, - for (i = 0; i < N; i++) { - XY.copy(V, i * Yi, Xi, Xi + Yi); - blockmix_salsa8(XY, Xi, Yi, r); + privateKeyTweakAdd: function privateKeyTweakAdd(privateKey, tweak) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - if (tickCallback) tickCallback(); - } + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); - for (i = 0; i < N; i++) { - var offset = Xi + (2 * r - 1) * 64; - var j = XY.readUInt32LE(offset) & N - 1; - blockxor(V, j * Yi, XY, Xi, Yi); - blockmix_salsa8(XY, Xi, Yi, r); + return secp256k1.privateKeyTweakAdd(privateKey, tweak); + }, - if (tickCallback) tickCallback(); - } + privateKeyTweakMul: function privateKeyTweakMul(privateKey, tweak) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - XY.copy(B, Bi, Xi, Xi + Yi); - } + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); - function blockmix_salsa8(BY, Bi, Yi, r) { - var i; + return secp256k1.privateKeyTweakMul(privateKey, tweak); + }, - arraycopy(BY, Bi + (2 * r - 1) * 64, _X, 0, 64); + publicKeyCreate: function publicKeyCreate(privateKey, compressed) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - for (i = 0; i < 2 * r; i++) { - blockxor(BY, i * 64, _X, 0, 64); - salsa20_8(_X); - arraycopy(_X, 0, BY, Yi + i * 64, 64); - } + compressed = initCompressedValue(compressed, true); - for (i = 0; i < r; i++) { - arraycopy(BY, Yi + i * 2 * 64, BY, Bi + i * 64, 64); - } + return secp256k1.publicKeyCreate(privateKey, compressed); + }, - for (i = 0; i < r; i++) { - arraycopy(BY, Yi + (i * 2 + 1) * 64, BY, Bi + (i + r) * 64, 64); - } - } + publicKeyConvert: function publicKeyConvert(publicKey, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - function R(a, b) { - return a << b | a >>> 32 - b; - } + compressed = initCompressedValue(compressed, true); - function salsa20_8(B) { - var i; + return secp256k1.publicKeyConvert(publicKey, compressed); + }, - for (i = 0; i < 16; i++) { - B32[i] = (B[i * 4 + 0] & 0xff) << 0; - B32[i] |= (B[i * 4 + 1] & 0xff) << 8; - B32[i] |= (B[i * 4 + 2] & 0xff) << 16; - B32[i] |= (B[i * 4 + 3] & 0xff) << 24; - // B32[i] = B.readUInt32LE(i*4) <--- this is signficantly slower even in Node.js - } + publicKeyVerify: function publicKeyVerify(publicKey) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + return secp256k1.publicKeyVerify(publicKey); + }, - arraycopy(B32, 0, x, 0, 16); + publicKeyTweakAdd: function publicKeyTweakAdd(publicKey, tweak, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - for (i = 8; i > 0; i -= 2) { - x[4] ^= R(x[0] + x[12], 7); - x[8] ^= R(x[4] + x[0], 9); - x[12] ^= R(x[8] + x[4], 13); - x[0] ^= R(x[12] + x[8], 18); - x[9] ^= R(x[5] + x[1], 7); - x[13] ^= R(x[9] + x[5], 9); - x[1] ^= R(x[13] + x[9], 13); - x[5] ^= R(x[1] + x[13], 18); - x[14] ^= R(x[10] + x[6], 7); - x[2] ^= R(x[14] + x[10], 9); - x[6] ^= R(x[2] + x[14], 13); - x[10] ^= R(x[6] + x[2], 18); - x[3] ^= R(x[15] + x[11], 7); - x[7] ^= R(x[3] + x[15], 9); - x[11] ^= R(x[7] + x[3], 13); - x[15] ^= R(x[11] + x[7], 18); - x[1] ^= R(x[0] + x[3], 7); - x[2] ^= R(x[1] + x[0], 9); - x[3] ^= R(x[2] + x[1], 13); - x[0] ^= R(x[3] + x[2], 18); - x[6] ^= R(x[5] + x[4], 7); - x[7] ^= R(x[6] + x[5], 9); - x[4] ^= R(x[7] + x[6], 13); - x[5] ^= R(x[4] + x[7], 18); - x[11] ^= R(x[10] + x[9], 7); - x[8] ^= R(x[11] + x[10], 9); - x[9] ^= R(x[8] + x[11], 13); - x[10] ^= R(x[9] + x[8], 18); - x[12] ^= R(x[15] + x[14], 7); - x[13] ^= R(x[12] + x[15], 9); - x[14] ^= R(x[13] + x[12], 13); - x[15] ^= R(x[14] + x[13], 18); - } + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); - for (i = 0; i < 16; ++i) { - B32[i] = x[i] + B32[i]; - }for (i = 0; i < 16; i++) { - var bi = i * 4; - B[bi + 0] = B32[i] >> 0 & 0xff; - B[bi + 1] = B32[i] >> 8 & 0xff; - B[bi + 2] = B32[i] >> 16 & 0xff; - B[bi + 3] = B32[i] >> 24 & 0xff; - // B.writeInt32LE(B32[i], i*4) //<--- this is signficantly slower even in Node.js - } - } + compressed = initCompressedValue(compressed, true); - // naive approach... going back to loop unrolling may yield additional performance - function blockxor(S, Si, D, Di, len) { - for (var i = 0; i < len; i++) { - D[Di + i] ^= S[Si + i]; - } - } -} + return secp256k1.publicKeyTweakAdd(publicKey, tweak, compressed); + }, -function arraycopy(src, srcPos, dest, destPos, length) { - if (Buffer.isBuffer(src) && Buffer.isBuffer(dest)) { - src.copy(dest, destPos, srcPos, srcPos + length); - } else { - while (length--) { - dest[destPos++] = src[srcPos++]; - } - } -} + publicKeyTweakMul: function publicKeyTweakMul(publicKey, tweak, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); -module.exports = scrypt; + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); -}).call(this,require("buffer").Buffer) -},{"buffer":256,"crypto":597}],731:[function(require,module,exports){ -/* eslint-env node */ -'use strict'; + compressed = initCompressedValue(compressed, true); -// SDP helpers. + return secp256k1.publicKeyTweakMul(publicKey, tweak, compressed); + }, -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + publicKeyCombine: function publicKeyCombine(publicKeys, compressed) { + assert.isArray(publicKeys, messages.EC_PUBLIC_KEYS_TYPE_INVALID); + assert.isLengthGTZero(publicKeys, messages.EC_PUBLIC_KEYS_LENGTH_INVALID); + for (var i = 0; i < publicKeys.length; ++i) { + assert.isBuffer(publicKeys[i], messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKeys[i], 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + } -var SDPUtils = {}; + compressed = initCompressedValue(compressed, true); -// Generate an alphanumeric identifier for cname or mids. -// TODO: use UUIDs instead? https://gist.github.com/jed/982883 -SDPUtils.generateIdentifier = function () { - return Math.random().toString(36).substr(2, 10); -}; + return secp256k1.publicKeyCombine(publicKeys, compressed); + }, -// The RTCP CNAME used by all peerconnections from the same JS. -SDPUtils.localCName = SDPUtils.generateIdentifier(); + signatureNormalize: function signatureNormalize(signature) { + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Splits SDP into lines, dealing with both CRLF and LF. -SDPUtils.splitLines = function (blob) { - return blob.trim().split('\n').map(function (line) { - return line.trim(); - }); -}; -// Splits SDP into sessionpart and mediasections. Ensures CRLF. -SDPUtils.splitSections = function (blob) { - var parts = blob.split('\nm='); - return parts.map(function (part, index) { - return (index > 0 ? 'm=' + part : part).trim() + '\r\n'; - }); -}; + return secp256k1.signatureNormalize(signature); + }, -// returns the session description. -SDPUtils.getDescription = function (blob) { - var sections = SDPUtils.splitSections(blob); - return sections && sections[0]; -}; + signatureExport: function signatureExport(signature) { + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// returns the individual media sections. -SDPUtils.getMediaSections = function (blob) { - var sections = SDPUtils.splitSections(blob); - sections.shift(); - return sections; -}; + var sigObj = secp256k1.signatureExport(signature); + return der.signatureExport(sigObj); + }, -// Returns lines that start with a certain prefix. -SDPUtils.matchPrefix = function (blob, prefix) { - return SDPUtils.splitLines(blob).filter(function (line) { - return line.indexOf(prefix) === 0; - }); -}; + signatureImport: function signatureImport(sig) { + assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Parses an ICE candidate line. Sample input: -// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8 -// rport 55996" -SDPUtils.parseCandidate = function (line) { - var parts; - // Parse both variants. - if (line.indexOf('a=candidate:') === 0) { - parts = line.substring(12).split(' '); - } else { - parts = line.substring(10).split(' '); - } + var sigObj = der.signatureImport(sig); + if (sigObj) return secp256k1.signatureImport(sigObj); - var candidate = { - foundation: parts[0], - component: parseInt(parts[1], 10), - protocol: parts[2].toLowerCase(), - priority: parseInt(parts[3], 10), - ip: parts[4], - address: parts[4], // address is an alias for ip. - port: parseInt(parts[5], 10), - // skip parts[6] == 'typ' - type: parts[7] - }; + throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); + }, - for (var i = 8; i < parts.length; i += 2) { - switch (parts[i]) { - case 'raddr': - candidate.relatedAddress = parts[i + 1]; - break; - case 'rport': - candidate.relatedPort = parseInt(parts[i + 1], 10); - break; - case 'tcptype': - candidate.tcpType = parts[i + 1]; - break; - case 'ufrag': - candidate.ufrag = parts[i + 1]; // for backward compability. - candidate.usernameFragment = parts[i + 1]; - break; - default: - // extension handling, in particular ufrag - candidate[parts[i]] = parts[i + 1]; - break; - } - } - return candidate; -}; + signatureImportLax: function signatureImportLax(sig) { + assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Translates a candidate object into SDP candidate attribute. -SDPUtils.writeCandidate = function (candidate) { - var sdp = []; - sdp.push(candidate.foundation); - sdp.push(candidate.component); - sdp.push(candidate.protocol.toUpperCase()); - sdp.push(candidate.priority); - sdp.push(candidate.address || candidate.ip); - sdp.push(candidate.port); + var sigObj = der.signatureImportLax(sig); + if (sigObj) return secp256k1.signatureImport(sigObj); - var type = candidate.type; - sdp.push('typ'); - sdp.push(type); - if (type !== 'host' && candidate.relatedAddress && candidate.relatedPort) { - sdp.push('raddr'); - sdp.push(candidate.relatedAddress); - sdp.push('rport'); - sdp.push(candidate.relatedPort); - } - if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') { - sdp.push('tcptype'); - sdp.push(candidate.tcpType); - } - if (candidate.usernameFragment || candidate.ufrag) { - sdp.push('ufrag'); - sdp.push(candidate.usernameFragment || candidate.ufrag); - } - return 'candidate:' + sdp.join(' '); -}; + throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); + }, -// Parses an ice-options line, returns an array of option tags. -// a=ice-options:foo bar -SDPUtils.parseIceOptions = function (line) { - return line.substr(14).split(' '); -}; + sign: function sign(message, privateKey, options) { + assert.isBuffer(message, messages.MSG32_TYPE_INVALID); + assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); -// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input: -// a=rtpmap:111 opus/48000/2 -SDPUtils.parseRtpMap = function (line) { - var parts = line.substr(9).split(' '); - var parsed = { - payloadType: parseInt(parts.shift(), 10) // was: id - }; + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - parts = parts[0].split('/'); + var data = null; + var noncefn = null; + if (options !== undefined) { + assert.isObject(options, messages.OPTIONS_TYPE_INVALID); - parsed.name = parts[0]; - parsed.clockRate = parseInt(parts[1], 10); // was: clockrate - parsed.channels = parts.length === 3 ? parseInt(parts[2], 10) : 1; - // legacy alias, got renamed back to channels in ORTC. - parsed.numChannels = parsed.channels; - return parsed; -}; + if (options.data !== undefined) { + assert.isBuffer(options.data, messages.OPTIONS_DATA_TYPE_INVALID); + assert.isBufferLength(options.data, 32, messages.OPTIONS_DATA_LENGTH_INVALID); + data = options.data; + } -// Generate an a=rtpmap line from RTCRtpCodecCapability or -// RTCRtpCodecParameters. -SDPUtils.writeRtpMap = function (codec) { - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - var channels = codec.channels || codec.numChannels || 1; - return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate + (channels !== 1 ? '/' + channels : '') + '\r\n'; -}; + if (options.noncefn !== undefined) { + assert.isFunction(options.noncefn, messages.OPTIONS_NONCEFN_TYPE_INVALID); + noncefn = options.noncefn; + } + } -// Parses an a=extmap line (headerextension from RFC 5285). Sample input: -// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset -// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset -SDPUtils.parseExtmap = function (line) { - var parts = line.substr(9).split(' '); - return { - id: parseInt(parts[0], 10), - direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv', - uri: parts[1] - }; -}; + return secp256k1.sign(message, privateKey, noncefn, data); + }, -// Generates a=extmap line from RTCRtpHeaderExtensionParameters or -// RTCRtpHeaderExtension. -SDPUtils.writeExtmap = function (headerExtension) { - return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) + (headerExtension.direction && headerExtension.direction !== 'sendrecv' ? '/' + headerExtension.direction : '') + ' ' + headerExtension.uri + '\r\n'; -}; + verify: function verify(message, signature, publicKey) { + assert.isBuffer(message, messages.MSG32_TYPE_INVALID); + assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); -// Parses an ftmp line, returns dictionary. Sample input: -// a=fmtp:96 vbr=on;cng=on -// Also deals with vbr=on; cng=on -SDPUtils.parseFmtp = function (line) { - var parsed = {}; - var kv; - var parts = line.substr(line.indexOf(' ') + 1).split(';'); - for (var j = 0; j < parts.length; j++) { - kv = parts[j].trim().split('='); - parsed[kv[0].trim()] = kv[1]; - } - return parsed; -}; + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters. -SDPUtils.writeFmtp = function (codec) { - var line = ''; - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - if (codec.parameters && Object.keys(codec.parameters).length) { - var params = []; - Object.keys(codec.parameters).forEach(function (param) { - if (codec.parameters[param]) { - params.push(param + '=' + codec.parameters[param]); - } else { - params.push(param); - } - }); - line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\r\n'; - } - return line; -}; + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); -// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input: -// a=rtcp-fb:98 nack rpsi -SDPUtils.parseRtcpFb = function (line) { - var parts = line.substr(line.indexOf(' ') + 1).split(' '); - return { - type: parts.shift(), - parameter: parts.join(' ') - }; -}; -// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters. -SDPUtils.writeRtcpFb = function (codec) { - var lines = ''; - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - if (codec.rtcpFeedback && codec.rtcpFeedback.length) { - // FIXME: special handling for trr-int? - codec.rtcpFeedback.forEach(function (fb) { - lines += 'a=rtcp-fb:' + pt + ' ' + fb.type + (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') + '\r\n'; - }); - } - return lines; -}; + return secp256k1.verify(message, signature, publicKey); + }, -// Parses an RFC 5576 ssrc media attribute. Sample input: -// a=ssrc:3735928559 cname:something -SDPUtils.parseSsrcMedia = function (line) { - var sp = line.indexOf(' '); - var parts = { - ssrc: parseInt(line.substr(7, sp - 7), 10) - }; - var colon = line.indexOf(':', sp); - if (colon > -1) { - parts.attribute = line.substr(sp + 1, colon - sp - 1); - parts.value = line.substr(colon + 1); - } else { - parts.attribute = line.substr(sp + 1); - } - return parts; -}; + recover: function recover(message, signature, recovery, compressed) { + assert.isBuffer(message, messages.MSG32_TYPE_INVALID); + assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); -SDPUtils.parseSsrcGroup = function (line) { - var parts = line.substr(13).split(' '); - return { - semantics: parts.shift(), - ssrcs: parts.map(function (ssrc) { - return parseInt(ssrc, 10); - }) - }; -}; + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Extracts the MID (RFC 5888) from a media section. -// returns the MID or undefined if no mid line was found. -SDPUtils.getMid = function (mediaSection) { - var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0]; - if (mid) { - return mid.substr(6); - } -}; + assert.isNumber(recovery, messages.RECOVERY_ID_TYPE_INVALID); + assert.isNumberInInterval(recovery, -1, 4, messages.RECOVERY_ID_VALUE_INVALID); -SDPUtils.parseFingerprint = function (line) { - var parts = line.substr(14).split(' '); - return { - algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge. - value: parts[1] - }; -}; + compressed = initCompressedValue(compressed, true); -// Extracts DTLS parameters from SDP media section or sessionpart. -// FIXME: for consistency with other functions this should only -// get the fingerprint line as input. See also getIceParameters. -SDPUtils.getDtlsParameters = function (mediaSection, sessionpart) { - var lines = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=fingerprint:'); - // Note: a=setup line is ignored since we use the 'auto' role. - // Note2: 'algorithm' is not case sensitive except in Edge. - return { - role: 'auto', - fingerprints: lines.map(SDPUtils.parseFingerprint) - }; -}; + return secp256k1.recover(message, signature, recovery, compressed); + }, -// Serializes DTLS parameters to SDP. -SDPUtils.writeDtlsParameters = function (params, setupType) { - var sdp = 'a=setup:' + setupType + '\r\n'; - params.fingerprints.forEach(function (fp) { - sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\r\n'; - }); - return sdp; -}; -// Parses ICE information from SDP media section or sessionpart. -// FIXME: for consistency with other functions this should only -// get the ice-ufrag and ice-pwd lines as input. -SDPUtils.getIceParameters = function (mediaSection, sessionpart) { - var lines = SDPUtils.splitLines(mediaSection); - // Search in session part, too. - lines = lines.concat(SDPUtils.splitLines(sessionpart)); - var iceParameters = { - usernameFragment: lines.filter(function (line) { - return line.indexOf('a=ice-ufrag:') === 0; - })[0].substr(12), - password: lines.filter(function (line) { - return line.indexOf('a=ice-pwd:') === 0; - })[0].substr(10) - }; - return iceParameters; -}; - -// Serializes ICE parameters to SDP. -SDPUtils.writeIceParameters = function (params) { - return 'a=ice-ufrag:' + params.usernameFragment + '\r\n' + 'a=ice-pwd:' + params.password + '\r\n'; -}; - -// Parses the SDP media section and returns RTCRtpParameters. -SDPUtils.parseRtpParameters = function (mediaSection) { - var description = { - codecs: [], - headerExtensions: [], - fecMechanisms: [], - rtcp: [] - }; - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - for (var i = 3; i < mline.length; i++) { - // find all codecs from mline[3..] - var pt = mline[i]; - var rtpmapline = SDPUtils.matchPrefix(mediaSection, 'a=rtpmap:' + pt + ' ')[0]; - if (rtpmapline) { - var codec = SDPUtils.parseRtpMap(rtpmapline); - var fmtps = SDPUtils.matchPrefix(mediaSection, 'a=fmtp:' + pt + ' '); - // Only the first a=fmtp: is considered. - codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {}; - codec.rtcpFeedback = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-fb:' + pt + ' ').map(SDPUtils.parseRtcpFb); - description.codecs.push(codec); - // parse FEC mechanisms from rtpmap lines. - switch (codec.name.toUpperCase()) { - case 'RED': - case 'ULPFEC': - description.fecMechanisms.push(codec.name.toUpperCase()); - break; - default: - // only RED and ULPFEC are recognized as FEC mechanisms. - break; - } - } - } - SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function (line) { - description.headerExtensions.push(SDPUtils.parseExtmap(line)); - }); - // FIXME: parse rtcp. - return description; -}; - -// Generates parts of the SDP media section describing the capabilities / -// parameters. -SDPUtils.writeRtpDescription = function (kind, caps) { - var sdp = ''; - - // Build the mline. - sdp += 'm=' + kind + ' '; - sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs. - sdp += ' UDP/TLS/RTP/SAVPF '; - sdp += caps.codecs.map(function (codec) { - if (codec.preferredPayloadType !== undefined) { - return codec.preferredPayloadType; - } - return codec.payloadType; - }).join(' ') + '\r\n'; - - sdp += 'c=IN IP4 0.0.0.0\r\n'; - sdp += 'a=rtcp:9 IN IP4 0.0.0.0\r\n'; - - // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb. - caps.codecs.forEach(function (codec) { - sdp += SDPUtils.writeRtpMap(codec); - sdp += SDPUtils.writeFmtp(codec); - sdp += SDPUtils.writeRtcpFb(codec); - }); - var maxptime = 0; - caps.codecs.forEach(function (codec) { - if (codec.maxptime > maxptime) { - maxptime = codec.maxptime; - } - }); - if (maxptime > 0) { - sdp += 'a=maxptime:' + maxptime + '\r\n'; - } - sdp += 'a=rtcp-mux\r\n'; + ecdh: function ecdh(publicKey, privateKey) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - if (caps.headerExtensions) { - caps.headerExtensions.forEach(function (extension) { - sdp += SDPUtils.writeExtmap(extension); - }); - } - // FIXME: write fecMechanisms. - return sdp; -}; + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); -// Parses the SDP media section and returns an array of -// RTCRtpEncodingParameters. -SDPUtils.parseRtpEncodingParameters = function (mediaSection) { - var encodingParameters = []; - var description = SDPUtils.parseRtpParameters(mediaSection); - var hasRed = description.fecMechanisms.indexOf('RED') !== -1; - var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1; + return secp256k1.ecdh(publicKey, privateKey); + }, - // filter a=ssrc:... cname:, ignore PlanB-msid - var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (parts) { - return parts.attribute === 'cname'; - }); - var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc; - var secondarySsrc; + ecdhUnsafe: function ecdhUnsafe(publicKey, privateKey, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID').map(function (line) { - var parts = line.substr(17).split(' '); - return parts.map(function (part) { - return parseInt(part, 10); - }); - }); - if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) { - secondarySsrc = flows[0][1]; - } + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - description.codecs.forEach(function (codec) { - if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) { - var encParam = { - ssrc: primarySsrc, - codecPayloadType: parseInt(codec.parameters.apt, 10) - }; - if (primarySsrc && secondarySsrc) { - encParam.rtx = { ssrc: secondarySsrc }; - } - encodingParameters.push(encParam); - if (hasRed) { - encParam = JSON.parse(JSON.stringify(encParam)); - encParam.fec = { - ssrc: primarySsrc, - mechanism: hasUlpfec ? 'red+ulpfec' : 'red' - }; - encodingParameters.push(encParam); - } - } - }); - if (encodingParameters.length === 0 && primarySsrc) { - encodingParameters.push({ - ssrc: primarySsrc - }); - } + compressed = initCompressedValue(compressed, true); - // we support both b=AS and b=TIAS but interpret AS as TIAS. - var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b='); - if (bandwidth.length) { - if (bandwidth[0].indexOf('b=TIAS:') === 0) { - bandwidth = parseInt(bandwidth[0].substr(7), 10); - } else if (bandwidth[0].indexOf('b=AS:') === 0) { - // use formula from JSEP to convert b=AS to TIAS value. - bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95 - 50 * 40 * 8; - } else { - bandwidth = undefined; + return secp256k1.ecdhUnsafe(publicKey, privateKey, compressed); } - encodingParameters.forEach(function (params) { - params.maxBitrate = bandwidth; - }); - } - return encodingParameters; + }; }; -// parses http://draft.ortc.org/#rtcrtcpparameters* -SDPUtils.parseRtcpParameters = function (mediaSection) { - var rtcpParameters = {}; - - // Gets the first SSRC. Note tha with RTX there might be multiple - // SSRCs. - var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (obj) { - return obj.attribute === 'cname'; - })[0]; - if (remoteSsrc) { - rtcpParameters.cname = remoteSsrc.value; - rtcpParameters.ssrc = remoteSsrc.ssrc; - } +},{"./assert":731,"./der":732,"./messages.json":735}],735:[function(require,module,exports){ +module.exports={ + "COMPRESSED_TYPE_INVALID": "compressed should be a boolean", + "EC_PRIVATE_KEY_TYPE_INVALID": "private key should be a Buffer", + "EC_PRIVATE_KEY_LENGTH_INVALID": "private key length is invalid", + "EC_PRIVATE_KEY_RANGE_INVALID": "private key range is invalid", + "EC_PRIVATE_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting private key is invalid", + "EC_PRIVATE_KEY_TWEAK_MUL_FAIL": "tweak out of range", + "EC_PRIVATE_KEY_EXPORT_DER_FAIL": "couldn't export to DER format", + "EC_PRIVATE_KEY_IMPORT_DER_FAIL": "couldn't import from DER format", + "EC_PUBLIC_KEYS_TYPE_INVALID": "public keys should be an Array", + "EC_PUBLIC_KEYS_LENGTH_INVALID": "public keys Array should have at least 1 element", + "EC_PUBLIC_KEY_TYPE_INVALID": "public key should be a Buffer", + "EC_PUBLIC_KEY_LENGTH_INVALID": "public key length is invalid", + "EC_PUBLIC_KEY_PARSE_FAIL": "the public key could not be parsed or is invalid", + "EC_PUBLIC_KEY_CREATE_FAIL": "private was invalid, try again", + "EC_PUBLIC_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting public key is invalid", + "EC_PUBLIC_KEY_TWEAK_MUL_FAIL": "tweak out of range", + "EC_PUBLIC_KEY_COMBINE_FAIL": "the sum of the public keys is not valid", + "ECDH_FAIL": "scalar was invalid (zero or overflow)", + "ECDSA_SIGNATURE_TYPE_INVALID": "signature should be a Buffer", + "ECDSA_SIGNATURE_LENGTH_INVALID": "signature length is invalid", + "ECDSA_SIGNATURE_PARSE_FAIL": "couldn't parse signature", + "ECDSA_SIGNATURE_PARSE_DER_FAIL": "couldn't parse DER signature", + "ECDSA_SIGNATURE_SERIALIZE_DER_FAIL": "couldn't serialize signature to DER format", + "ECDSA_SIGN_FAIL": "nonce generation function failed or private key is invalid", + "ECDSA_RECOVER_FAIL": "couldn't recover public key from signature", + "MSG32_TYPE_INVALID": "message should be a Buffer", + "MSG32_LENGTH_INVALID": "message length is invalid", + "OPTIONS_TYPE_INVALID": "options should be an Object", + "OPTIONS_DATA_TYPE_INVALID": "options.data should be a Buffer", + "OPTIONS_DATA_LENGTH_INVALID": "options.data length is invalid", + "OPTIONS_NONCEFN_TYPE_INVALID": "options.noncefn should be a Function", + "RECOVERY_ID_TYPE_INVALID": "recovery should be a Number", + "RECOVERY_ID_VALUE_INVALID": "recovery should have value between -1 and 4", + "TWEAK_TYPE_INVALID": "tweak should be a Buffer", + "TWEAK_LENGTH_INVALID": "tweak length is invalid" +} - // Edge uses the compound attribute instead of reducedSize - // compound is !reducedSize - var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize'); - rtcpParameters.reducedSize = rsize.length > 0; - rtcpParameters.compound = rsize.length === 0; +},{}],736:[function(require,module,exports){ +'use strict'; - // parses the rtcp-mux attrіbute. - // Note that Edge does not support unmuxed RTCP. - var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux'); - rtcpParameters.mux = mux.length > 0; +var Buffer = require('safe-buffer').Buffer; - return rtcpParameters; -}; +// prototype class for hash functions +function Hash(blockSize, finalSize) { + this._block = Buffer.alloc(blockSize); + this._finalSize = finalSize; + this._blockSize = blockSize; + this._len = 0; +} -// parses either a=msid: or a=ssrc:... msid lines and returns -// the id of the MediaStream and MediaStreamTrack. -SDPUtils.parseMsid = function (mediaSection) { - var parts; - var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:'); - if (spec.length === 1) { - parts = spec[0].substr(7).split(' '); - return { stream: parts[0], track: parts[1] }; - } - var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (msidParts) { - return msidParts.attribute === 'msid'; - }); - if (planB.length > 0) { - parts = planB[0].value.split(' '); - return { stream: parts[0], track: parts[1] }; - } -}; - -// Generate a session ID for SDP. -// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1 -// recommends using a cryptographically random +ve 64-bit value -// but right now this should be acceptable and within the right range -SDPUtils.generateSessionId = function () { - return Math.random().toString().substr(2, 21); -}; - -// Write boilder plate for start of SDP -// sessId argument is optional - if not supplied it will -// be generated randomly -// sessVersion is optional and defaults to 2 -// sessUser is optional and defaults to 'thisisadapterortc' -SDPUtils.writeSessionBoilerplate = function (sessId, sessVer, sessUser) { - var sessionId; - var version = sessVer !== undefined ? sessVer : 2; - if (sessId) { - sessionId = sessId; - } else { - sessionId = SDPUtils.generateSessionId(); +Hash.prototype.update = function (data, enc) { + if (typeof data === 'string') { + enc = enc || 'utf8'; + data = Buffer.from(data, enc); } - var user = sessUser || 'thisisadapterortc'; - // FIXME: sess-id should be an NTP timestamp. - return 'v=0\r\n' + 'o=' + user + ' ' + sessionId + ' ' + version + ' IN IP4 127.0.0.1\r\n' + 's=-\r\n' + 't=0 0\r\n'; -}; -SDPUtils.writeMediaSection = function (transceiver, caps, type, stream) { - var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps); - - // Map ICE parameters (ufrag, pwd) to SDP. - sdp += SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()); - - // Map DTLS parameters to SDP. - sdp += SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(), type === 'offer' ? 'actpass' : 'active'); + var block = this._block; + var blockSize = this._blockSize; + var length = data.length; + var accum = this._len; - sdp += 'a=mid:' + transceiver.mid + '\r\n'; + for (var offset = 0; offset < length;) { + var assigned = accum % blockSize; + var remainder = Math.min(length - offset, blockSize - assigned); - if (transceiver.direction) { - sdp += 'a=' + transceiver.direction + '\r\n'; - } else if (transceiver.rtpSender && transceiver.rtpReceiver) { - sdp += 'a=sendrecv\r\n'; - } else if (transceiver.rtpSender) { - sdp += 'a=sendonly\r\n'; - } else if (transceiver.rtpReceiver) { - sdp += 'a=recvonly\r\n'; - } else { - sdp += 'a=inactive\r\n'; - } + for (var i = 0; i < remainder; i++) { + block[assigned + i] = data[offset + i]; + } - if (transceiver.rtpSender) { - // spec. - var msid = 'msid:' + stream.id + ' ' + transceiver.rtpSender.track.id + '\r\n'; - sdp += 'a=' + msid; + accum += remainder; + offset += remainder; - // for Chrome. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' ' + msid; - if (transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' ' + msid; - sdp += 'a=ssrc-group:FID ' + transceiver.sendEncodingParameters[0].ssrc + ' ' + transceiver.sendEncodingParameters[0].rtx.ssrc + '\r\n'; + if (accum % blockSize === 0) { + this._update(block); } } - // FIXME: this should be written by writeRtpDescription. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - } - return sdp; -}; -// Gets the direction from the mediaSection or the sessionpart. -SDPUtils.getDirection = function (mediaSection, sessionpart) { - // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv. - var lines = SDPUtils.splitLines(mediaSection); - for (var i = 0; i < lines.length; i++) { - switch (lines[i]) { - case 'a=sendrecv': - case 'a=sendonly': - case 'a=recvonly': - case 'a=inactive': - return lines[i].substr(2); - default: - // FIXME: What should happen here? - } - } - if (sessionpart) { - return SDPUtils.getDirection(sessionpart); - } - return 'sendrecv'; -}; - -SDPUtils.getKind = function (mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - return mline[0].substr(2); + this._len += length; + return this; }; -SDPUtils.isRejected = function (mediaSection) { - return mediaSection.split(' ', 2)[1] === '0'; -}; +Hash.prototype.digest = function (enc) { + var rem = this._len % this._blockSize; -SDPUtils.parseMLine = function (mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var parts = lines[0].substr(2).split(' '); - return { - kind: parts[0], - port: parseInt(parts[1], 10), - protocol: parts[2], - fmt: parts.slice(3).join(' ') - }; -}; + this._block[rem] = 0x80; -SDPUtils.parseOLine = function (mediaSection) { - var line = SDPUtils.matchPrefix(mediaSection, 'o=')[0]; - var parts = line.substr(2).split(' '); - return { - username: parts[0], - sessionId: parts[1], - sessionVersion: parseInt(parts[2], 10), - netType: parts[3], - addressType: parts[4], - address: parts[5] - }; -}; + // zero (rem + 1) trailing bits, where (rem + 1) is the smallest + // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize + this._block.fill(0, rem + 1); -// a very naive interpretation of a valid SDP. -SDPUtils.isValidSDP = function (blob) { - if (typeof blob !== 'string' || blob.length === 0) { - return false; - } - var lines = SDPUtils.splitLines(blob); - for (var i = 0; i < lines.length; i++) { - if (lines[i].length < 2 || lines[i].charAt(1) !== '=') { - return false; - } - // TODO: check the modifier a bit more. + if (rem >= this._finalSize) { + this._update(this._block); + this._block.fill(0); } - return true; -}; -// Expose public methods. -if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object') { - module.exports = SDPUtils; -} - -},{}],732:[function(require,module,exports){ -'use strict'; - -module.exports = require('./lib')(require('./lib/elliptic')); + var bits = this._len * 8; -},{"./lib":736,"./lib/elliptic":735}],733:[function(require,module,exports){ -(function (Buffer){ -'use strict'; + // uint32 + if (bits <= 0xffffffff) { + this._block.writeUInt32BE(bits, this._blockSize - 4); -var toString = Object.prototype.toString; + // uint64 + } else { + var lowBits = (bits & 0xffffffff) >>> 0; + var highBits = (bits - lowBits) / 0x100000000; -// TypeError -exports.isArray = function (value, message) { - if (!Array.isArray(value)) throw TypeError(message); -}; + this._block.writeUInt32BE(highBits, this._blockSize - 8); + this._block.writeUInt32BE(lowBits, this._blockSize - 4); + } -exports.isBoolean = function (value, message) { - if (toString.call(value) !== '[object Boolean]') throw TypeError(message); -}; + this._update(this._block); + var hash = this._hash(); -exports.isBuffer = function (value, message) { - if (!Buffer.isBuffer(value)) throw TypeError(message); + return enc ? hash.toString(enc) : hash; }; -exports.isFunction = function (value, message) { - if (toString.call(value) !== '[object Function]') throw TypeError(message); +Hash.prototype._update = function () { + throw new Error('_update must be implemented by subclass'); }; -exports.isNumber = function (value, message) { - if (toString.call(value) !== '[object Number]') throw TypeError(message); -}; +module.exports = Hash; -exports.isObject = function (value, message) { - if (toString.call(value) !== '[object Object]') throw TypeError(message); -}; +},{"safe-buffer":728}],737:[function(require,module,exports){ +'use strict'; -// RangeError -exports.isBufferLength = function (buffer, length, message) { - if (buffer.length !== length) throw RangeError(message); -}; +var _exports = module.exports = function SHA(algorithm) { + algorithm = algorithm.toLowerCase(); -exports.isBufferLength2 = function (buffer, length1, length2, message) { - if (buffer.length !== length1 && buffer.length !== length2) throw RangeError(message); -}; + var Algorithm = _exports[algorithm]; + if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)'); -exports.isLengthGTZero = function (value, message) { - if (value.length === 0) throw RangeError(message); + return new Algorithm(); }; -exports.isNumberInInterval = function (number, x, y, message) { - if (number <= x || number >= y) throw RangeError(message); -}; +_exports.sha = require('./sha'); +_exports.sha1 = require('./sha1'); +_exports.sha224 = require('./sha224'); +_exports.sha256 = require('./sha256'); +_exports.sha384 = require('./sha384'); +_exports.sha512 = require('./sha512'); -}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) -},{"../../is-buffer/index.js":672}],734:[function(require,module,exports){ +},{"./sha":738,"./sha1":739,"./sha224":740,"./sha256":741,"./sha384":742,"./sha512":743}],738:[function(require,module,exports){ 'use strict'; +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined + * in FIPS PUB 180-1 + * This source code is derived from sha1.js of the same repository. + * The difference between SHA-0 and SHA-1 is just a bitwise rotate left + * operation was added. + */ + +var inherits = require('inherits'); +var Hash = require('./hash'); var Buffer = require('safe-buffer').Buffer; -var bip66 = require('bip66'); -var EC_PRIVKEY_EXPORT_DER_COMPRESSED = Buffer.from([ -// begin -0x30, 0x81, 0xd3, 0x02, 0x01, 0x01, 0x04, 0x20, -// private key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -// middle -0xa0, 0x81, 0x85, 0x30, 0x81, 0x82, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x21, 0x02, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x24, 0x03, 0x22, 0x00, -// public key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); +var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; -var EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED = Buffer.from([ -// begin -0x30, 0x82, 0x01, 0x13, 0x02, 0x01, 0x01, 0x04, 0x20, -// private key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -// middle -0xa0, 0x81, 0xa5, 0x30, 0x81, 0xa2, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x41, 0x04, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x48, 0x3a, 0xda, 0x77, 0x26, 0xa3, 0xc4, 0x65, 0x5d, 0xa4, 0xfb, 0xfc, 0x0E, 0x11, 0x08, 0xa8, 0xfd, 0x17, 0xb4, 0x48, 0xa6, 0x85, 0x54, 0x19, 0x9c, 0x47, 0xd0, 0x8f, 0xfb, 0x10, 0xd4, 0xb8, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x44, 0x03, 0x42, 0x00, -// public key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); +var W = new Array(80); -exports.privateKeyExport = function (privateKey, publicKey, compressed) { - var result = Buffer.from(compressed ? EC_PRIVKEY_EXPORT_DER_COMPRESSED : EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED); - privateKey.copy(result, compressed ? 8 : 9); - publicKey.copy(result, compressed ? 181 : 214); - return result; +function Sha() { + this.init(); + this._w = W; + + Hash.call(this, 64, 56); +} + +inherits(Sha, Hash); + +Sha.prototype.init = function () { + this._a = 0x67452301; + this._b = 0xefcdab89; + this._c = 0x98badcfe; + this._d = 0x10325476; + this._e = 0xc3d2e1f0; + + return this; }; -exports.privateKeyImport = function (privateKey) { - var length = privateKey.length; +function rotl5(num) { + return num << 5 | num >>> 27; +} - // sequence header - var index = 0; - if (length < index + 1 || privateKey[index] !== 0x30) return; - index += 1; +function rotl30(num) { + return num << 30 | num >>> 2; +} - // sequence length constructor - if (length < index + 1 || !(privateKey[index] & 0x80)) return; +function ft(s, b, c, d) { + if (s === 0) return b & c | ~b & d; + if (s === 2) return b & c | b & d | c & d; + return b ^ c ^ d; +} - var lenb = privateKey[index] & 0x7f; - index += 1; - if (lenb < 1 || lenb > 2) return; - if (length < index + lenb) return; +Sha.prototype._update = function (M) { + var W = this._w; - // sequence length - var len = privateKey[index + lenb - 1] | (lenb > 1 ? privateKey[index + lenb - 2] << 8 : 0); - index += lenb; - if (length < index + len) return; + var a = this._a | 0; + var b = this._b | 0; + var c = this._c | 0; + var d = this._d | 0; + var e = this._e | 0; - // sequence element 0: version number (=1) - if (length < index + 3 || privateKey[index] !== 0x02 || privateKey[index + 1] !== 0x01 || privateKey[index + 2] !== 0x01) { - return; - } - index += 3; + for (var i = 0; i < 16; ++i) { + W[i] = M.readInt32BE(i * 4); + }for (; i < 80; ++i) { + W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; + }for (var j = 0; j < 80; ++j) { + var s = ~~(j / 20); + var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; - // sequence element 1: octet string, up to 32 bytes - if (length < index + 2 || privateKey[index] !== 0x04 || privateKey[index + 1] > 0x20 || length < index + 2 + privateKey[index + 1]) { - return; + e = d; + d = c; + c = rotl30(b); + b = a; + a = t; } - return privateKey.slice(index + 2, index + 2 + privateKey[index + 1]); + this._a = a + this._a | 0; + this._b = b + this._b | 0; + this._c = c + this._c | 0; + this._d = d + this._d | 0; + this._e = e + this._e | 0; }; -exports.signatureExport = function (sigObj) { - var r = Buffer.concat([Buffer.from([0]), sigObj.r]); - for (var lenR = 33, posR = 0; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR) {} +Sha.prototype._hash = function () { + var H = Buffer.allocUnsafe(20); - var s = Buffer.concat([Buffer.from([0]), sigObj.s]); - for (var lenS = 33, posS = 0; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS) {} + H.writeInt32BE(this._a | 0, 0); + H.writeInt32BE(this._b | 0, 4); + H.writeInt32BE(this._c | 0, 8); + H.writeInt32BE(this._d | 0, 12); + H.writeInt32BE(this._e | 0, 16); - return bip66.encode(r.slice(posR), s.slice(posS)); + return H; }; -exports.signatureImport = function (sig) { - var r = Buffer.alloc(32, 0); - var s = Buffer.alloc(32, 0); +module.exports = Sha; - try { - var sigObj = bip66.decode(sig); - if (sigObj.r.length === 33 && sigObj.r[0] === 0x00) sigObj.r = sigObj.r.slice(1); - if (sigObj.r.length > 32) throw new Error('R length is too long'); - if (sigObj.s.length === 33 && sigObj.s[0] === 0x00) sigObj.s = sigObj.s.slice(1); - if (sigObj.s.length > 32) throw new Error('S length is too long'); - } catch (err) { - return; - } +},{"./hash":736,"inherits":671,"safe-buffer":728}],739:[function(require,module,exports){ +'use strict'; - sigObj.r.copy(r, 32 - sigObj.r.length); - sigObj.s.copy(s, 32 - sigObj.s.length); +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined + * in FIPS PUB 180-1 + * Version 2.1a Copyright Paul Johnston 2000 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for details. + */ - return { r: r, s: s }; -}; +var inherits = require('inherits'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; -exports.signatureImportLax = function (sig) { - var r = Buffer.alloc(32, 0); - var s = Buffer.alloc(32, 0); +var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; - var length = sig.length; - var index = 0; +var W = new Array(80); - // sequence tag byte - if (sig[index++] !== 0x30) return; +function Sha1() { + this.init(); + this._w = W; - // sequence length byte - var lenbyte = sig[index++]; - if (lenbyte & 0x80) { - index += lenbyte - 0x80; - if (index > length) return; - } + Hash.call(this, 64, 56); +} - // sequence tag byte for r - if (sig[index++] !== 0x02) return; +inherits(Sha1, Hash); - // length for r - var rlen = sig[index++]; - if (rlen & 0x80) { - lenbyte = rlen - 0x80; - if (index + lenbyte > length) return; - for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} - for (rlen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { - rlen = (rlen << 8) + sig[index]; - } - } - if (rlen > length - index) return; - var rindex = index; - index += rlen; +Sha1.prototype.init = function () { + this._a = 0x67452301; + this._b = 0xefcdab89; + this._c = 0x98badcfe; + this._d = 0x10325476; + this._e = 0xc3d2e1f0; - // sequence tag byte for s - if (sig[index++] !== 0x02) return; + return this; +}; - // length for s - var slen = sig[index++]; - if (slen & 0x80) { - lenbyte = slen - 0x80; - if (index + lenbyte > length) return; - for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} - for (slen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { - slen = (slen << 8) + sig[index]; - } - } - if (slen > length - index) return; - var sindex = index; - index += slen; +function rotl1(num) { + return num << 1 | num >>> 31; +} - // ignore leading zeros in r - for (; rlen > 0 && sig[rindex] === 0x00; rlen -= 1, rindex += 1) {} - // copy r value - if (rlen > 32) return; - var rvalue = sig.slice(rindex, rindex + rlen); - rvalue.copy(r, 32 - rvalue.length); +function rotl5(num) { + return num << 5 | num >>> 27; +} - // ignore leading zeros in s - for (; slen > 0 && sig[sindex] === 0x00; slen -= 1, sindex += 1) {} - // copy s value - if (slen > 32) return; - var svalue = sig.slice(sindex, sindex + slen); - svalue.copy(s, 32 - svalue.length); +function rotl30(num) { + return num << 30 | num >>> 2; +} - return { r: r, s: s }; -}; +function ft(s, b, c, d) { + if (s === 0) return b & c | ~b & d; + if (s === 2) return b & c | b & d | c & d; + return b ^ c ^ d; +} -},{"bip66":224,"safe-buffer":729}],735:[function(require,module,exports){ -'use strict'; +Sha1.prototype._update = function (M) { + var W = this._w; -var Buffer = require('safe-buffer').Buffer; -var createHash = require('create-hash'); -var BN = require('bn.js'); -var EC = require('elliptic').ec; + var a = this._a | 0; + var b = this._b | 0; + var c = this._c | 0; + var d = this._d | 0; + var e = this._e | 0; -var messages = require('../messages.json'); + for (var i = 0; i < 16; ++i) { + W[i] = M.readInt32BE(i * 4); + }for (; i < 80; ++i) { + W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]); + }for (var j = 0; j < 80; ++j) { + var s = ~~(j / 20); + var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; -var ec = new EC('secp256k1'); -var ecparams = ec.curve; + e = d; + d = c; + c = rotl30(b); + b = a; + a = t; + } -function loadCompressedPublicKey(first, xBuffer) { - var x = new BN(xBuffer); + this._a = a + this._a | 0; + this._b = b + this._b | 0; + this._c = c + this._c | 0; + this._d = d + this._d | 0; + this._e = e + this._e | 0; +}; - // overflow - if (x.cmp(ecparams.p) >= 0) return null; - x = x.toRed(ecparams.red); +Sha1.prototype._hash = function () { + var H = Buffer.allocUnsafe(20); - // compute corresponding Y - var y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt(); - if (first === 0x03 !== y.isOdd()) y = y.redNeg(); + H.writeInt32BE(this._a | 0, 0); + H.writeInt32BE(this._b | 0, 4); + H.writeInt32BE(this._c | 0, 8); + H.writeInt32BE(this._d | 0, 12); + H.writeInt32BE(this._e | 0, 16); - return ec.keyPair({ pub: { x: x, y: y } }); -} + return H; +}; -function loadUncompressedPublicKey(first, xBuffer, yBuffer) { - var x = new BN(xBuffer); - var y = new BN(yBuffer); +module.exports = Sha1; - // overflow - if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null; +},{"./hash":736,"inherits":671,"safe-buffer":728}],740:[function(require,module,exports){ +'use strict'; - x = x.toRed(ecparams.red); - y = y.toRed(ecparams.red); +/** + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined + * in FIPS 180-2 + * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * + */ - // is odd flag - if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null; +var inherits = require('inherits'); +var Sha256 = require('./sha256'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; - // x*x*x + b = y*y - var x3 = x.redSqr().redIMul(x); - if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null; +var W = new Array(64); - return ec.keyPair({ pub: { x: x, y: y } }); -} +function Sha224() { + this.init(); -function loadPublicKey(publicKey) { - var first = publicKey[0]; - switch (first) { - case 0x02: - case 0x03: - if (publicKey.length !== 33) return null; - return loadCompressedPublicKey(first, publicKey.slice(1, 33)); - case 0x04: - case 0x06: - case 0x07: - if (publicKey.length !== 65) return null; - return loadUncompressedPublicKey(first, publicKey.slice(1, 33), publicKey.slice(33, 65)); - default: - return null; - } + this._w = W; // new Array(64) + + Hash.call(this, 64, 56); } -exports.privateKeyVerify = function (privateKey) { - var bn = new BN(privateKey); - return bn.cmp(ecparams.n) < 0 && !bn.isZero(); -}; +inherits(Sha224, Sha256); -exports.privateKeyExport = function (privateKey, compressed) { - var d = new BN(privateKey); - if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PRIVATE_KEY_EXPORT_DER_FAIL); +Sha224.prototype.init = function () { + this._a = 0xc1059ed8; + this._b = 0x367cd507; + this._c = 0x3070dd17; + this._d = 0xf70e5939; + this._e = 0xffc00b31; + this._f = 0x68581511; + this._g = 0x64f98fa7; + this._h = 0xbefa4fa4; - return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); + return this; }; -exports.privateKeyNegate = function (privateKey) { - var bn = new BN(privateKey); - return bn.isZero() ? Buffer.alloc(32) : ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Buffer, 'be', 32); -}; +Sha224.prototype._hash = function () { + var H = Buffer.allocUnsafe(28); -exports.privateKeyModInverse = function (privateKey) { - var bn = new BN(privateKey); - if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_RANGE_INVALID); + H.writeInt32BE(this._a, 0); + H.writeInt32BE(this._b, 4); + H.writeInt32BE(this._c, 8); + H.writeInt32BE(this._d, 12); + H.writeInt32BE(this._e, 16); + H.writeInt32BE(this._f, 20); + H.writeInt32BE(this._g, 24); - return bn.invm(ecparams.n).toArrayLike(Buffer, 'be', 32); + return H; }; -exports.privateKeyTweakAdd = function (privateKey, tweak) { - var bn = new BN(tweak); - if (bn.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); +module.exports = Sha224; - bn.iadd(new BN(privateKey)); - if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n); - if (bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); +},{"./hash":736,"./sha256":741,"inherits":671,"safe-buffer":728}],741:[function(require,module,exports){ +'use strict'; - return bn.toArrayLike(Buffer, 'be', 32); -}; +/** + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined + * in FIPS 180-2 + * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * + */ -exports.privateKeyTweakMul = function (privateKey, tweak) { - var bn = new BN(tweak); - if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_MUL_FAIL); +var inherits = require('inherits'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; - bn.imul(new BN(privateKey)); - if (bn.cmp(ecparams.n)) bn = bn.umod(ecparams.n); +var K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2]; - return bn.toArrayLike(Buffer, 'be', 32); -}; +var W = new Array(64); -exports.publicKeyCreate = function (privateKey, compressed) { - var d = new BN(privateKey); - if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PUBLIC_KEY_CREATE_FAIL); - - return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); -}; - -exports.publicKeyConvert = function (publicKey, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +function Sha256() { + this.init(); - return Buffer.from(pair.getPublic(compressed, true)); -}; + this._w = W; // new Array(64) -exports.publicKeyVerify = function (publicKey) { - return loadPublicKey(publicKey) !== null; -}; + Hash.call(this, 64, 56); +} -exports.publicKeyTweakAdd = function (publicKey, tweak, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +inherits(Sha256, Hash); - tweak = new BN(tweak); - if (tweak.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_ADD_FAIL); +Sha256.prototype.init = function () { + this._a = 0x6a09e667; + this._b = 0xbb67ae85; + this._c = 0x3c6ef372; + this._d = 0xa54ff53a; + this._e = 0x510e527f; + this._f = 0x9b05688c; + this._g = 0x1f83d9ab; + this._h = 0x5be0cd19; - return Buffer.from(ecparams.g.mul(tweak).add(pair.pub).encode(true, compressed)); + return this; }; -exports.publicKeyTweakMul = function (publicKey, tweak, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +function ch(x, y, z) { + return z ^ x & (y ^ z); +} - tweak = new BN(tweak); - if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_MUL_FAIL); +function maj(x, y, z) { + return x & y | z & (x | y); +} - return Buffer.from(pair.pub.mul(tweak).encode(true, compressed)); -}; +function sigma0(x) { + return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10); +} -exports.publicKeyCombine = function (publicKeys, compressed) { - var pairs = new Array(publicKeys.length); - for (var i = 0; i < publicKeys.length; ++i) { - pairs[i] = loadPublicKey(publicKeys[i]); - if (pairs[i] === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - } +function sigma1(x) { + return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7); +} - var point = pairs[0].pub; - for (var j = 1; j < pairs.length; ++j) { - point = point.add(pairs[j].pub); - }if (point.isInfinity()) throw new Error(messages.EC_PUBLIC_KEY_COMBINE_FAIL); +function gamma0(x) { + return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3; +} - return Buffer.from(point.encode(true, compressed)); -}; +function gamma1(x) { + return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10; +} -exports.signatureNormalize = function (signature) { - var r = new BN(signature.slice(0, 32)); - var s = new BN(signature.slice(32, 64)); - if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); +Sha256.prototype._update = function (M) { + var W = this._w; - var result = Buffer.from(signature); - if (s.cmp(ec.nh) === 1) ecparams.n.sub(s).toArrayLike(Buffer, 'be', 32).copy(result, 32); + var a = this._a | 0; + var b = this._b | 0; + var c = this._c | 0; + var d = this._d | 0; + var e = this._e | 0; + var f = this._f | 0; + var g = this._g | 0; + var h = this._h | 0; - return result; -}; + for (var i = 0; i < 16; ++i) { + W[i] = M.readInt32BE(i * 4); + }for (; i < 64; ++i) { + W[i] = gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16] | 0; + }for (var j = 0; j < 64; ++j) { + var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W[j] | 0; + var T2 = sigma0(a) + maj(a, b, c) | 0; -exports.signatureExport = function (signature) { - var r = signature.slice(0, 32); - var s = signature.slice(32, 64); - if (new BN(r).cmp(ecparams.n) >= 0 || new BN(s).cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); + h = g; + g = f; + f = e; + e = d + T1 | 0; + d = c; + c = b; + b = a; + a = T1 + T2 | 0; + } - return { r: r, s: s }; + this._a = a + this._a | 0; + this._b = b + this._b | 0; + this._c = c + this._c | 0; + this._d = d + this._d | 0; + this._e = e + this._e | 0; + this._f = f + this._f | 0; + this._g = g + this._g | 0; + this._h = h + this._h | 0; }; -exports.signatureImport = function (sigObj) { - var r = new BN(sigObj.r); - if (r.cmp(ecparams.n) >= 0) r = new BN(0); +Sha256.prototype._hash = function () { + var H = Buffer.allocUnsafe(32); - var s = new BN(sigObj.s); - if (s.cmp(ecparams.n) >= 0) s = new BN(0); + H.writeInt32BE(this._a, 0); + H.writeInt32BE(this._b, 4); + H.writeInt32BE(this._c, 8); + H.writeInt32BE(this._d, 12); + H.writeInt32BE(this._e, 16); + H.writeInt32BE(this._f, 20); + H.writeInt32BE(this._g, 24); + H.writeInt32BE(this._h, 28); - return Buffer.concat([r.toArrayLike(Buffer, 'be', 32), s.toArrayLike(Buffer, 'be', 32)]); + return H; }; -exports.sign = function (message, privateKey, noncefn, data) { - if (typeof noncefn === 'function') { - var getNonce = noncefn; - noncefn = function noncefn(counter) { - var nonce = getNonce(message, privateKey, null, data, counter); - if (!Buffer.isBuffer(nonce) || nonce.length !== 32) throw new Error(messages.ECDSA_SIGN_FAIL); +module.exports = Sha256; - return new BN(nonce); - }; - } +},{"./hash":736,"inherits":671,"safe-buffer":728}],742:[function(require,module,exports){ +'use strict'; - var d = new BN(privateKey); - if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.ECDSA_SIGN_FAIL); +var inherits = require('inherits'); +var SHA512 = require('./sha512'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; - var result = ec.sign(message, privateKey, { canonical: true, k: noncefn, pers: data }); - return { - signature: Buffer.concat([result.r.toArrayLike(Buffer, 'be', 32), result.s.toArrayLike(Buffer, 'be', 32)]), - recovery: result.recoveryParam - }; -}; +var W = new Array(160); -exports.verify = function (message, signature, publicKey) { - var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; +function Sha384() { + this.init(); + this._w = W; - var sigr = new BN(sigObj.r); - var sigs = new BN(sigObj.s); - if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); - if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return false; + Hash.call(this, 128, 112); +} - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +inherits(Sha384, SHA512); - return ec.verify(message, sigObj, { x: pair.pub.x, y: pair.pub.y }); -}; +Sha384.prototype.init = function () { + this._ah = 0xcbbb9d5d; + this._bh = 0x629a292a; + this._ch = 0x9159015a; + this._dh = 0x152fecd8; + this._eh = 0x67332667; + this._fh = 0x8eb44a87; + this._gh = 0xdb0c2e0d; + this._hh = 0x47b5481d; -exports.recover = function (message, signature, recovery, compressed) { - var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; + this._al = 0xc1059ed8; + this._bl = 0x367cd507; + this._cl = 0x3070dd17; + this._dl = 0xf70e5939; + this._el = 0xffc00b31; + this._fl = 0x68581511; + this._gl = 0x64f98fa7; + this._hl = 0xbefa4fa4; - var sigr = new BN(sigObj.r); - var sigs = new BN(sigObj.s); - if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); + return this; +}; - try { - if (sigr.isZero() || sigs.isZero()) throw new Error(); +Sha384.prototype._hash = function () { + var H = Buffer.allocUnsafe(48); - var point = ec.recoverPubKey(message, sigObj, recovery); - return Buffer.from(point.encode(true, compressed)); - } catch (err) { - throw new Error(messages.ECDSA_RECOVER_FAIL); + function writeInt64BE(h, l, offset) { + H.writeInt32BE(h, offset); + H.writeInt32BE(l, offset + 4); } -}; -exports.ecdh = function (publicKey, privateKey) { - var shared = exports.ecdhUnsafe(publicKey, privateKey, true); - return createHash('sha256').update(shared).digest(); + writeInt64BE(this._ah, this._al, 0); + writeInt64BE(this._bh, this._bl, 8); + writeInt64BE(this._ch, this._cl, 16); + writeInt64BE(this._dh, this._dl, 24); + writeInt64BE(this._eh, this._el, 32); + writeInt64BE(this._fh, this._fl, 40); + + return H; }; -exports.ecdhUnsafe = function (publicKey, privateKey, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +module.exports = Sha384; - var scalar = new BN(privateKey); - if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) throw new Error(messages.ECDH_FAIL); +},{"./hash":736,"./sha512":743,"inherits":671,"safe-buffer":728}],743:[function(require,module,exports){ +'use strict'; - return Buffer.from(pair.pub.mul(scalar).encode(true, compressed)); -}; +var inherits = require('inherits'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; -},{"../messages.json":737,"bn.js":226,"create-hash":593,"elliptic":612,"safe-buffer":729}],736:[function(require,module,exports){ -'use strict'; +var K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817]; -var assert = require('./assert'); -var der = require('./der'); -var messages = require('./messages.json'); +var W = new Array(160); -function initCompressedValue(value, defaultValue) { - if (value === undefined) return defaultValue; +function Sha512() { + this.init(); + this._w = W; - assert.isBoolean(value, messages.COMPRESSED_TYPE_INVALID); - return value; + Hash.call(this, 128, 112); } -module.exports = function (secp256k1) { - return { - privateKeyVerify: function privateKeyVerify(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - return privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey); - }, +inherits(Sha512, Hash); - privateKeyExport: function privateKeyExport(privateKey, compressed) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +Sha512.prototype.init = function () { + this._ah = 0x6a09e667; + this._bh = 0xbb67ae85; + this._ch = 0x3c6ef372; + this._dh = 0xa54ff53a; + this._eh = 0x510e527f; + this._fh = 0x9b05688c; + this._gh = 0x1f83d9ab; + this._hh = 0x5be0cd19; - compressed = initCompressedValue(compressed, true); - var publicKey = secp256k1.privateKeyExport(privateKey, compressed); + this._al = 0xf3bcc908; + this._bl = 0x84caa73b; + this._cl = 0xfe94f82b; + this._dl = 0x5f1d36f1; + this._el = 0xade682d1; + this._fl = 0x2b3e6c1f; + this._gl = 0xfb41bd6b; + this._hl = 0x137e2179; - return der.privateKeyExport(privateKey, publicKey, compressed); - }, + return this; +}; - privateKeyImport: function privateKeyImport(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); +function Ch(x, y, z) { + return z ^ x & (y ^ z); +} - privateKey = der.privateKeyImport(privateKey); - if (privateKey && privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey)) return privateKey; +function maj(x, y, z) { + return x & y | z & (x | y); +} - throw new Error(messages.EC_PRIVATE_KEY_IMPORT_DER_FAIL); - }, +function sigma0(x, xl) { + return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25); +} - privateKeyNegate: function privateKeyNegate(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +function sigma1(x, xl) { + return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23); +} - return secp256k1.privateKeyNegate(privateKey); - }, +function Gamma0(x, xl) { + return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7; +} - privateKeyModInverse: function privateKeyModInverse(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +function Gamma0l(x, xl) { + return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25); +} - return secp256k1.privateKeyModInverse(privateKey); - }, +function Gamma1(x, xl) { + return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6; +} - privateKeyTweakAdd: function privateKeyTweakAdd(privateKey, tweak) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +function Gamma1l(x, xl) { + return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26); +} - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); +function getCarry(a, b) { + return a >>> 0 < b >>> 0 ? 1 : 0; +} - return secp256k1.privateKeyTweakAdd(privateKey, tweak); - }, +Sha512.prototype._update = function (M) { + var W = this._w; - privateKeyTweakMul: function privateKeyTweakMul(privateKey, tweak) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + var ah = this._ah | 0; + var bh = this._bh | 0; + var ch = this._ch | 0; + var dh = this._dh | 0; + var eh = this._eh | 0; + var fh = this._fh | 0; + var gh = this._gh | 0; + var hh = this._hh | 0; - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); + var al = this._al | 0; + var bl = this._bl | 0; + var cl = this._cl | 0; + var dl = this._dl | 0; + var el = this._el | 0; + var fl = this._fl | 0; + var gl = this._gl | 0; + var hl = this._hl | 0; - return secp256k1.privateKeyTweakMul(privateKey, tweak); - }, + for (var i = 0; i < 32; i += 2) { + W[i] = M.readInt32BE(i * 4); + W[i + 1] = M.readInt32BE(i * 4 + 4); + } + for (; i < 160; i += 2) { + var xh = W[i - 15 * 2]; + var xl = W[i - 15 * 2 + 1]; + var gamma0 = Gamma0(xh, xl); + var gamma0l = Gamma0l(xl, xh); - publicKeyCreate: function publicKeyCreate(privateKey, compressed) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + xh = W[i - 2 * 2]; + xl = W[i - 2 * 2 + 1]; + var gamma1 = Gamma1(xh, xl); + var gamma1l = Gamma1l(xl, xh); - compressed = initCompressedValue(compressed, true); + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7h = W[i - 7 * 2]; + var Wi7l = W[i - 7 * 2 + 1]; - return secp256k1.publicKeyCreate(privateKey, compressed); - }, + var Wi16h = W[i - 16 * 2]; + var Wi16l = W[i - 16 * 2 + 1]; - publicKeyConvert: function publicKeyConvert(publicKey, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + var Wil = gamma0l + Wi7l | 0; + var Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0; + Wil = Wil + gamma1l | 0; + Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0; + Wil = Wil + Wi16l | 0; + Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0; - compressed = initCompressedValue(compressed, true); + W[i] = Wih; + W[i + 1] = Wil; + } - return secp256k1.publicKeyConvert(publicKey, compressed); - }, + for (var j = 0; j < 160; j += 2) { + Wih = W[j]; + Wil = W[j + 1]; - publicKeyVerify: function publicKeyVerify(publicKey) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - return secp256k1.publicKeyVerify(publicKey); - }, + var majh = maj(ah, bh, ch); + var majl = maj(al, bl, cl); - publicKeyTweakAdd: function publicKeyTweakAdd(publicKey, tweak, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + var sigma0h = sigma0(ah, al); + var sigma0l = sigma0(al, ah); + var sigma1h = sigma1(eh, el); + var sigma1l = sigma1(el, eh); - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); + // t1 = h + sigma1 + ch + K[j] + W[j] + var Kih = K[j]; + var Kil = K[j + 1]; - compressed = initCompressedValue(compressed, true); + var chh = Ch(eh, fh, gh); + var chl = Ch(el, fl, gl); - return secp256k1.publicKeyTweakAdd(publicKey, tweak, compressed); - }, + var t1l = hl + sigma1l | 0; + var t1h = hh + sigma1h + getCarry(t1l, hl) | 0; + t1l = t1l + chl | 0; + t1h = t1h + chh + getCarry(t1l, chl) | 0; + t1l = t1l + Kil | 0; + t1h = t1h + Kih + getCarry(t1l, Kil) | 0; + t1l = t1l + Wil | 0; + t1h = t1h + Wih + getCarry(t1l, Wil) | 0; - publicKeyTweakMul: function publicKeyTweakMul(publicKey, tweak, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + // t2 = sigma0 + maj + var t2l = sigma0l + majl | 0; + var t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0; - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + el = dl + t1l | 0; + eh = dh + t1h + getCarry(el, dl) | 0; + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + al = t1l + t2l | 0; + ah = t1h + t2h + getCarry(al, t1l) | 0; + } - compressed = initCompressedValue(compressed, true); + this._al = this._al + al | 0; + this._bl = this._bl + bl | 0; + this._cl = this._cl + cl | 0; + this._dl = this._dl + dl | 0; + this._el = this._el + el | 0; + this._fl = this._fl + fl | 0; + this._gl = this._gl + gl | 0; + this._hl = this._hl + hl | 0; - return secp256k1.publicKeyTweakMul(publicKey, tweak, compressed); - }, + this._ah = this._ah + ah + getCarry(this._al, al) | 0; + this._bh = this._bh + bh + getCarry(this._bl, bl) | 0; + this._ch = this._ch + ch + getCarry(this._cl, cl) | 0; + this._dh = this._dh + dh + getCarry(this._dl, dl) | 0; + this._eh = this._eh + eh + getCarry(this._el, el) | 0; + this._fh = this._fh + fh + getCarry(this._fl, fl) | 0; + this._gh = this._gh + gh + getCarry(this._gl, gl) | 0; + this._hh = this._hh + hh + getCarry(this._hl, hl) | 0; +}; - publicKeyCombine: function publicKeyCombine(publicKeys, compressed) { - assert.isArray(publicKeys, messages.EC_PUBLIC_KEYS_TYPE_INVALID); - assert.isLengthGTZero(publicKeys, messages.EC_PUBLIC_KEYS_LENGTH_INVALID); - for (var i = 0; i < publicKeys.length; ++i) { - assert.isBuffer(publicKeys[i], messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKeys[i], 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - } +Sha512.prototype._hash = function () { + var H = Buffer.allocUnsafe(64); - compressed = initCompressedValue(compressed, true); + function writeInt64BE(h, l, offset) { + H.writeInt32BE(h, offset); + H.writeInt32BE(l, offset + 4); + } - return secp256k1.publicKeyCombine(publicKeys, compressed); - }, + writeInt64BE(this._ah, this._al, 0); + writeInt64BE(this._bh, this._bl, 8); + writeInt64BE(this._ch, this._cl, 16); + writeInt64BE(this._dh, this._dl, 24); + writeInt64BE(this._eh, this._el, 32); + writeInt64BE(this._fh, this._fl, 40); + writeInt64BE(this._gh, this._gl, 48); + writeInt64BE(this._hh, this._hl, 56); - signatureNormalize: function signatureNormalize(signature) { - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); + return H; +}; - return secp256k1.signatureNormalize(signature); - }, +module.exports = Sha512; - signatureExport: function signatureExport(signature) { - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); +},{"./hash":736,"inherits":671,"safe-buffer":728}],744:[function(require,module,exports){ +"use strict"; - var sigObj = secp256k1.signatureExport(signature); - return der.signatureExport(sigObj); - }, +var distance = require("leven"); - signatureImport: function signatureImport(sig) { - assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); +module.exports = function (a, b) { + if (!a || !b || !a.length || !b.length) return 0; + if (a === b) return 1; + var d = distance(a.toLowerCase(), b.toLowerCase()); + var longest = Math.max(a.length, b.length); + return (longest - d) / longest; +}; - var sigObj = der.signatureImport(sig); - if (sigObj) return secp256k1.signatureImport(sigObj); +},{"leven":682}],745:[function(require,module,exports){ +(function (Buffer){ +'use strict'; - throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); - }, +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - signatureImportLax: function signatureImportLax(sig) { - assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); +module.exports = Peer; - var sigObj = der.signatureImportLax(sig); - if (sigObj) return secp256k1.signatureImport(sigObj); +var debug = require('debug')('simple-peer'); +var getBrowserRTC = require('get-browser-rtc'); +var inherits = require('inherits'); +var randombytes = require('randombytes'); +var stream = require('readable-stream'); - throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); - }, +var MAX_BUFFERED_AMOUNT = 64 * 1024; - sign: function sign(message, privateKey, options) { - assert.isBuffer(message, messages.MSG32_TYPE_INVALID); - assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); +inherits(Peer, stream.Duplex); - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +/** + * WebRTC peer connection. Same API as node core `net.Socket`, plus a few extra methods. + * Duplex stream. + * @param {Object} opts + */ +function Peer(opts) { + var self = this; + if (!(self instanceof Peer)) return new Peer(opts); - var data = null; - var noncefn = null; - if (options !== undefined) { - assert.isObject(options, messages.OPTIONS_TYPE_INVALID); + self._id = randombytes(4).toString('hex').slice(0, 7); + self._debug('new peer %o', opts); - if (options.data !== undefined) { - assert.isBuffer(options.data, messages.OPTIONS_DATA_TYPE_INVALID); - assert.isBufferLength(options.data, 32, messages.OPTIONS_DATA_LENGTH_INVALID); - data = options.data; - } + opts = Object.assign({ + allowHalfOpen: false + }, opts); - if (options.noncefn !== undefined) { - assert.isFunction(options.noncefn, messages.OPTIONS_NONCEFN_TYPE_INVALID); - noncefn = options.noncefn; - } - } + stream.Duplex.call(self, opts); - return secp256k1.sign(message, privateKey, noncefn, data); - }, + self.channelName = opts.initiator ? opts.channelName || randombytes(20).toString('hex') : null; - verify: function verify(message, signature, publicKey) { - assert.isBuffer(message, messages.MSG32_TYPE_INVALID); - assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); + // Needed by _transformConstraints, so set this early + self._isChromium = typeof window !== 'undefined' && !!window.webkitRTCPeerConnection; - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); + self.initiator = opts.initiator || false; + self.channelConfig = opts.channelConfig || Peer.channelConfig; + self.config = opts.config || Peer.config; + self.constraints = self._transformConstraints(opts.constraints || Peer.constraints); + self.offerConstraints = self._transformConstraints(opts.offerConstraints || {}); + self.answerConstraints = self._transformConstraints(opts.answerConstraints || {}); + self.sdpTransform = opts.sdpTransform || function (sdp) { + return sdp; + }; + self.streams = opts.streams || (opts.stream ? [opts.stream] : []); // support old "stream" option + self.trickle = opts.trickle !== undefined ? opts.trickle : true; - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + self.destroyed = false; + self.connected = false; - return secp256k1.verify(message, signature, publicKey); - }, + self.remoteAddress = undefined; + self.remoteFamily = undefined; + self.remotePort = undefined; + self.localAddress = undefined; + self.localPort = undefined; - recover: function recover(message, signature, recovery, compressed) { - assert.isBuffer(message, messages.MSG32_TYPE_INVALID); - assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); + self._wrtc = opts.wrtc && _typeof(opts.wrtc) === 'object' ? opts.wrtc : getBrowserRTC(); - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); + if (!self._wrtc) { + if (typeof window === 'undefined') { + throw makeError('No WebRTC support: Specify `opts.wrtc` option in this environment', 'ERR_WEBRTC_SUPPORT'); + } else { + throw makeError('No WebRTC support: Not a supported browser', 'ERR_WEBRTC_SUPPORT'); + } + } - assert.isNumber(recovery, messages.RECOVERY_ID_TYPE_INVALID); - assert.isNumberInInterval(recovery, -1, 4, messages.RECOVERY_ID_VALUE_INVALID); + self._pcReady = false; + self._channelReady = false; + self._iceComplete = false; // ice candidate trickle done (got null candidate) + self._channel = null; + self._pendingCandidates = []; - compressed = initCompressedValue(compressed, true); + self._isNegotiating = false; // is this peer waiting for negotiation to complete? + self._batchedNegotiation = false; // batch synchronous negotiations + self._queuedNegotiation = false; // is there a queued negotiation request? + self._sendersAwaitingStable = []; + self._senderMap = new WeakMap(); - return secp256k1.recover(message, signature, recovery, compressed); - }, + self._remoteTracks = []; + self._remoteStreams = []; - ecdh: function ecdh(publicKey, privateKey) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + self._chunk = null; + self._cb = null; + self._interval = null; - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + self._pc = new self._wrtc.RTCPeerConnection(self.config, self.constraints); - return secp256k1.ecdh(publicKey, privateKey); - }, + // We prefer feature detection whenever possible, but sometimes that's not + // possible for certain implementations. + self._isReactNativeWebrtc = typeof self._pc._peerConnectionId === 'number'; - ecdhUnsafe: function ecdhUnsafe(publicKey, privateKey, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + self._pc.oniceconnectionstatechange = function () { + self._onIceStateChange(); + }; + self._pc.onicegatheringstatechange = function () { + self._onIceStateChange(); + }; + self._pc.onsignalingstatechange = function () { + self._onSignalingStateChange(); + }; + self._pc.onicecandidate = function (event) { + self._onIceCandidate(event); + }; - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + // Other spec events, unused by this implementation: + // - onconnectionstatechange + // - onicecandidateerror + // - onfingerprintfailure + // - onnegotiationneeded - compressed = initCompressedValue(compressed, true); + if (self.initiator) { + self._setupData({ + channel: self._pc.createDataChannel(self.channelName, self.channelConfig) + }); + } else { + self._pc.ondatachannel = function (event) { + self._setupData(event); + }; + } - return secp256k1.ecdhUnsafe(publicKey, privateKey, compressed); + if ('addTrack' in self._pc) { + if (self.streams) { + self.streams.forEach(function (stream) { + self.addStream(stream); + }); } - }; -}; + self._pc.ontrack = function (event) { + self._onTrack(event); + }; + } -},{"./assert":733,"./der":734,"./messages.json":737}],737:[function(require,module,exports){ -module.exports={ - "COMPRESSED_TYPE_INVALID": "compressed should be a boolean", - "EC_PRIVATE_KEY_TYPE_INVALID": "private key should be a Buffer", - "EC_PRIVATE_KEY_LENGTH_INVALID": "private key length is invalid", - "EC_PRIVATE_KEY_RANGE_INVALID": "private key range is invalid", - "EC_PRIVATE_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting private key is invalid", - "EC_PRIVATE_KEY_TWEAK_MUL_FAIL": "tweak out of range", - "EC_PRIVATE_KEY_EXPORT_DER_FAIL": "couldn't export to DER format", - "EC_PRIVATE_KEY_IMPORT_DER_FAIL": "couldn't import from DER format", - "EC_PUBLIC_KEYS_TYPE_INVALID": "public keys should be an Array", - "EC_PUBLIC_KEYS_LENGTH_INVALID": "public keys Array should have at least 1 element", - "EC_PUBLIC_KEY_TYPE_INVALID": "public key should be a Buffer", - "EC_PUBLIC_KEY_LENGTH_INVALID": "public key length is invalid", - "EC_PUBLIC_KEY_PARSE_FAIL": "the public key could not be parsed or is invalid", - "EC_PUBLIC_KEY_CREATE_FAIL": "private was invalid, try again", - "EC_PUBLIC_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting public key is invalid", - "EC_PUBLIC_KEY_TWEAK_MUL_FAIL": "tweak out of range", - "EC_PUBLIC_KEY_COMBINE_FAIL": "the sum of the public keys is not valid", - "ECDH_FAIL": "scalar was invalid (zero or overflow)", - "ECDSA_SIGNATURE_TYPE_INVALID": "signature should be a Buffer", - "ECDSA_SIGNATURE_LENGTH_INVALID": "signature length is invalid", - "ECDSA_SIGNATURE_PARSE_FAIL": "couldn't parse signature", - "ECDSA_SIGNATURE_PARSE_DER_FAIL": "couldn't parse DER signature", - "ECDSA_SIGNATURE_SERIALIZE_DER_FAIL": "couldn't serialize signature to DER format", - "ECDSA_SIGN_FAIL": "nonce generation function failed or private key is invalid", - "ECDSA_RECOVER_FAIL": "couldn't recover public key from signature", - "MSG32_TYPE_INVALID": "message should be a Buffer", - "MSG32_LENGTH_INVALID": "message length is invalid", - "OPTIONS_TYPE_INVALID": "options should be an Object", - "OPTIONS_DATA_TYPE_INVALID": "options.data should be a Buffer", - "OPTIONS_DATA_LENGTH_INVALID": "options.data length is invalid", - "OPTIONS_NONCEFN_TYPE_INVALID": "options.noncefn should be a Function", - "RECOVERY_ID_TYPE_INVALID": "recovery should be a Number", - "RECOVERY_ID_VALUE_INVALID": "recovery should have value between -1 and 4", - "TWEAK_TYPE_INVALID": "tweak should be a Buffer", - "TWEAK_LENGTH_INVALID": "tweak length is invalid" + if (self.initiator) { + self._needsNegotiation(); + } + + self._onFinishBound = function () { + self._onFinish(); + }; + self.once('finish', self._onFinishBound); } -},{}],738:[function(require,module,exports){ -'use strict'; +Peer.WEBRTC_SUPPORT = !!getBrowserRTC(); -var Buffer = require('safe-buffer').Buffer; +/** + * Expose config, constraints, and data channel config for overriding all Peer + * instances. Otherwise, just set opts.config, opts.constraints, or opts.channelConfig + * when constructing a Peer. + */ +Peer.config = { + iceServers: [{ + urls: 'stun:stun.l.google.com:19302' + }, { + urls: 'stun:global.stun.twilio.com:3478?transport=udp' + }] +}; +Peer.constraints = {}; +Peer.channelConfig = {}; -// prototype class for hash functions -function Hash(blockSize, finalSize) { - this._block = Buffer.alloc(blockSize); - this._finalSize = finalSize; - this._blockSize = blockSize; - this._len = 0; -} +Object.defineProperty(Peer.prototype, 'bufferSize', { + get: function get() { + var self = this; + return self._channel && self._channel.bufferedAmount || 0; + } +}); -Hash.prototype.update = function (data, enc) { +Peer.prototype.address = function () { + var self = this; + return { port: self.localPort, family: 'IPv4', address: self.localAddress }; +}; + +Peer.prototype.signal = function (data) { + var self = this; + if (self.destroyed) throw makeError('cannot signal after peer is destroyed', 'ERR_SIGNALING'); if (typeof data === 'string') { - enc = enc || 'utf8'; - data = Buffer.from(data, enc); + try { + data = JSON.parse(data); + } catch (err) { + data = {}; + } } + self._debug('signal()'); - var block = this._block; - var blockSize = this._blockSize; - var length = data.length; - var accum = this._len; - - for (var offset = 0; offset < length;) { - var assigned = accum % blockSize; - var remainder = Math.min(length - offset, blockSize - assigned); + if (data.renegotiate) { + self._debug('got request to renegotiate'); + self._needsNegotiation(); + } + if (data.candidate) { + if (self._pc.remoteDescription && self._pc.remoteDescription.type) self._addIceCandidate(data.candidate);else self._pendingCandidates.push(data.candidate); + } + if (data.sdp) { + self._pc.setRemoteDescription(new self._wrtc.RTCSessionDescription(data), function () { + if (self.destroyed) return; - for (var i = 0; i < remainder; i++) { - block[assigned + i] = data[offset + i]; - } + self._pendingCandidates.forEach(function (candidate) { + self._addIceCandidate(candidate); + }); + self._pendingCandidates = []; - accum += remainder; - offset += remainder; + if (self._pc.remoteDescription.type === 'offer') self._createAnswer(); + }, function (err) { + self.destroy(makeError(err, 'ERR_SET_REMOTE_DESCRIPTION')); + }); + } + if (!data.sdp && !data.candidate && !data.renegotiate) { + self.destroy(makeError('signal() called with invalid signal data', 'ERR_SIGNALING')); + } +}; - if (accum % blockSize === 0) { - this._update(block); - } +Peer.prototype._addIceCandidate = function (candidate) { + var self = this; + try { + self._pc.addIceCandidate(new self._wrtc.RTCIceCandidate(candidate), noop, function (err) { + self.destroy(makeError(err, 'ERR_ADD_ICE_CANDIDATE')); + }); + } catch (err) { + self.destroy(makeError('error adding candidate: ' + err.message, 'ERR_ADD_ICE_CANDIDATE')); } +}; - this._len += length; - return this; +/** + * Send text/binary data to the remote peer. + * @param {ArrayBufferView|ArrayBuffer|Buffer|string|Blob} chunk + */ +Peer.prototype.send = function (chunk) { + var self = this; + self._channel.send(chunk); }; -Hash.prototype.digest = function (enc) { - var rem = this._len % this._blockSize; +/** + * Add a MediaStream to the connection. + * @param {MediaStream} stream + */ +Peer.prototype.addStream = function (stream) { + var self = this; - this._block[rem] = 0x80; + self._debug('addStream()'); - // zero (rem + 1) trailing bits, where (rem + 1) is the smallest - // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize - this._block.fill(0, rem + 1); + stream.getTracks().forEach(function (track) { + self.addTrack(track, stream); + }); +}; - if (rem >= this._finalSize) { - this._update(this._block); - this._block.fill(0); - } +/** + * Add a MediaStreamTrack to the connection. + * @param {MediaStreamTrack} track + * @param {MediaStream} stream + */ +Peer.prototype.addTrack = function (track, stream) { + var self = this; - var bits = this._len * 8; + self._debug('addTrack()'); - // uint32 - if (bits <= 0xffffffff) { - this._block.writeUInt32BE(bits, this._blockSize - 4); + var sender = self._pc.addTrack(track, stream); + var submap = self._senderMap.get(track) || new WeakMap(); // nested WeakMaps map [track, stream] to sender + submap.set(stream, sender); + self._senderMap.set(track, submap); + self._needsNegotiation(); +}; - // uint64 - } else { - var lowBits = (bits & 0xffffffff) >>> 0; - var highBits = (bits - lowBits) / 0x100000000; +/** + * Remove a MediaStreamTrack from the connection. + * @param {MediaStreamTrack} track + * @param {MediaStream} stream + */ +Peer.prototype.removeTrack = function (track, stream) { + var self = this; - this._block.writeUInt32BE(highBits, this._blockSize - 8); - this._block.writeUInt32BE(lowBits, this._blockSize - 4); + self._debug('removeSender()'); + + var submap = self._senderMap.get(track); + var sender = submap ? submap.get(stream) : null; + if (!sender) { + self.destroy(new Error('Cannot remove track that was never added.')); + } + try { + self._pc.removeTrack(sender); + } catch (err) { + if (err.name === 'NS_ERROR_UNEXPECTED') { + self._sendersAwaitingStable.push(sender); // HACK: Firefox must wait until (signalingState === stable) https://bugzilla.mozilla.org/show_bug.cgi?id=1133874 + } else { + self.destroy(err); + } } +}; - this._update(this._block); - var hash = this._hash(); +/** + * Remove a MediaStream from the connection. + * @param {MediaStream} stream + */ +Peer.prototype.removeStream = function (stream) { + var self = this; - return enc ? hash.toString(enc) : hash; -}; + self._debug('removeSenders()'); -Hash.prototype._update = function () { - throw new Error('_update must be implemented by subclass'); + stream.getTracks().forEach(function (track) { + self.removeTrack(track, stream); + }); }; -module.exports = Hash; - -},{"safe-buffer":729}],739:[function(require,module,exports){ -'use strict'; +Peer.prototype._needsNegotiation = function () { + var self = this; -var _exports = module.exports = function SHA(algorithm) { - algorithm = algorithm.toLowerCase(); + self._debug('_needsNegotiation'); + if (self._batchedNegotiation) return; // batch synchronous renegotiations + self._batchedNegotiation = true; + setTimeout(function () { + self._batchedNegotiation = false; + self._debug('starting batched negotiation'); + self.negotiate(); + }, 0); +}; - var Algorithm = _exports[algorithm]; - if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)'); +Peer.prototype.negotiate = function () { + var self = this; - return new Algorithm(); + if (self.initiator) { + if (self._isNegotiating) { + self._queuedNegotiation = true; + self._debug('already negotiating, queueing'); + } else { + self._debug('start negotiation'); + self._createOffer(); + } + } else { + self._debug('requesting negotiation from initiator'); + self.emit('signal', { // request initiator to renegotiate + renegotiate: true + }); + } + self._isNegotiating = true; }; -_exports.sha = require('./sha'); -_exports.sha1 = require('./sha1'); -_exports.sha224 = require('./sha224'); -_exports.sha256 = require('./sha256'); -_exports.sha384 = require('./sha384'); -_exports.sha512 = require('./sha512'); +// TODO: Delete this method once readable-stream is updated to contain a default +// implementation of destroy() that automatically calls _destroy() +// See: https://github.com/nodejs/readable-stream/issues/283 +Peer.prototype.destroy = function (err) { + var self = this; + self._destroy(err, function () {}); +}; -},{"./sha":740,"./sha1":741,"./sha224":742,"./sha256":743,"./sha384":744,"./sha512":745}],740:[function(require,module,exports){ -'use strict'; +Peer.prototype._destroy = function (err, cb) { + var self = this; + if (self.destroyed) return; -/* - * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined - * in FIPS PUB 180-1 - * This source code is derived from sha1.js of the same repository. - * The difference between SHA-0 and SHA-1 is just a bitwise rotate left - * operation was added. - */ + self._debug('destroy (error: %s)', err && (err.message || err)); -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + self.readable = self.writable = false; -var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; + if (!self._readableState.ended) self.push(null); + if (!self._writableState.finished) self.end(); -var W = new Array(80); + self.destroyed = true; + self.connected = false; + self._pcReady = false; + self._channelReady = false; + self._remoteTracks = null; + self._remoteStreams = null; + self._senderMap = null; -function Sha() { - this.init(); - this._w = W; + clearInterval(self._interval); + self._interval = null; + self._chunk = null; + self._cb = null; - Hash.call(this, 64, 56); -} + if (self._onFinishBound) self.removeListener('finish', self._onFinishBound); + self._onFinishBound = null; -inherits(Sha, Hash); + if (self._channel) { + try { + self._channel.close(); + } catch (err) {} -Sha.prototype.init = function () { - this._a = 0x67452301; - this._b = 0xefcdab89; - this._c = 0x98badcfe; - this._d = 0x10325476; - this._e = 0xc3d2e1f0; + self._channel.onmessage = null; + self._channel.onopen = null; + self._channel.onclose = null; + self._channel.onerror = null; + } + if (self._pc) { + try { + self._pc.close(); + } catch (err) {} - return this; + self._pc.oniceconnectionstatechange = null; + self._pc.onicegatheringstatechange = null; + self._pc.onsignalingstatechange = null; + self._pc.onicecandidate = null; + if ('addTrack' in self._pc) { + self._pc.ontrack = null; + } + self._pc.ondatachannel = null; + } + self._pc = null; + self._channel = null; + + if (err) self.emit('error', err); + self.emit('close'); + cb(); }; -function rotl5(num) { - return num << 5 | num >>> 27; -} +Peer.prototype._setupData = function (event) { + var self = this; + if (!event.channel) { + // In some situations `pc.createDataChannel()` returns `undefined` (in wrtc), + // which is invalid behavior. Handle it gracefully. + // See: https://github.com/feross/simple-peer/issues/163 + return self.destroy(makeError('Data channel event is missing `channel` property', 'ERR_DATA_CHANNEL')); + } -function rotl30(num) { - return num << 30 | num >>> 2; -} + self._channel = event.channel; + self._channel.binaryType = 'arraybuffer'; -function ft(s, b, c, d) { - if (s === 0) return b & c | ~b & d; - if (s === 2) return b & c | b & d | c & d; - return b ^ c ^ d; -} + if (typeof self._channel.bufferedAmountLowThreshold === 'number') { + self._channel.bufferedAmountLowThreshold = MAX_BUFFERED_AMOUNT; + } -Sha.prototype._update = function (M) { - var W = this._w; + self.channelName = self._channel.label; - var a = this._a | 0; - var b = this._b | 0; - var c = this._c | 0; - var d = this._d | 0; - var e = this._e | 0; + self._channel.onmessage = function (event) { + self._onChannelMessage(event); + }; + self._channel.onbufferedamountlow = function () { + self._onChannelBufferedAmountLow(); + }; + self._channel.onopen = function () { + self._onChannelOpen(); + }; + self._channel.onclose = function () { + self._onChannelClose(); + }; + self._channel.onerror = function (err) { + self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); + }; +}; - for (var i = 0; i < 16; ++i) { - W[i] = M.readInt32BE(i * 4); - }for (; i < 80; ++i) { - W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; - }for (var j = 0; j < 80; ++j) { - var s = ~~(j / 20); - var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; +Peer.prototype._read = function () {}; - e = d; - d = c; - c = rotl30(b); - b = a; - a = t; - } +Peer.prototype._write = function (chunk, encoding, cb) { + var self = this; + if (self.destroyed) return cb(makeError('cannot write after peer is destroyed', 'ERR_DATA_CHANNEL')); - this._a = a + this._a | 0; - this._b = b + this._b | 0; - this._c = c + this._c | 0; - this._d = d + this._d | 0; - this._e = e + this._e | 0; + if (self.connected) { + try { + self.send(chunk); + } catch (err) { + return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); + } + if (self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { + self._debug('start backpressure: bufferedAmount %d', self._channel.bufferedAmount); + self._cb = cb; + } else { + cb(null); + } + } else { + self._debug('write before connect'); + self._chunk = chunk; + self._cb = cb; + } }; -Sha.prototype._hash = function () { - var H = Buffer.allocUnsafe(20); +// When stream finishes writing, close socket. Half open connections are not +// supported. +Peer.prototype._onFinish = function () { + var self = this; + if (self.destroyed) return; - H.writeInt32BE(this._a | 0, 0); - H.writeInt32BE(this._b | 0, 4); - H.writeInt32BE(this._c | 0, 8); - H.writeInt32BE(this._d | 0, 12); - H.writeInt32BE(this._e | 0, 16); + if (self.connected) { + destroySoon(); + } else { + self.once('connect', destroySoon); + } - return H; + // Wait a bit before destroying so the socket flushes. + // TODO: is there a more reliable way to accomplish this? + function destroySoon() { + setTimeout(function () { + self.destroy(); + }, 1000); + } }; -module.exports = Sha; - -},{"./hash":738,"inherits":671,"safe-buffer":729}],741:[function(require,module,exports){ -'use strict'; +Peer.prototype._createOffer = function () { + var self = this; + if (self.destroyed) return; -/* - * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined - * in FIPS PUB 180-1 - * Version 2.1a Copyright Paul Johnston 2000 - 2002. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for details. - */ + self._pc.createOffer(function (offer) { + if (self.destroyed) return; + offer.sdp = self.sdpTransform(offer.sdp); + self._pc.setLocalDescription(offer, onSuccess, onError); -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + function onSuccess() { + self._debug('createOffer success'); + if (self.destroyed) return; + if (self.trickle || self._iceComplete) sendOffer();else self.once('_iceComplete', sendOffer); // wait for candidates + } -var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; + function onError(err) { + self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); + } -var W = new Array(80); + function sendOffer() { + var signal = self._pc.localDescription || offer; + self._debug('signal'); + self.emit('signal', { + type: signal.type, + sdp: signal.sdp + }); + } + }, function (err) { + self.destroy(makeError(err, 'ERR_CREATE_OFFER')); + }, self.offerConstraints); +}; -function Sha1() { - this.init(); - this._w = W; +Peer.prototype._createAnswer = function () { + var self = this; + if (self.destroyed) return; - Hash.call(this, 64, 56); -} + self._pc.createAnswer(function (answer) { + if (self.destroyed) return; + answer.sdp = self.sdpTransform(answer.sdp); + self._pc.setLocalDescription(answer, onSuccess, onError); -inherits(Sha1, Hash); + function onSuccess() { + if (self.destroyed) return; + if (self.trickle || self._iceComplete) sendAnswer();else self.once('_iceComplete', sendAnswer); + } -Sha1.prototype.init = function () { - this._a = 0x67452301; - this._b = 0xefcdab89; - this._c = 0x98badcfe; - this._d = 0x10325476; - this._e = 0xc3d2e1f0; + function onError(err) { + self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); + } - return this; + function sendAnswer() { + var signal = self._pc.localDescription || answer; + self._debug('signal'); + self.emit('signal', { + type: signal.type, + sdp: signal.sdp + }); + } + }, function (err) { + self.destroy(makeError(err, 'ERR_CREATE_ANSWER')); + }, self.answerConstraints); }; -function rotl1(num) { - return num << 1 | num >>> 31; -} +Peer.prototype._onIceStateChange = function () { + var self = this; + if (self.destroyed) return; + var iceConnectionState = self._pc.iceConnectionState; + var iceGatheringState = self._pc.iceGatheringState; -function rotl5(num) { - return num << 5 | num >>> 27; -} + self._debug('iceStateChange (connection: %s) (gathering: %s)', iceConnectionState, iceGatheringState); + self.emit('iceStateChange', iceConnectionState, iceGatheringState); -function rotl30(num) { - return num << 30 | num >>> 2; -} + if (iceConnectionState === 'connected' || iceConnectionState === 'completed') { + self._pcReady = true; + self._maybeReady(); + } + if (iceConnectionState === 'failed') { + self.destroy(makeError('Ice connection failed.', 'ERR_ICE_CONNECTION_FAILURE')); + } + if (iceConnectionState === 'closed') { + self.destroy(new Error('Ice connection closed.')); + } +}; -function ft(s, b, c, d) { - if (s === 0) return b & c | ~b & d; - if (s === 2) return b & c | b & d | c & d; - return b ^ c ^ d; -} +Peer.prototype.getStats = function (cb) { + var self = this; -Sha1.prototype._update = function (M) { - var W = this._w; + // Promise-based getStats() (standard) + if (self._pc.getStats.length === 0) { + self._pc.getStats().then(function (res) { + var reports = []; + res.forEach(function (report) { + reports.push(report); + }); + cb(null, reports); + }, function (err) { + cb(err); + }); - var a = this._a | 0; - var b = this._b | 0; - var c = this._c | 0; - var d = this._d | 0; - var e = this._e | 0; + // Two-parameter callback-based getStats() (deprecated, former standard) + } else if (self._isReactNativeWebrtc) { + self._pc.getStats(null, function (res) { + var reports = []; + res.forEach(function (report) { + reports.push(report); + }); + cb(null, reports); + }, function (err) { + cb(err); + }); - for (var i = 0; i < 16; ++i) { - W[i] = M.readInt32BE(i * 4); - }for (; i < 80; ++i) { - W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]); - }for (var j = 0; j < 80; ++j) { - var s = ~~(j / 20); - var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; + // Single-parameter callback-based getStats() (non-standard) + } else if (self._pc.getStats.length > 0) { + self._pc.getStats(function (res) { + // If we destroy connection in `connect` callback this code might happen to run when actual connection is already closed + if (self.destroyed) return; - e = d; - d = c; - c = rotl30(b); - b = a; - a = t; - } + var reports = []; + res.result().forEach(function (result) { + var report = {}; + result.names().forEach(function (name) { + report[name] = result.stat(name); + }); + report.id = result.id; + report.type = result.type; + report.timestamp = result.timestamp; + reports.push(report); + }); + cb(null, reports); + }, function (err) { + cb(err); + }); - this._a = a + this._a | 0; - this._b = b + this._b | 0; - this._c = c + this._c | 0; - this._d = d + this._d | 0; - this._e = e + this._e | 0; + // Unknown browser, skip getStats() since it's anyone's guess which style of + // getStats() they implement. + } else { + cb(null, []); + } }; -Sha1.prototype._hash = function () { - var H = Buffer.allocUnsafe(20); +Peer.prototype._maybeReady = function () { + var self = this; + self._debug('maybeReady pc %s channel %s', self._pcReady, self._channelReady); + if (self.connected || self._connecting || !self._pcReady || !self._channelReady) return; - H.writeInt32BE(this._a | 0, 0); - H.writeInt32BE(this._b | 0, 4); - H.writeInt32BE(this._c | 0, 8); - H.writeInt32BE(this._d | 0, 12); - H.writeInt32BE(this._e | 0, 16); + self._connecting = true; - return H; -}; + // HACK: We can't rely on order here, for details see https://github.com/js-platform/node-webrtc/issues/339 + function findCandidatePair() { + if (self.destroyed) return; -module.exports = Sha1; + self.getStats(function (err, items) { + if (self.destroyed) return; -},{"./hash":738,"inherits":671,"safe-buffer":729}],742:[function(require,module,exports){ -'use strict'; + // Treat getStats error as non-fatal. It's not essential. + if (err) items = []; -/** - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined - * in FIPS 180-2 - * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * - */ + var remoteCandidates = {}; + var localCandidates = {}; + var candidatePairs = {}; + var foundSelectedCandidatePair = false; -var inherits = require('inherits'); -var Sha256 = require('./sha256'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + items.forEach(function (item) { + // TODO: Once all browsers support the hyphenated stats report types, remove + // the non-hypenated ones + if (item.type === 'remotecandidate' || item.type === 'remote-candidate') { + remoteCandidates[item.id] = item; + } + if (item.type === 'localcandidate' || item.type === 'local-candidate') { + localCandidates[item.id] = item; + } + if (item.type === 'candidatepair' || item.type === 'candidate-pair') { + candidatePairs[item.id] = item; + } + }); -var W = new Array(64); + items.forEach(function (item) { + // Spec-compliant + if (item.type === 'transport' && item.selectedCandidatePairId) { + setSelectedCandidatePair(candidatePairs[item.selectedCandidatePairId]); + } -function Sha224() { - this.init(); + // Old implementations + if (item.type === 'googCandidatePair' && item.googActiveConnection === 'true' || (item.type === 'candidatepair' || item.type === 'candidate-pair') && item.selected) { + setSelectedCandidatePair(item); + } + }); - this._w = W; // new Array(64) + function setSelectedCandidatePair(selectedCandidatePair) { + foundSelectedCandidatePair = true; - Hash.call(this, 64, 56); -} + var local = localCandidates[selectedCandidatePair.localCandidateId]; -inherits(Sha224, Sha256); + if (local && local.ip) { + // Spec + self.localAddress = local.ip; + self.localPort = Number(local.port); + } else if (local && local.ipAddress) { + // Firefox + self.localAddress = local.ipAddress; + self.localPort = Number(local.portNumber); + } else if (typeof selectedCandidatePair.googLocalAddress === 'string') { + // TODO: remove this once Chrome 58 is released + local = selectedCandidatePair.googLocalAddress.split(':'); + self.localAddress = local[0]; + self.localPort = Number(local[1]); + } -Sha224.prototype.init = function () { - this._a = 0xc1059ed8; - this._b = 0x367cd507; - this._c = 0x3070dd17; - this._d = 0xf70e5939; - this._e = 0xffc00b31; - this._f = 0x68581511; - this._g = 0x64f98fa7; - this._h = 0xbefa4fa4; + var remote = remoteCandidates[selectedCandidatePair.remoteCandidateId]; - return this; -}; + if (remote && remote.ip) { + // Spec + self.remoteAddress = remote.ip; + self.remotePort = Number(remote.port); + } else if (remote && remote.ipAddress) { + // Firefox + self.remoteAddress = remote.ipAddress; + self.remotePort = Number(remote.portNumber); + } else if (typeof selectedCandidatePair.googRemoteAddress === 'string') { + // TODO: remove this once Chrome 58 is released + remote = selectedCandidatePair.googRemoteAddress.split(':'); + self.remoteAddress = remote[0]; + self.remotePort = Number(remote[1]); + } + self.remoteFamily = 'IPv4'; -Sha224.prototype._hash = function () { - var H = Buffer.allocUnsafe(28); + self._debug('connect local: %s:%s remote: %s:%s', self.localAddress, self.localPort, self.remoteAddress, self.remotePort); + } - H.writeInt32BE(this._a, 0); - H.writeInt32BE(this._b, 4); - H.writeInt32BE(this._c, 8); - H.writeInt32BE(this._d, 12); - H.writeInt32BE(this._e, 16); - H.writeInt32BE(this._f, 20); - H.writeInt32BE(this._g, 24); + // Ignore candidate pair selection in browsers like Safari 11 that do not have any local or remote candidates + // But wait until at least 1 candidate pair is available + if (!foundSelectedCandidatePair && (!Object.keys(candidatePairs).length || Object.keys(localCandidates).length)) { + setTimeout(findCandidatePair, 100); + return; + } else { + self._connecting = false; + self.connected = true; + } - return H; -}; + if (self._chunk) { + try { + self.send(self._chunk); + } catch (err) { + return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); + } + self._chunk = null; + self._debug('sent chunk from "write before connect"'); -module.exports = Sha224; + var cb = self._cb; + self._cb = null; + cb(null); + } -},{"./hash":738,"./sha256":743,"inherits":671,"safe-buffer":729}],743:[function(require,module,exports){ -'use strict'; + // If `bufferedAmountLowThreshold` and 'onbufferedamountlow' are unsupported, + // fallback to using setInterval to implement backpressure. + if (typeof self._channel.bufferedAmountLowThreshold !== 'number') { + self._interval = setInterval(function () { + self._onInterval(); + }, 150); + if (self._interval.unref) self._interval.unref(); + } -/** - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined - * in FIPS 180-2 - * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * - */ + self._debug('connect'); + self.emit('connect'); + }); + } + findCandidatePair(); +}; -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; +Peer.prototype._onInterval = function () { + var self = this; + if (!self._cb || !self._channel || self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { + return; + } + self._onChannelBufferedAmountLow(); +}; -var K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2]; +Peer.prototype._onSignalingStateChange = function () { + var self = this; + if (self.destroyed) return; -var W = new Array(64); - -function Sha256() { - this.init(); - - this._w = W; // new Array(64) + if (self._pc.signalingState === 'stable') { + self._isNegotiating = false; - Hash.call(this, 64, 56); -} + // HACK: Firefox doesn't yet support removing tracks when signalingState !== 'stable' + self._debug('flushing sender queue', self._sendersAwaitingStable); + self._sendersAwaitingStable.forEach(function (sender) { + self.removeTrack(sender); + self._queuedNegotiation = true; + }); + self._sendersAwaitingStable = []; -inherits(Sha256, Hash); + if (self._queuedNegotiation) { + self._debug('flushing negotiation queue'); + self._queuedNegotiation = false; + self._needsNegotiation(); // negotiate again + } -Sha256.prototype.init = function () { - this._a = 0x6a09e667; - this._b = 0xbb67ae85; - this._c = 0x3c6ef372; - this._d = 0xa54ff53a; - this._e = 0x510e527f; - this._f = 0x9b05688c; - this._g = 0x1f83d9ab; - this._h = 0x5be0cd19; + self._debug('negotiate'); + self.emit('negotiate'); + } - return this; + self._debug('signalingStateChange %s', self._pc.signalingState); + self.emit('signalingStateChange', self._pc.signalingState); }; -function ch(x, y, z) { - return z ^ x & (y ^ z); -} +Peer.prototype._onIceCandidate = function (event) { + var self = this; + if (self.destroyed) return; + if (event.candidate && self.trickle) { + self.emit('signal', { + candidate: { + candidate: event.candidate.candidate, + sdpMLineIndex: event.candidate.sdpMLineIndex, + sdpMid: event.candidate.sdpMid + } + }); + } else if (!event.candidate) { + self._iceComplete = true; + self.emit('_iceComplete'); + } +}; -function maj(x, y, z) { - return x & y | z & (x | y); -} +Peer.prototype._onChannelMessage = function (event) { + var self = this; + if (self.destroyed) return; + var data = event.data; + if (data instanceof ArrayBuffer) data = Buffer.from(data); + self.push(data); +}; -function sigma0(x) { - return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10); -} +Peer.prototype._onChannelBufferedAmountLow = function () { + var self = this; + if (self.destroyed || !self._cb) return; + self._debug('ending backpressure: bufferedAmount %d', self._channel.bufferedAmount); + var cb = self._cb; + self._cb = null; + cb(null); +}; -function sigma1(x) { - return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7); -} +Peer.prototype._onChannelOpen = function () { + var self = this; + if (self.connected || self.destroyed) return; + self._debug('on channel open'); + self._channelReady = true; + self._maybeReady(); +}; -function gamma0(x) { - return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3; -} +Peer.prototype._onChannelClose = function () { + var self = this; + if (self.destroyed) return; + self._debug('on channel close'); + self.destroy(); +}; -function gamma1(x) { - return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10; -} +Peer.prototype._onTrack = function (event) { + var self = this; + if (self.destroyed) return; -Sha256.prototype._update = function (M) { - var W = this._w; + event.streams.forEach(function (eventStream) { + self._debug('on track'); + self.emit('track', event.track, eventStream); - var a = this._a | 0; - var b = this._b | 0; - var c = this._c | 0; - var d = this._d | 0; - var e = this._e | 0; - var f = this._f | 0; - var g = this._g | 0; - var h = this._h | 0; + self._remoteTracks.push({ + track: event.track, + stream: eventStream + }); - for (var i = 0; i < 16; ++i) { - W[i] = M.readInt32BE(i * 4); - }for (; i < 64; ++i) { - W[i] = gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16] | 0; - }for (var j = 0; j < 64; ++j) { - var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W[j] | 0; - var T2 = sigma0(a) + maj(a, b, c) | 0; + if (self._remoteStreams.some(function (remoteStream) { + return remoteStream.id === eventStream.id; + })) return; // Only fire one 'stream' event, even though there may be multiple tracks per stream - h = g; - g = f; - f = e; - e = d + T1 | 0; - d = c; - c = b; - b = a; - a = T1 + T2 | 0; - } + self._remoteStreams.push(eventStream); + setTimeout(function () { + self.emit('stream', eventStream); // ensure all tracks have been added + }, 0); + }); +}; - this._a = a + this._a | 0; - this._b = b + this._b | 0; - this._c = c + this._c | 0; - this._d = d + this._d | 0; - this._e = e + this._e | 0; - this._f = f + this._f | 0; - this._g = g + this._g | 0; - this._h = h + this._h | 0; +Peer.prototype._debug = function () { + var self = this; + var args = [].slice.call(arguments); + args[0] = '[' + self._id + '] ' + args[0]; + debug.apply(null, args); }; -Sha256.prototype._hash = function () { - var H = Buffer.allocUnsafe(32); +// Transform constraints objects into the new format (unless Chromium) +// TODO: This can be removed when Chromium supports the new format +Peer.prototype._transformConstraints = function (constraints) { + var self = this; - H.writeInt32BE(this._a, 0); - H.writeInt32BE(this._b, 4); - H.writeInt32BE(this._c, 8); - H.writeInt32BE(this._d, 12); - H.writeInt32BE(this._e, 16); - H.writeInt32BE(this._f, 20); - H.writeInt32BE(this._g, 24); - H.writeInt32BE(this._h, 28); + if (Object.keys(constraints).length === 0) { + return constraints; + } - return H; -}; + if ((constraints.mandatory || constraints.optional) && !self._isChromium) { + // convert to new format -module.exports = Sha256; + // Merge mandatory and optional objects, prioritizing mandatory + var newConstraints = Object.assign({}, constraints.optional, constraints.mandatory); -},{"./hash":738,"inherits":671,"safe-buffer":729}],744:[function(require,module,exports){ -'use strict'; + // fix casing + if (newConstraints.OfferToReceiveVideo !== undefined) { + newConstraints.offerToReceiveVideo = newConstraints.OfferToReceiveVideo; + delete newConstraints['OfferToReceiveVideo']; + } -var inherits = require('inherits'); -var SHA512 = require('./sha512'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + if (newConstraints.OfferToReceiveAudio !== undefined) { + newConstraints.offerToReceiveAudio = newConstraints.OfferToReceiveAudio; + delete newConstraints['OfferToReceiveAudio']; + } -var W = new Array(160); + return newConstraints; + } else if (!constraints.mandatory && !constraints.optional && self._isChromium) { + // convert to old format -function Sha384() { - this.init(); - this._w = W; + // fix casing + if (constraints.offerToReceiveVideo !== undefined) { + constraints.OfferToReceiveVideo = constraints.offerToReceiveVideo; + delete constraints['offerToReceiveVideo']; + } - Hash.call(this, 128, 112); -} + if (constraints.offerToReceiveAudio !== undefined) { + constraints.OfferToReceiveAudio = constraints.offerToReceiveAudio; + delete constraints['offerToReceiveAudio']; + } -inherits(Sha384, SHA512); + return { + mandatory: constraints // NOTE: All constraints are upgraded to mandatory + }; + } -Sha384.prototype.init = function () { - this._ah = 0xcbbb9d5d; - this._bh = 0x629a292a; - this._ch = 0x9159015a; - this._dh = 0x152fecd8; - this._eh = 0x67332667; - this._fh = 0x8eb44a87; - this._gh = 0xdb0c2e0d; - this._hh = 0x47b5481d; + return constraints; +}; - this._al = 0xc1059ed8; - this._bl = 0x367cd507; - this._cl = 0x3070dd17; - this._dl = 0xf70e5939; - this._el = 0xffc00b31; - this._fl = 0x68581511; - this._gl = 0x64f98fa7; - this._hl = 0xbefa4fa4; +function makeError(message, code) { + var err = new Error(message); + err.code = code; + return err; +} - return this; -}; +function noop() {} -Sha384.prototype._hash = function () { - var H = Buffer.allocUnsafe(48); +}).call(this,require("buffer").Buffer) +},{"buffer":256,"debug":746,"get-browser-rtc":648,"inherits":671,"randombytes":711,"readable-stream":723}],746:[function(require,module,exports){ +(function (process){ +"use strict"; - function writeInt64BE(h, l, offset) { - H.writeInt32BE(h, offset); - H.writeInt32BE(l, offset + 4); - } +var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - writeInt64BE(this._ah, this._al, 0); - writeInt64BE(this._bh, this._bl, 8); - writeInt64BE(this._ch, this._cl, 16); - writeInt64BE(this._dh, this._dl, 24); - writeInt64BE(this._eh, this._el, 32); - writeInt64BE(this._fh, this._fl, 40); +function _typeof(obj) { + if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj === "undefined" ? "undefined" : _typeof2(obj); + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); + }; + }return _typeof(obj); +} - return H; -}; +/* eslint-env browser */ -module.exports = Sha384; +/** + * This is the web browser implementation of `debug()`. + */ +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +/** + * Colors. + */ -},{"./hash":738,"./sha512":745,"inherits":671,"safe-buffer":729}],745:[function(require,module,exports){ -'use strict'; +exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ +// eslint-disable-next-line complexity -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } // Internet Explorer and Edge do not support colors. -var K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817]; -var W = new Array(160); + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 -function Sha512() { - this.init(); - this._w = W; - Hash.call(this, 128, 112); + return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); } +/** + * Colorize log arguments if enabled. + * + * @api public + */ -inherits(Sha512, Hash); +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); -Sha512.prototype.init = function () { - this._ah = 0x6a09e667; - this._bh = 0xbb67ae85; - this._ch = 0x3c6ef372; - this._dh = 0xa54ff53a; - this._eh = 0x510e527f; - this._fh = 0x9b05688c; - this._gh = 0x1f83d9ab; - this._hh = 0x5be0cd19; + if (!this.useColors) { + return; + } - this._al = 0xf3bcc908; - this._bl = 0x84caa73b; - this._cl = 0xfe94f82b; - this._dl = 0x5f1d36f1; - this._el = 0xade682d1; - this._fl = 0x2b3e6c1f; - this._gl = 0xfb41bd6b; - this._hl = 0x137e2179; + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into - return this; -}; + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function (match) { + if (match === '%%') { + return; + } -function Ch(x, y, z) { - return z ^ x & (y ^ z); -} + index++; -function maj(x, y, z) { - return x & y | z & (x | y); + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + args.splice(lastC, 0, c); } +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ -function sigma0(x, xl) { - return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25); -} +function log() { + var _console; -function sigma1(x, xl) { - return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23); + // This hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); } +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ -function Gamma0(x, xl) { - return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7; +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } } +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ -function Gamma0l(x, xl) { - return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25); -} +function load() { + var r; -function Gamma1(x, xl) { - return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6; -} + try { + r = exports.storage.getItem('debug'); + } catch (error) {} // Swallow + // XXX (@Qix-) should we be logging these? + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG -function Gamma1l(x, xl) { - return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26); -} -function getCarry(a, b) { - return a >>> 0 < b >>> 0 ? 1 : 0; -} + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } -Sha512.prototype._update = function (M) { - var W = this._w; + return r; +} +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ - var ah = this._ah | 0; - var bh = this._bh | 0; - var ch = this._ch | 0; - var dh = this._dh | 0; - var eh = this._eh | 0; - var fh = this._fh | 0; - var gh = this._gh | 0; - var hh = this._hh | 0; +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } +} - var al = this._al | 0; - var bl = this._bl | 0; - var cl = this._cl | 0; - var dl = this._dl | 0; - var el = this._el | 0; - var fl = this._fl | 0; - var gl = this._gl | 0; - var hl = this._hl | 0; +module.exports = require('./common')(exports); +var formatters = module.exports.formatters; +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ - for (var i = 0; i < 32; i += 2) { - W[i] = M.readInt32BE(i * 4); - W[i + 1] = M.readInt32BE(i * 4 + 4); +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; } - for (; i < 160; i += 2) { - var xh = W[i - 15 * 2]; - var xl = W[i - 15 * 2 + 1]; - var gamma0 = Gamma0(xh, xl); - var gamma0l = Gamma0l(xl, xh); +}; - xh = W[i - 2 * 2]; - xl = W[i - 2 * 2 + 1]; - var gamma1 = Gamma1(xh, xl); - var gamma1l = Gamma1l(xl, xh); +}).call(this,require('_process')) +},{"./common":747,"_process":704}],747:[function(require,module,exports){ +"use strict"; - // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] - var Wi7h = W[i - 7 * 2]; - var Wi7l = W[i - 7 * 2 + 1]; +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ - var Wi16h = W[i - 16 * 2]; - var Wi16l = W[i - 16 * 2 + 1]; - - var Wil = gamma0l + Wi7l | 0; - var Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0; - Wil = Wil + gamma1l | 0; - Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0; - Wil = Wil + Wi16l | 0; - Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0; - - W[i] = Wih; - W[i + 1] = Wil; - } - - for (var j = 0; j < 160; j += 2) { - Wih = W[j]; - Wil = W[j + 1]; - - var majh = maj(ah, bh, ch); - var majl = maj(al, bl, cl); +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + Object.keys(env).forEach(function (key) { + createDebug[key] = env[key]; + }); + /** + * Active `debug` instances. + */ - var sigma0h = sigma0(ah, al); - var sigma0l = sigma0(al, ah); - var sigma1h = sigma1(eh, el); - var sigma1l = sigma1(el, eh); + createDebug.instances = []; + /** + * The currently active debug mode names, and names to skip. + */ - // t1 = h + sigma1 + ch + K[j] + W[j] - var Kih = K[j]; - var Kil = K[j + 1]; + createDebug.names = []; + createDebug.skips = []; + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ - var chh = Ch(eh, fh, gh); - var chl = Ch(el, fl, gl); + createDebug.formatters = {}; + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ - var t1l = hl + sigma1l | 0; - var t1h = hh + sigma1h + getCarry(t1l, hl) | 0; - t1l = t1l + chl | 0; - t1h = t1h + chh + getCarry(t1l, chl) | 0; - t1l = t1l + Kil | 0; - t1h = t1h + Kih + getCarry(t1l, Kil) | 0; - t1l = t1l + Wil | 0; - t1h = t1h + Wih + getCarry(t1l, Wil) | 0; + function selectColor(namespace) { + var hash = 0; - // t2 = sigma0 + maj - var t2l = sigma0l + majl | 0; - var t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0; + for (var i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } - hh = gh; - hl = gl; - gh = fh; - gl = fl; - fh = eh; - fl = el; - el = dl + t1l | 0; - eh = dh + t1h + getCarry(el, dl) | 0; - dh = ch; - dl = cl; - ch = bh; - cl = bl; - bh = ah; - bl = al; - al = t1l + t2l | 0; - ah = t1h + t2h + getCarry(al, t1l) | 0; + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; } - this._al = this._al + al | 0; - this._bl = this._bl + bl | 0; - this._cl = this._cl + cl | 0; - this._dl = this._dl + dl | 0; - this._el = this._el + el | 0; - this._fl = this._fl + fl | 0; - this._gl = this._gl + gl | 0; - this._hl = this._hl + hl | 0; - - this._ah = this._ah + ah + getCarry(this._al, al) | 0; - this._bh = this._bh + bh + getCarry(this._bl, bl) | 0; - this._ch = this._ch + ch + getCarry(this._cl, cl) | 0; - this._dh = this._dh + dh + getCarry(this._dl, dl) | 0; - this._eh = this._eh + eh + getCarry(this._el, el) | 0; - this._fh = this._fh + fh + getCarry(this._fl, fl) | 0; - this._gh = this._gh + gh + getCarry(this._gl, gl) | 0; - this._hh = this._hh + hh + getCarry(this._hl, hl) | 0; -}; + createDebug.selectColor = selectColor; + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ -Sha512.prototype._hash = function () { - var H = Buffer.allocUnsafe(64); + function createDebug(namespace) { + var prevTime; - function writeInt64BE(h, l, offset) { - H.writeInt32BE(h, offset); - H.writeInt32BE(l, offset + 4); - } + function debug() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } - writeInt64BE(this._ah, this._al, 0); - writeInt64BE(this._bh, this._bl, 8); - writeInt64BE(this._ch, this._cl, 16); - writeInt64BE(this._dh, this._dl, 24); - writeInt64BE(this._eh, this._el, 32); - writeInt64BE(this._fh, this._fl, 40); - writeInt64BE(this._gh, this._gl, 48); - writeInt64BE(this._hh, this._hl, 56); + // Disabled? + if (!debug.enabled) { + return; + } - return H; -}; + var self = debug; // Set `diff` timestamp -module.exports = Sha512; + var curr = Number(new Date()); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); -},{"./hash":738,"inherits":671,"safe-buffer":729}],746:[function(require,module,exports){ -"use strict"; + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } // Apply any `formatters` transformations -var distance = require("leven"); -module.exports = function (a, b) { - if (!a || !b || !a.length || !b.length) return 0; - if (a === b) return 1; - var d = distance(a.toLowerCase(), b.toLowerCase()); - var longest = Math.max(a.length, b.length); - return (longest - d) / longest; -}; + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return match; + } -},{"leven":682}],747:[function(require,module,exports){ -(function (Buffer){ -'use strict'; + index++; + var formatter = createDebug.formatters[format]; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + if (typeof formatter === 'function') { + var val = args[index]; + match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` -module.exports = Peer; + args.splice(index, 1); + index--; + } -var debug = require('debug')('simple-peer'); -var getBrowserRTC = require('get-browser-rtc'); -var inherits = require('inherits'); -var randombytes = require('randombytes'); -var stream = require('readable-stream'); + return match; + }); // Apply env-specific formatting (colors, etc.) -var MAX_BUFFERED_AMOUNT = 64 * 1024; + createDebug.formatArgs.call(self, args); + var logFn = self.log || createDebug.log; + logFn.apply(self, args); + } -inherits(Peer, stream.Duplex); + debug.namespace = namespace; + debug.enabled = createDebug.enabled(namespace); + debug.useColors = createDebug.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + debug.extend = extend; // Debug.formatArgs = formatArgs; + // debug.rawLog = rawLog; + // env-specific initialization logic for debug instances -/** - * WebRTC peer connection. Same API as node core `net.Socket`, plus a few extra methods. - * Duplex stream. - * @param {Object} opts - */ -function Peer(opts) { - var self = this; - if (!(self instanceof Peer)) return new Peer(opts); + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } - self._id = randombytes(4).toString('hex').slice(0, 7); - self._debug('new peer %o', opts); + createDebug.instances.push(debug); + return debug; + } - opts = Object.assign({ - allowHalfOpen: false - }, opts); + function destroy() { + var index = createDebug.instances.indexOf(this); - stream.Duplex.call(self, opts); + if (index !== -1) { + createDebug.instances.splice(index, 1); + return true; + } - self.channelName = opts.initiator ? opts.channelName || randombytes(20).toString('hex') : null; + return false; + } - // Needed by _transformConstraints, so set this early - self._isChromium = typeof window !== 'undefined' && !!window.webkitRTCPeerConnection; + function extend(namespace, delimiter) { + return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + } + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ - self.initiator = opts.initiator || false; - self.channelConfig = opts.channelConfig || Peer.channelConfig; - self.config = opts.config || Peer.config; - self.constraints = self._transformConstraints(opts.constraints || Peer.constraints); - self.offerConstraints = self._transformConstraints(opts.offerConstraints || {}); - self.answerConstraints = self._transformConstraints(opts.answerConstraints || {}); - self.sdpTransform = opts.sdpTransform || function (sdp) { - return sdp; - }; - self.streams = opts.streams || (opts.stream ? [opts.stream] : []); // support old "stream" option - self.trickle = opts.trickle !== undefined ? opts.trickle : true; + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.names = []; + createDebug.skips = []; + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; - self.destroyed = false; - self.connected = false; + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } - self.remoteAddress = undefined; - self.remoteFamily = undefined; - self.remotePort = undefined; - self.localAddress = undefined; - self.localPort = undefined; + namespaces = split[i].replace(/\*/g, '.*?'); - self._wrtc = opts.wrtc && _typeof(opts.wrtc) === 'object' ? opts.wrtc : getBrowserRTC(); + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } - if (!self._wrtc) { - if (typeof window === 'undefined') { - throw makeError('No WebRTC support: Specify `opts.wrtc` option in this environment', 'ERR_WEBRTC_SUPPORT'); - } else { - throw makeError('No WebRTC support: Not a supported browser', 'ERR_WEBRTC_SUPPORT'); + for (i = 0; i < createDebug.instances.length; i++) { + var instance = createDebug.instances[i]; + instance.enabled = createDebug.enabled(instance.namespace); } } + /** + * Disable debug output. + * + * @api public + */ - self._pcReady = false; - self._channelReady = false; - self._iceComplete = false; // ice candidate trickle done (got null candidate) - self._channel = null; - self._pendingCandidates = []; - - self._isNegotiating = false; // is this peer waiting for negotiation to complete? - self._batchedNegotiation = false; // batch synchronous negotiations - self._queuedNegotiation = false; // is there a queued negotiation request? - self._sendersAwaitingStable = []; - self._senderMap = new WeakMap(); - - self._remoteTracks = []; - self._remoteStreams = []; - - self._chunk = null; - self._cb = null; - self._interval = null; + function disable() { + createDebug.enable(''); + } + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ - self._pc = new self._wrtc.RTCPeerConnection(self.config, self.constraints); + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } - // We prefer feature detection whenever possible, but sometimes that's not - // possible for certain implementations. - self._isReactNativeWebrtc = typeof self._pc._peerConnectionId === 'number'; + var i; + var len; - self._pc.oniceconnectionstatechange = function () { - self._onIceStateChange(); - }; - self._pc.onicegatheringstatechange = function () { - self._onIceStateChange(); - }; - self._pc.onsignalingstatechange = function () { - self._onSignalingStateChange(); - }; - self._pc.onicecandidate = function (event) { - self._onIceCandidate(event); - }; + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } - // Other spec events, unused by this implementation: - // - onconnectionstatechange - // - onicecandidateerror - // - onfingerprintfailure - // - onnegotiationneeded + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } - if (self.initiator) { - self._setupData({ - channel: self._pc.createDataChannel(self.channelName, self.channelConfig) - }); - } else { - self._pc.ondatachannel = function (event) { - self._setupData(event); - }; + return false; } + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ - if ('addTrack' in self._pc) { - if (self.streams) { - self.streams.forEach(function (stream) { - self.addStream(stream); - }); + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; } - self._pc.ontrack = function (event) { - self._onTrack(event); - }; - } - if (self.initiator) { - self._needsNegotiation(); + return val; } - self._onFinishBound = function () { - self._onFinish(); - }; - self.once('finish', self._onFinishBound); + createDebug.enable(createDebug.load()); + return createDebug; } -Peer.WEBRTC_SUPPORT = !!getBrowserRTC(); - -/** - * Expose config, constraints, and data channel config for overriding all Peer - * instances. Otherwise, just set opts.config, opts.constraints, or opts.channelConfig - * when constructing a Peer. - */ -Peer.config = { - iceServers: [{ - urls: 'stun:stun.l.google.com:19302' - }, { - urls: 'stun:global.stun.twilio.com:3478?transport=udp' - }] -}; -Peer.constraints = {}; -Peer.channelConfig = {}; - -Object.defineProperty(Peer.prototype, 'bufferSize', { - get: function get() { - var self = this; - return self._channel && self._channel.bufferedAmount || 0; - } -}); +module.exports = setup; -Peer.prototype.address = function () { - var self = this; - return { port: self.localPort, family: 'IPv4', address: self.localAddress }; -}; +},{"ms":748}],748:[function(require,module,exports){ +'use strict'; -Peer.prototype.signal = function (data) { - var self = this; - if (self.destroyed) throw makeError('cannot signal after peer is destroyed', 'ERR_SIGNALING'); - if (typeof data === 'string') { - try { - data = JSON.parse(data); - } catch (err) { - data = {}; - } - } - self._debug('signal()'); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - if (data.renegotiate) { - self._debug('got request to renegotiate'); - self._needsNegotiation(); - } - if (data.candidate) { - if (self._pc.remoteDescription && self._pc.remoteDescription.type) self._addIceCandidate(data.candidate);else self._pendingCandidates.push(data.candidate); - } - if (data.sdp) { - self._pc.setRemoteDescription(new self._wrtc.RTCSessionDescription(data), function () { - if (self.destroyed) return; +/** + * Helpers. + */ - self._pendingCandidates.forEach(function (candidate) { - self._addIceCandidate(candidate); - }); - self._pendingCandidates = []; +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; - if (self._pc.remoteDescription.type === 'offer') self._createAnswer(); - }, function (err) { - self.destroy(makeError(err, 'ERR_SET_REMOTE_DESCRIPTION')); - }); - } - if (!data.sdp && !data.candidate && !data.renegotiate) { - self.destroy(makeError('signal() called with invalid signal data', 'ERR_SIGNALING')); - } -}; +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ -Peer.prototype._addIceCandidate = function (candidate) { - var self = this; - try { - self._pc.addIceCandidate(new self._wrtc.RTCIceCandidate(candidate), noop, function (err) { - self.destroy(makeError(err, 'ERR_ADD_ICE_CANDIDATE')); - }); - } catch (err) { - self.destroy(makeError('error adding candidate: ' + err.message, 'ERR_ADD_ICE_CANDIDATE')); +module.exports = function (val, options) { + options = options || {}; + var type = typeof val === 'undefined' ? 'undefined' : _typeof(val); + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); } + throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)); }; /** - * Send text/binary data to the remote peer. - * @param {ArrayBufferView|ArrayBuffer|Buffer|string|Blob} chunk + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private */ -Peer.prototype.send = function (chunk) { - var self = this; - self._channel.send(chunk); -}; + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} /** - * Add a MediaStream to the connection. - * @param {MediaStream} stream + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private */ -Peer.prototype.addStream = function (stream) { - var self = this; - - self._debug('addStream()'); - stream.getTracks().forEach(function (track) { - self.addTrack(track, stream); - }); -}; +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} /** - * Add a MediaStreamTrack to the connection. - * @param {MediaStreamTrack} track - * @param {MediaStream} stream + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private */ -Peer.prototype.addTrack = function (track, stream) { - var self = this; - - self._debug('addTrack()'); - var sender = self._pc.addTrack(track, stream); - var submap = self._senderMap.get(track) || new WeakMap(); // nested WeakMaps map [track, stream] to sender - submap.set(stream, sender); - self._senderMap.set(track, submap); - self._needsNegotiation(); -}; +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} /** - * Remove a MediaStreamTrack from the connection. - * @param {MediaStreamTrack} track - * @param {MediaStream} stream + * Pluralization helper. */ -Peer.prototype.removeTrack = function (track, stream) { - var self = this; - self._debug('removeSender()'); +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} - var submap = self._senderMap.get(track); - var sender = submap ? submap.get(stream) : null; - if (!sender) { - self.destroy(new Error('Cannot remove track that was never added.')); - } - try { - self._pc.removeTrack(sender); - } catch (err) { - if (err.name === 'NS_ERROR_UNEXPECTED') { - self._sendersAwaitingStable.push(sender); // HACK: Firefox must wait until (signalingState === stable) https://bugzilla.mozilla.org/show_bug.cgi?id=1133874 - } else { - self.destroy(err); - } - } -}; +},{}],749:[function(require,module,exports){ +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /** - * Remove a MediaStream from the connection. - * @param {MediaStream} stream + * Module dependencies. */ -Peer.prototype.removeStream = function (stream) { - var self = this; - self._debug('removeSenders()'); +var url = require('./url'); +var parser = require('socket.io-parser'); +var Manager = require('./manager'); +var debug = require('debug')('socket.io-client'); - stream.getTracks().forEach(function (track) { - self.removeTrack(track, stream); - }); -}; +/** + * Module exports. + */ -Peer.prototype._needsNegotiation = function () { - var self = this; +module.exports = exports = lookup; - self._debug('_needsNegotiation'); - if (self._batchedNegotiation) return; // batch synchronous renegotiations - self._batchedNegotiation = true; - setTimeout(function () { - self._batchedNegotiation = false; - self._debug('starting batched negotiation'); - self.negotiate(); - }, 0); -}; +/** + * Managers cache. + */ -Peer.prototype.negotiate = function () { - var self = this; +var cache = exports.managers = {}; - if (self.initiator) { - if (self._isNegotiating) { - self._queuedNegotiation = true; - self._debug('already negotiating, queueing'); - } else { - self._debug('start negotiation'); - self._createOffer(); - } - } else { - self._debug('requesting negotiation from initiator'); - self.emit('signal', { // request initiator to renegotiate - renegotiate: true - }); +/** + * Looks up an existing `Manager` for multiplexing. + * If the user summons: + * + * `io('http://localhost/a');` + * `io('http://localhost/b');` + * + * We reuse the existing instance based on same scheme/port/host, + * and we initialize sockets for each namespace. + * + * @api public + */ + +function lookup(uri, opts) { + if ((typeof uri === 'undefined' ? 'undefined' : _typeof(uri)) === 'object') { + opts = uri; + uri = undefined; } - self._isNegotiating = true; -}; -// TODO: Delete this method once readable-stream is updated to contain a default -// implementation of destroy() that automatically calls _destroy() -// See: https://github.com/nodejs/readable-stream/issues/283 -Peer.prototype.destroy = function (err) { - var self = this; - self._destroy(err, function () {}); -}; + opts = opts || {}; -Peer.prototype._destroy = function (err, cb) { - var self = this; - if (self.destroyed) return; + var parsed = url(uri); + var source = parsed.source; + var id = parsed.id; + var path = parsed.path; + var sameNamespace = cache[id] && path in cache[id].nsps; + var newConnection = opts.forceNew || opts['force new connection'] || false === opts.multiplex || sameNamespace; - self._debug('destroy (error: %s)', err && (err.message || err)); + var io; - self.readable = self.writable = false; + if (newConnection) { + debug('ignoring socket cache for %s', source); + io = Manager(source, opts); + } else { + if (!cache[id]) { + debug('new io instance for %s', source); + cache[id] = Manager(source, opts); + } + io = cache[id]; + } + if (parsed.query && !opts.query) { + opts.query = parsed.query; + } + return io.socket(parsed.path, opts); +} - if (!self._readableState.ended) self.push(null); - if (!self._writableState.finished) self.end(); +/** + * Protocol version. + * + * @api public + */ - self.destroyed = true; - self.connected = false; - self._pcReady = false; - self._channelReady = false; - self._remoteTracks = null; - self._remoteStreams = null; - self._senderMap = null; +exports.protocol = parser.protocol; - clearInterval(self._interval); - self._interval = null; - self._chunk = null; - self._cb = null; +/** + * `connect`. + * + * @param {String} uri + * @api public + */ - if (self._onFinishBound) self.removeListener('finish', self._onFinishBound); - self._onFinishBound = null; +exports.connect = lookup; - if (self._channel) { - try { - self._channel.close(); - } catch (err) {} +/** + * Expose constructors for standalone build. + * + * @api public + */ - self._channel.onmessage = null; - self._channel.onopen = null; - self._channel.onclose = null; - self._channel.onerror = null; - } - if (self._pc) { - try { - self._pc.close(); - } catch (err) {} +exports.Manager = require('./manager'); +exports.Socket = require('./socket'); - self._pc.oniceconnectionstatechange = null; - self._pc.onicegatheringstatechange = null; - self._pc.onsignalingstatechange = null; - self._pc.onicecandidate = null; - if ('addTrack' in self._pc) { - self._pc.ontrack = null; - } - self._pc.ondatachannel = null; - } - self._pc = null; - self._channel = null; +},{"./manager":750,"./socket":752,"./url":753,"debug":754,"socket.io-parser":757}],750:[function(require,module,exports){ +'use strict'; - if (err) self.emit('error', err); - self.emit('close'); - cb(); -}; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -Peer.prototype._setupData = function (event) { - var self = this; - if (!event.channel) { - // In some situations `pc.createDataChannel()` returns `undefined` (in wrtc), - // which is invalid behavior. Handle it gracefully. - // See: https://github.com/feross/simple-peer/issues/163 - return self.destroy(makeError('Data channel event is missing `channel` property', 'ERR_DATA_CHANNEL')); - } +/** + * Module dependencies. + */ - self._channel = event.channel; - self._channel.binaryType = 'arraybuffer'; +var eio = require('engine.io-client'); +var Socket = require('./socket'); +var Emitter = require('component-emitter'); +var parser = require('socket.io-parser'); +var on = require('./on'); +var bind = require('component-bind'); +var debug = require('debug')('socket.io-client:manager'); +var indexOf = require('indexof'); +var Backoff = require('backo2'); - if (typeof self._channel.bufferedAmountLowThreshold === 'number') { - self._channel.bufferedAmountLowThreshold = MAX_BUFFERED_AMOUNT; - } +/** + * IE6+ hasOwnProperty + */ - self.channelName = self._channel.label; +var has = Object.prototype.hasOwnProperty; - self._channel.onmessage = function (event) { - self._onChannelMessage(event); - }; - self._channel.onbufferedamountlow = function () { - self._onChannelBufferedAmountLow(); - }; - self._channel.onopen = function () { - self._onChannelOpen(); - }; - self._channel.onclose = function () { - self._onChannelClose(); - }; - self._channel.onerror = function (err) { - self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); - }; -}; +/** + * Module exports + */ -Peer.prototype._read = function () {}; +module.exports = Manager; -Peer.prototype._write = function (chunk, encoding, cb) { - var self = this; - if (self.destroyed) return cb(makeError('cannot write after peer is destroyed', 'ERR_DATA_CHANNEL')); +/** + * `Manager` constructor. + * + * @param {String} engine instance or engine uri/opts + * @param {Object} options + * @api public + */ - if (self.connected) { - try { - self.send(chunk); - } catch (err) { - return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); - } - if (self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { - self._debug('start backpressure: bufferedAmount %d', self._channel.bufferedAmount); - self._cb = cb; - } else { - cb(null); - } - } else { - self._debug('write before connect'); - self._chunk = chunk; - self._cb = cb; +function Manager(uri, opts) { + if (!(this instanceof Manager)) return new Manager(uri, opts); + if (uri && 'object' === (typeof uri === 'undefined' ? 'undefined' : _typeof(uri))) { + opts = uri; + uri = undefined; } -}; + opts = opts || {}; -// When stream finishes writing, close socket. Half open connections are not -// supported. -Peer.prototype._onFinish = function () { - var self = this; - if (self.destroyed) return; + opts.path = opts.path || '/socket.io'; + this.nsps = {}; + this.subs = []; + this.opts = opts; + this.reconnection(opts.reconnection !== false); + this.reconnectionAttempts(opts.reconnectionAttempts || Infinity); + this.reconnectionDelay(opts.reconnectionDelay || 1000); + this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000); + this.randomizationFactor(opts.randomizationFactor || 0.5); + this.backoff = new Backoff({ + min: this.reconnectionDelay(), + max: this.reconnectionDelayMax(), + jitter: this.randomizationFactor() + }); + this.timeout(null == opts.timeout ? 20000 : opts.timeout); + this.readyState = 'closed'; + this.uri = uri; + this.connecting = []; + this.lastPing = null; + this.encoding = false; + this.packetBuffer = []; + var _parser = opts.parser || parser; + this.encoder = new _parser.Encoder(); + this.decoder = new _parser.Decoder(); + this.autoConnect = opts.autoConnect !== false; + if (this.autoConnect) this.open(); +} - if (self.connected) { - destroySoon(); - } else { - self.once('connect', destroySoon); - } +/** + * Propagate given event to sockets and emit on `this` + * + * @api private + */ - // Wait a bit before destroying so the socket flushes. - // TODO: is there a more reliable way to accomplish this? - function destroySoon() { - setTimeout(function () { - self.destroy(); - }, 1000); +Manager.prototype.emitAll = function () { + this.emit.apply(this, arguments); + for (var nsp in this.nsps) { + if (has.call(this.nsps, nsp)) { + this.nsps[nsp].emit.apply(this.nsps[nsp], arguments); + } } }; -Peer.prototype._createOffer = function () { - var self = this; - if (self.destroyed) return; - - self._pc.createOffer(function (offer) { - if (self.destroyed) return; - offer.sdp = self.sdpTransform(offer.sdp); - self._pc.setLocalDescription(offer, onSuccess, onError); +/** + * Update `socket.id` of all sockets + * + * @api private + */ - function onSuccess() { - self._debug('createOffer success'); - if (self.destroyed) return; - if (self.trickle || self._iceComplete) sendOffer();else self.once('_iceComplete', sendOffer); // wait for candidates +Manager.prototype.updateSocketIds = function () { + for (var nsp in this.nsps) { + if (has.call(this.nsps, nsp)) { + this.nsps[nsp].id = this.generateId(nsp); } + } +}; - function onError(err) { - self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); - } +/** + * generate `socket.id` for the given `nsp` + * + * @param {String} nsp + * @return {String} + * @api private + */ - function sendOffer() { - var signal = self._pc.localDescription || offer; - self._debug('signal'); - self.emit('signal', { - type: signal.type, - sdp: signal.sdp - }); - } - }, function (err) { - self.destroy(makeError(err, 'ERR_CREATE_OFFER')); - }, self.offerConstraints); +Manager.prototype.generateId = function (nsp) { + return (nsp === '/' ? '' : nsp + '#') + this.engine.id; }; -Peer.prototype._createAnswer = function () { - var self = this; - if (self.destroyed) return; +/** + * Mix in `Emitter`. + */ - self._pc.createAnswer(function (answer) { - if (self.destroyed) return; - answer.sdp = self.sdpTransform(answer.sdp); - self._pc.setLocalDescription(answer, onSuccess, onError); +Emitter(Manager.prototype); - function onSuccess() { - if (self.destroyed) return; - if (self.trickle || self._iceComplete) sendAnswer();else self.once('_iceComplete', sendAnswer); - } +/** + * Sets the `reconnection` config. + * + * @param {Boolean} true/false if it should automatically reconnect + * @return {Manager} self or value + * @api public + */ - function onError(err) { - self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); - } +Manager.prototype.reconnection = function (v) { + if (!arguments.length) return this._reconnection; + this._reconnection = !!v; + return this; +}; - function sendAnswer() { - var signal = self._pc.localDescription || answer; - self._debug('signal'); - self.emit('signal', { - type: signal.type, - sdp: signal.sdp - }); - } - }, function (err) { - self.destroy(makeError(err, 'ERR_CREATE_ANSWER')); - }, self.answerConstraints); +/** + * Sets the reconnection attempts config. + * + * @param {Number} max reconnection attempts before giving up + * @return {Manager} self or value + * @api public + */ + +Manager.prototype.reconnectionAttempts = function (v) { + if (!arguments.length) return this._reconnectionAttempts; + this._reconnectionAttempts = v; + return this; }; -Peer.prototype._onIceStateChange = function () { - var self = this; - if (self.destroyed) return; - var iceConnectionState = self._pc.iceConnectionState; - var iceGatheringState = self._pc.iceGatheringState; +/** + * Sets the delay between reconnections. + * + * @param {Number} delay + * @return {Manager} self or value + * @api public + */ - self._debug('iceStateChange (connection: %s) (gathering: %s)', iceConnectionState, iceGatheringState); - self.emit('iceStateChange', iceConnectionState, iceGatheringState); +Manager.prototype.reconnectionDelay = function (v) { + if (!arguments.length) return this._reconnectionDelay; + this._reconnectionDelay = v; + this.backoff && this.backoff.setMin(v); + return this; +}; - if (iceConnectionState === 'connected' || iceConnectionState === 'completed') { - self._pcReady = true; - self._maybeReady(); - } - if (iceConnectionState === 'failed') { - self.destroy(makeError('Ice connection failed.', 'ERR_ICE_CONNECTION_FAILURE')); - } - if (iceConnectionState === 'closed') { - self.destroy(new Error('Ice connection closed.')); - } +Manager.prototype.randomizationFactor = function (v) { + if (!arguments.length) return this._randomizationFactor; + this._randomizationFactor = v; + this.backoff && this.backoff.setJitter(v); + return this; }; -Peer.prototype.getStats = function (cb) { - var self = this; +/** + * Sets the maximum delay between reconnections. + * + * @param {Number} delay + * @return {Manager} self or value + * @api public + */ - // Promise-based getStats() (standard) - if (self._pc.getStats.length === 0) { - self._pc.getStats().then(function (res) { - var reports = []; - res.forEach(function (report) { - reports.push(report); - }); - cb(null, reports); - }, function (err) { - cb(err); - }); +Manager.prototype.reconnectionDelayMax = function (v) { + if (!arguments.length) return this._reconnectionDelayMax; + this._reconnectionDelayMax = v; + this.backoff && this.backoff.setMax(v); + return this; +}; - // Two-parameter callback-based getStats() (deprecated, former standard) - } else if (self._isReactNativeWebrtc) { - self._pc.getStats(null, function (res) { - var reports = []; - res.forEach(function (report) { - reports.push(report); - }); - cb(null, reports); - }, function (err) { - cb(err); - }); +/** + * Sets the connection timeout. `false` to disable + * + * @return {Manager} self or value + * @api public + */ - // Single-parameter callback-based getStats() (non-standard) - } else if (self._pc.getStats.length > 0) { - self._pc.getStats(function (res) { - // If we destroy connection in `connect` callback this code might happen to run when actual connection is already closed - if (self.destroyed) return; +Manager.prototype.timeout = function (v) { + if (!arguments.length) return this._timeout; + this._timeout = v; + return this; +}; - var reports = []; - res.result().forEach(function (result) { - var report = {}; - result.names().forEach(function (name) { - report[name] = result.stat(name); - }); - report.id = result.id; - report.type = result.type; - report.timestamp = result.timestamp; - reports.push(report); - }); - cb(null, reports); - }, function (err) { - cb(err); - }); +/** + * Starts trying to reconnect if reconnection is enabled and we have not + * started reconnecting yet + * + * @api private + */ - // Unknown browser, skip getStats() since it's anyone's guess which style of - // getStats() they implement. - } else { - cb(null, []); +Manager.prototype.maybeReconnectOnOpen = function () { + // Only try to reconnect if it's the first time we're connecting + if (!this.reconnecting && this._reconnection && this.backoff.attempts === 0) { + // keeps reconnection from firing twice for the same reconnection loop + this.reconnect(); } }; -Peer.prototype._maybeReady = function () { - var self = this; - self._debug('maybeReady pc %s channel %s', self._pcReady, self._channelReady); - if (self.connected || self._connecting || !self._pcReady || !self._channelReady) return; +/** + * Sets the current transport `socket`. + * + * @param {Function} optional, callback + * @return {Manager} self + * @api public + */ - self._connecting = true; +Manager.prototype.open = Manager.prototype.connect = function (fn, opts) { + debug('readyState %s', this.readyState); + if (~this.readyState.indexOf('open')) return this; - // HACK: We can't rely on order here, for details see https://github.com/js-platform/node-webrtc/issues/339 - function findCandidatePair() { - if (self.destroyed) return; + debug('opening %s', this.uri); + this.engine = eio(this.uri, this.opts); + var socket = this.engine; + var self = this; + this.readyState = 'opening'; + this.skipReconnect = false; - self.getStats(function (err, items) { - if (self.destroyed) return; + // emit `open` + var openSub = on(socket, 'open', function () { + self.onopen(); + fn && fn(); + }); - // Treat getStats error as non-fatal. It's not essential. - if (err) items = []; + // emit `connect_error` + var errorSub = on(socket, 'error', function (data) { + debug('connect_error'); + self.cleanup(); + self.readyState = 'closed'; + self.emitAll('connect_error', data); + if (fn) { + var err = new Error('Connection error'); + err.data = data; + fn(err); + } else { + // Only do this if there is no fn to handle the error + self.maybeReconnectOnOpen(); + } + }); - var remoteCandidates = {}; - var localCandidates = {}; - var candidatePairs = {}; - var foundSelectedCandidatePair = false; + // emit `connect_timeout` + if (false !== this._timeout) { + var timeout = this._timeout; + debug('connect attempt will timeout after %d', timeout); - items.forEach(function (item) { - // TODO: Once all browsers support the hyphenated stats report types, remove - // the non-hypenated ones - if (item.type === 'remotecandidate' || item.type === 'remote-candidate') { - remoteCandidates[item.id] = item; - } - if (item.type === 'localcandidate' || item.type === 'local-candidate') { - localCandidates[item.id] = item; - } - if (item.type === 'candidatepair' || item.type === 'candidate-pair') { - candidatePairs[item.id] = item; - } - }); + // set timer + var timer = setTimeout(function () { + debug('connect attempt timed out after %d', timeout); + openSub.destroy(); + socket.close(); + socket.emit('error', 'timeout'); + self.emitAll('connect_timeout', timeout); + }, timeout); - items.forEach(function (item) { - // Spec-compliant - if (item.type === 'transport' && item.selectedCandidatePairId) { - setSelectedCandidatePair(candidatePairs[item.selectedCandidatePairId]); - } + this.subs.push({ + destroy: function destroy() { + clearTimeout(timer); + } + }); + } - // Old implementations - if (item.type === 'googCandidatePair' && item.googActiveConnection === 'true' || (item.type === 'candidatepair' || item.type === 'candidate-pair') && item.selected) { - setSelectedCandidatePair(item); - } - }); + this.subs.push(openSub); + this.subs.push(errorSub); - function setSelectedCandidatePair(selectedCandidatePair) { - foundSelectedCandidatePair = true; + return this; +}; - var local = localCandidates[selectedCandidatePair.localCandidateId]; +/** + * Called upon transport open. + * + * @api private + */ - if (local && local.ip) { - // Spec - self.localAddress = local.ip; - self.localPort = Number(local.port); - } else if (local && local.ipAddress) { - // Firefox - self.localAddress = local.ipAddress; - self.localPort = Number(local.portNumber); - } else if (typeof selectedCandidatePair.googLocalAddress === 'string') { - // TODO: remove this once Chrome 58 is released - local = selectedCandidatePair.googLocalAddress.split(':'); - self.localAddress = local[0]; - self.localPort = Number(local[1]); - } +Manager.prototype.onopen = function () { + debug('open'); - var remote = remoteCandidates[selectedCandidatePair.remoteCandidateId]; + // clear old subs + this.cleanup(); - if (remote && remote.ip) { - // Spec - self.remoteAddress = remote.ip; - self.remotePort = Number(remote.port); - } else if (remote && remote.ipAddress) { - // Firefox - self.remoteAddress = remote.ipAddress; - self.remotePort = Number(remote.portNumber); - } else if (typeof selectedCandidatePair.googRemoteAddress === 'string') { - // TODO: remove this once Chrome 58 is released - remote = selectedCandidatePair.googRemoteAddress.split(':'); - self.remoteAddress = remote[0]; - self.remotePort = Number(remote[1]); - } - self.remoteFamily = 'IPv4'; + // mark as open + this.readyState = 'open'; + this.emit('open'); - self._debug('connect local: %s:%s remote: %s:%s', self.localAddress, self.localPort, self.remoteAddress, self.remotePort); - } + // add new subs + var socket = this.engine; + this.subs.push(on(socket, 'data', bind(this, 'ondata'))); + this.subs.push(on(socket, 'ping', bind(this, 'onping'))); + this.subs.push(on(socket, 'pong', bind(this, 'onpong'))); + this.subs.push(on(socket, 'error', bind(this, 'onerror'))); + this.subs.push(on(socket, 'close', bind(this, 'onclose'))); + this.subs.push(on(this.decoder, 'decoded', bind(this, 'ondecoded'))); +}; - // Ignore candidate pair selection in browsers like Safari 11 that do not have any local or remote candidates - // But wait until at least 1 candidate pair is available - if (!foundSelectedCandidatePair && (!Object.keys(candidatePairs).length || Object.keys(localCandidates).length)) { - setTimeout(findCandidatePair, 100); - return; - } else { - self._connecting = false; - self.connected = true; - } +/** + * Called upon a ping. + * + * @api private + */ - if (self._chunk) { - try { - self.send(self._chunk); - } catch (err) { - return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); - } - self._chunk = null; - self._debug('sent chunk from "write before connect"'); +Manager.prototype.onping = function () { + this.lastPing = new Date(); + this.emitAll('ping'); +}; - var cb = self._cb; - self._cb = null; - cb(null); - } +/** + * Called upon a packet. + * + * @api private + */ - // If `bufferedAmountLowThreshold` and 'onbufferedamountlow' are unsupported, - // fallback to using setInterval to implement backpressure. - if (typeof self._channel.bufferedAmountLowThreshold !== 'number') { - self._interval = setInterval(function () { - self._onInterval(); - }, 150); - if (self._interval.unref) self._interval.unref(); - } +Manager.prototype.onpong = function () { + this.emitAll('pong', new Date() - this.lastPing); +}; - self._debug('connect'); - self.emit('connect'); - }); - } - findCandidatePair(); +/** + * Called with data. + * + * @api private + */ + +Manager.prototype.ondata = function (data) { + this.decoder.add(data); }; -Peer.prototype._onInterval = function () { - var self = this; - if (!self._cb || !self._channel || self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { - return; - } - self._onChannelBufferedAmountLow(); +/** + * Called when parser fully decodes a packet. + * + * @api private + */ + +Manager.prototype.ondecoded = function (packet) { + this.emit('packet', packet); }; -Peer.prototype._onSignalingStateChange = function () { - var self = this; - if (self.destroyed) return; +/** + * Called upon socket error. + * + * @api private + */ - if (self._pc.signalingState === 'stable') { - self._isNegotiating = false; +Manager.prototype.onerror = function (err) { + debug('error', err); + this.emitAll('error', err); +}; - // HACK: Firefox doesn't yet support removing tracks when signalingState !== 'stable' - self._debug('flushing sender queue', self._sendersAwaitingStable); - self._sendersAwaitingStable.forEach(function (sender) { - self.removeTrack(sender); - self._queuedNegotiation = true; +/** + * Creates a new socket for the given `nsp`. + * + * @return {Socket} + * @api public + */ + +Manager.prototype.socket = function (nsp, opts) { + var socket = this.nsps[nsp]; + if (!socket) { + socket = new Socket(this, nsp, opts); + this.nsps[nsp] = socket; + var self = this; + socket.on('connecting', onConnecting); + socket.on('connect', function () { + socket.id = self.generateId(nsp); }); - self._sendersAwaitingStable = []; - if (self._queuedNegotiation) { - self._debug('flushing negotiation queue'); - self._queuedNegotiation = false; - self._needsNegotiation(); // negotiate again + if (this.autoConnect) { + // manually call here since connecting event is fired before listening + onConnecting(); } + } - self._debug('negotiate'); - self.emit('negotiate'); + function onConnecting() { + if (!~indexOf(self.connecting, socket)) { + self.connecting.push(socket); + } } - self._debug('signalingStateChange %s', self._pc.signalingState); - self.emit('signalingStateChange', self._pc.signalingState); + return socket; }; -Peer.prototype._onIceCandidate = function (event) { +/** + * Called upon a socket close. + * + * @param {Socket} socket + */ + +Manager.prototype.destroy = function (socket) { + var index = indexOf(this.connecting, socket); + if (~index) this.connecting.splice(index, 1); + if (this.connecting.length) return; + + this.close(); +}; + +/** + * Writes a packet. + * + * @param {Object} packet + * @api private + */ + +Manager.prototype.packet = function (packet) { + debug('writing packet %j', packet); var self = this; - if (self.destroyed) return; - if (event.candidate && self.trickle) { - self.emit('signal', { - candidate: { - candidate: event.candidate.candidate, - sdpMLineIndex: event.candidate.sdpMLineIndex, - sdpMid: event.candidate.sdpMid + if (packet.query && packet.type === 0) packet.nsp += '?' + packet.query; + + if (!self.encoding) { + // encode, then write to engine with result + self.encoding = true; + this.encoder.encode(packet, function (encodedPackets) { + for (var i = 0; i < encodedPackets.length; i++) { + self.engine.write(encodedPackets[i], packet.options); } + self.encoding = false; + self.processPacketQueue(); }); - } else if (!event.candidate) { - self._iceComplete = true; - self.emit('_iceComplete'); + } else { + // add packet to the queue + self.packetBuffer.push(packet); } }; -Peer.prototype._onChannelMessage = function (event) { - var self = this; - if (self.destroyed) return; - var data = event.data; - if (data instanceof ArrayBuffer) data = Buffer.from(data); - self.push(data); -}; +/** + * If packet buffer is non-empty, begins encoding the + * next packet in line. + * + * @api private + */ -Peer.prototype._onChannelBufferedAmountLow = function () { - var self = this; - if (self.destroyed || !self._cb) return; - self._debug('ending backpressure: bufferedAmount %d', self._channel.bufferedAmount); - var cb = self._cb; - self._cb = null; - cb(null); +Manager.prototype.processPacketQueue = function () { + if (this.packetBuffer.length > 0 && !this.encoding) { + var pack = this.packetBuffer.shift(); + this.packet(pack); + } }; -Peer.prototype._onChannelOpen = function () { - var self = this; - if (self.connected || self.destroyed) return; - self._debug('on channel open'); - self._channelReady = true; - self._maybeReady(); -}; +/** + * Clean up transport subscriptions and packet buffer. + * + * @api private + */ -Peer.prototype._onChannelClose = function () { - var self = this; - if (self.destroyed) return; - self._debug('on channel close'); - self.destroy(); -}; +Manager.prototype.cleanup = function () { + debug('cleanup'); -Peer.prototype._onTrack = function (event) { - var self = this; - if (self.destroyed) return; + var subsLength = this.subs.length; + for (var i = 0; i < subsLength; i++) { + var sub = this.subs.shift(); + sub.destroy(); + } - event.streams.forEach(function (eventStream) { - self._debug('on track'); - self.emit('track', event.track, eventStream); + this.packetBuffer = []; + this.encoding = false; + this.lastPing = null; - self._remoteTracks.push({ - track: event.track, - stream: eventStream - }); + this.decoder.destroy(); +}; - if (self._remoteStreams.some(function (remoteStream) { - return remoteStream.id === eventStream.id; - })) return; // Only fire one 'stream' event, even though there may be multiple tracks per stream +/** + * Close the current socket. + * + * @api private + */ - self._remoteStreams.push(eventStream); - setTimeout(function () { - self.emit('stream', eventStream); // ensure all tracks have been added - }, 0); - }); +Manager.prototype.close = Manager.prototype.disconnect = function () { + debug('disconnect'); + this.skipReconnect = true; + this.reconnecting = false; + if ('opening' === this.readyState) { + // `onclose` will not fire because + // an open event never happened + this.cleanup(); + } + this.backoff.reset(); + this.readyState = 'closed'; + if (this.engine) this.engine.close(); }; -Peer.prototype._debug = function () { - var self = this; - var args = [].slice.call(arguments); - args[0] = '[' + self._id + '] ' + args[0]; - debug.apply(null, args); -}; +/** + * Called upon engine close. + * + * @api private + */ -// Transform constraints objects into the new format (unless Chromium) -// TODO: This can be removed when Chromium supports the new format -Peer.prototype._transformConstraints = function (constraints) { - var self = this; +Manager.prototype.onclose = function (reason) { + debug('onclose'); - if (Object.keys(constraints).length === 0) { - return constraints; + this.cleanup(); + this.backoff.reset(); + this.readyState = 'closed'; + this.emit('close', reason); + + if (this._reconnection && !this.skipReconnect) { + this.reconnect(); } +}; - if ((constraints.mandatory || constraints.optional) && !self._isChromium) { - // convert to new format +/** + * Attempt a reconnection. + * + * @api private + */ - // Merge mandatory and optional objects, prioritizing mandatory - var newConstraints = Object.assign({}, constraints.optional, constraints.mandatory); +Manager.prototype.reconnect = function () { + if (this.reconnecting || this.skipReconnect) return this; - // fix casing - if (newConstraints.OfferToReceiveVideo !== undefined) { - newConstraints.offerToReceiveVideo = newConstraints.OfferToReceiveVideo; - delete newConstraints['OfferToReceiveVideo']; - } + var self = this; - if (newConstraints.OfferToReceiveAudio !== undefined) { - newConstraints.offerToReceiveAudio = newConstraints.OfferToReceiveAudio; - delete newConstraints['OfferToReceiveAudio']; - } + if (this.backoff.attempts >= this._reconnectionAttempts) { + debug('reconnect failed'); + this.backoff.reset(); + this.emitAll('reconnect_failed'); + this.reconnecting = false; + } else { + var delay = this.backoff.duration(); + debug('will wait %dms before reconnect attempt', delay); - return newConstraints; - } else if (!constraints.mandatory && !constraints.optional && self._isChromium) { - // convert to old format + this.reconnecting = true; + var timer = setTimeout(function () { + if (self.skipReconnect) return; - // fix casing - if (constraints.offerToReceiveVideo !== undefined) { - constraints.OfferToReceiveVideo = constraints.offerToReceiveVideo; - delete constraints['offerToReceiveVideo']; - } + debug('attempting reconnect'); + self.emitAll('reconnect_attempt', self.backoff.attempts); + self.emitAll('reconnecting', self.backoff.attempts); - if (constraints.offerToReceiveAudio !== undefined) { - constraints.OfferToReceiveAudio = constraints.offerToReceiveAudio; - delete constraints['offerToReceiveAudio']; - } + // check again for the case socket closed in above events + if (self.skipReconnect) return; - return { - mandatory: constraints // NOTE: All constraints are upgraded to mandatory - }; - } + self.open(function (err) { + if (err) { + debug('reconnect attempt error'); + self.reconnecting = false; + self.reconnect(); + self.emitAll('reconnect_error', err.data); + } else { + debug('reconnect success'); + self.onreconnect(); + } + }); + }, delay); - return constraints; + this.subs.push({ + destroy: function destroy() { + clearTimeout(timer); + } + }); + } }; -function makeError(message, code) { - var err = new Error(message); - err.code = code; - return err; -} +/** + * Called upon successful reconnect. + * + * @api private + */ -function noop() {} +Manager.prototype.onreconnect = function () { + var attempt = this.backoff.attempts; + this.reconnecting = false; + this.backoff.reset(); + this.updateSocketIds(); + this.emitAll('reconnect', attempt); +}; -}).call(this,require("buffer").Buffer) -},{"buffer":256,"debug":748,"get-browser-rtc":648,"inherits":671,"randombytes":711,"readable-stream":723}],748:[function(require,module,exports){ -(function (process){ +},{"./on":751,"./socket":752,"backo2":210,"component-bind":264,"component-emitter":265,"debug":754,"engine.io-client":628,"indexof":670,"socket.io-parser":757}],751:[function(require,module,exports){ "use strict"; -var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +/** + * Module exports. + */ -function _typeof(obj) { - if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { - _typeof = function _typeof(obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); - }; - } else { - _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); - }; - }return _typeof(obj); +module.exports = on; + +/** + * Helper for subscriptions. + * + * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter` + * @param {String} event name + * @param {Function} callback + * @api public + */ + +function on(obj, ev, fn) { + obj.on(ev, fn); + return { + destroy: function destroy() { + obj.removeListener(ev, fn); + } + }; } -/* eslint-env browser */ +},{}],752:[function(require,module,exports){ +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /** - * This is the web browser implementation of `debug()`. + * Module dependencies. */ -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = localstorage(); + +var parser = require('socket.io-parser'); +var Emitter = require('component-emitter'); +var toArray = require('to-array'); +var on = require('./on'); +var bind = require('component-bind'); +var debug = require('debug')('socket.io-client:socket'); +var parseqs = require('parseqs'); +var hasBin = require('has-binary2'); + /** - * Colors. + * Module exports. */ -exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; +module.exports = exports = Socket; + /** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. + * Internal events (blacklisted). + * These events can't be emitted by the user. * - * TODO: add a `localStorage` variable to explicitly enable/disable colors + * @api private */ -// eslint-disable-next-line complexity - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { - return true; - } // Internet Explorer and Edge do not support colors. +var events = { + connect: 1, + connect_error: 1, + connect_timeout: 1, + connecting: 1, + disconnect: 1, + error: 1, + reconnect: 1, + reconnect_attempt: 1, + reconnect_failed: 1, + reconnect_error: 1, + reconnecting: 1, + ping: 1, + pong: 1 +}; - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } // Is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 +/** + * Shortcut to `Emitter#emit`. + */ +var emit = Emitter.prototype.emit; - return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 - typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker - typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); -} /** - * Colorize log arguments if enabled. + * `Socket` constructor. * * @api public */ -function formatArgs(args) { - args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); - - if (!this.useColors) { - return; +function Socket(io, nsp, opts) { + this.io = io; + this.nsp = nsp; + this.json = this; // compat + this.ids = 0; + this.acks = {}; + this.receiveBuffer = []; + this.sendBuffer = []; + this.connected = false; + this.disconnected = true; + this.flags = {}; + if (opts && opts.query) { + this.query = opts.query; } + if (this.io.autoConnect) this.open(); +} - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into +/** + * Mix in `Emitter`. + */ - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function (match) { - if (match === '%%') { - return; - } +Emitter(Socket.prototype); - index++; +/** + * Subscribe to open, close and packet events + * + * @api private + */ + +Socket.prototype.subEvents = function () { + if (this.subs) return; + + var io = this.io; + this.subs = [on(io, 'open', bind(this, 'onopen')), on(io, 'packet', bind(this, 'onpacket')), on(io, 'close', bind(this, 'onclose'))]; +}; - if (match === '%c') { - // We only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - args.splice(lastC, 0, c); -} /** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". + * "Opens" the socket. * * @api public */ -function log() { - var _console; +Socket.prototype.open = Socket.prototype.connect = function () { + if (this.connected) return this; + + this.subEvents(); + this.io.open(); // ensure open + if ('open' === this.io.readyState) this.onopen(); + this.emit('connecting'); + return this; +}; - // This hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); -} /** - * Save `namespaces`. + * Sends a `message` event. * - * @param {String} namespaces - * @api private + * @return {Socket} self + * @api public */ -function save(namespaces) { - try { - if (namespaces) { - exports.storage.setItem('debug', namespaces); - } else { - exports.storage.removeItem('debug'); - } - } catch (error) {// Swallow - // XXX (@Qix-) should we be logging these? - } -} +Socket.prototype.send = function () { + var args = toArray(arguments); + args.unshift('message'); + this.emit.apply(this, args); + return this; +}; + /** - * Load `namespaces`. + * Override `emit`. + * If the event is in `events`, it's emitted normally. * - * @return {String} returns the previously persisted debug modes - * @api private + * @param {String} event name + * @return {Socket} self + * @api public */ -function load() { - var r; +Socket.prototype.emit = function (ev) { + if (events.hasOwnProperty(ev)) { + emit.apply(this, arguments); + return this; + } - try { - r = exports.storage.getItem('debug'); - } catch (error) {} // Swallow - // XXX (@Qix-) should we be logging these? - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + var args = toArray(arguments); + var packet = { + type: (this.flags.binary !== undefined ? this.flags.binary : hasBin(args)) ? parser.BINARY_EVENT : parser.EVENT, + data: args + }; + packet.options = {}; + packet.options.compress = !this.flags || false !== this.flags.compress; - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; + // event ack callback + if ('function' === typeof args[args.length - 1]) { + debug('emitting packet with ack id %d', this.ids); + this.acks[this.ids] = args.pop(); + packet.id = this.ids++; } - return r; -} + if (this.connected) { + this.packet(packet); + } else { + this.sendBuffer.push(packet); + } + + this.flags = {}; + + return this; +}; + /** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. + * Sends a packet. * - * @return {LocalStorage} + * @param {Object} packet * @api private */ -function localstorage() { - try { - // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context - // The Browser also has localStorage in the global context. - return localStorage; - } catch (error) {// Swallow - // XXX (@Qix-) should we be logging these? - } -} +Socket.prototype.packet = function (packet) { + packet.nsp = this.nsp; + this.io.packet(packet); +}; -module.exports = require('./common')(exports); -var formatters = module.exports.formatters; /** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + * Called upon engine `open`. + * + * @api private */ -formatters.j = function (v) { - try { - return JSON.stringify(v); - } catch (error) { - return '[UnexpectedJSONParseError]: ' + error.message; +Socket.prototype.onopen = function () { + debug('transport is open - connecting'); + + // write connect packet if necessary + if ('/' !== this.nsp) { + if (this.query) { + var query = _typeof(this.query) === 'object' ? parseqs.encode(this.query) : this.query; + debug('sending connect packet with query %s', query); + this.packet({ type: parser.CONNECT, query: query }); + } else { + this.packet({ type: parser.CONNECT }); + } } }; -}).call(this,require('_process')) -},{"./common":749,"_process":704}],749:[function(require,module,exports){ -"use strict"; - /** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. + * Called upon engine `close`. + * + * @param {String} reason + * @api private */ -function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require('ms'); - Object.keys(env).forEach(function (key) { - createDebug[key] = env[key]; - }); - /** - * Active `debug` instances. - */ - - createDebug.instances = []; - /** - * The currently active debug mode names, and names to skip. - */ - - createDebug.names = []; - createDebug.skips = []; - /** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - - createDebug.formatters = {}; - /** - * Selects a color for a debug namespace - * @param {String} namespace The namespace string for the for the debug instance to be colored - * @return {Number|String} An ANSI color code for the given namespace - * @api private - */ - - function selectColor(namespace) { - var hash = 0; - - for (var i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - - createDebug.selectColor = selectColor; - /** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - - function createDebug(namespace) { - var prevTime; - - function debug() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - // Disabled? - if (!debug.enabled) { - return; - } - - var self = debug; // Set `diff` timestamp - - var curr = Number(new Date()); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - args[0] = createDebug.coerce(args[0]); - - if (typeof args[0] !== 'string') { - // Anything else let's inspect with %O - args.unshift('%O'); - } // Apply any `formatters` transformations +Socket.prototype.onclose = function (reason) { + debug('close (%s)', reason); + this.connected = false; + this.disconnected = true; + delete this.id; + this.emit('disconnect', reason); +}; +/** + * Called with socket packet. + * + * @param {Object} packet + * @api private + */ - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { - // If we encounter an escaped % then don't increase the array index - if (match === '%%') { - return match; - } +Socket.prototype.onpacket = function (packet) { + var sameNamespace = packet.nsp === this.nsp; + var rootNamespaceError = packet.type === parser.ERROR && packet.nsp === '/'; - index++; - var formatter = createDebug.formatters[format]; + if (!sameNamespace && !rootNamespaceError) return; - if (typeof formatter === 'function') { - var val = args[index]; - match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` + switch (packet.type) { + case parser.CONNECT: + this.onconnect(); + break; - args.splice(index, 1); - index--; - } + case parser.EVENT: + this.onevent(packet); + break; - return match; - }); // Apply env-specific formatting (colors, etc.) + case parser.BINARY_EVENT: + this.onevent(packet); + break; - createDebug.formatArgs.call(self, args); - var logFn = self.log || createDebug.log; - logFn.apply(self, args); - } + case parser.ACK: + this.onack(packet); + break; - debug.namespace = namespace; - debug.enabled = createDebug.enabled(namespace); - debug.useColors = createDebug.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - debug.extend = extend; // Debug.formatArgs = formatArgs; - // debug.rawLog = rawLog; - // env-specific initialization logic for debug instances + case parser.BINARY_ACK: + this.onack(packet); + break; - if (typeof createDebug.init === 'function') { - createDebug.init(debug); - } + case parser.DISCONNECT: + this.ondisconnect(); + break; - createDebug.instances.push(debug); - return debug; + case parser.ERROR: + this.emit('error', packet.data); + break; } +}; - function destroy() { - var index = createDebug.instances.indexOf(this); +/** + * Called upon a server event. + * + * @param {Object} packet + * @api private + */ - if (index !== -1) { - createDebug.instances.splice(index, 1); - return true; - } +Socket.prototype.onevent = function (packet) { + var args = packet.data || []; + debug('emitting event %j', args); - return false; + if (null != packet.id) { + debug('attaching ack callback to event'); + args.push(this.ack(packet.id)); } - function extend(namespace, delimiter) { - return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + if (this.connected) { + emit.apply(this, args); + } else { + this.receiveBuffer.push(args); } - /** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.names = []; - createDebug.skips = []; - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; +}; - for (i = 0; i < len; i++) { - if (!split[i]) { - // ignore empty strings - continue; - } +/** + * Produces an ack callback to emit with an event. + * + * @api private + */ - namespaces = split[i].replace(/\*/g, '.*?'); +Socket.prototype.ack = function (id) { + var self = this; + var sent = false; + return function () { + // prevent double callbacks + if (sent) return; + sent = true; + var args = toArray(arguments); + debug('sending ack %j', args); - if (namespaces[0] === '-') { - createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - createDebug.names.push(new RegExp('^' + namespaces + '$')); - } - } + self.packet({ + type: hasBin(args) ? parser.BINARY_ACK : parser.ACK, + id: id, + data: args + }); + }; +}; - for (i = 0; i < createDebug.instances.length; i++) { - var instance = createDebug.instances[i]; - instance.enabled = createDebug.enabled(instance.namespace); - } - } - /** - * Disable debug output. - * - * @api public - */ +/** + * Called upon a server acknowlegement. + * + * @param {Object} packet + * @api private + */ - function disable() { - createDebug.enable(''); +Socket.prototype.onack = function (packet) { + var ack = this.acks[packet.id]; + if ('function' === typeof ack) { + debug('calling ack %s with %j', packet.id, packet.data); + ack.apply(this, packet.data); + delete this.acks[packet.id]; + } else { + debug('bad ack %s', packet.id); } - /** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - - function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } +}; - var i; - var len; +/** + * Called upon server connect. + * + * @api private + */ - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } +Socket.prototype.onconnect = function () { + this.connected = true; + this.disconnected = false; + this.emit('connect'); + this.emitBuffered(); +}; - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } +/** + * Emit buffered events (received and emitted). + * + * @api private + */ - return false; +Socket.prototype.emitBuffered = function () { + var i; + for (i = 0; i < this.receiveBuffer.length; i++) { + emit.apply(this, this.receiveBuffer[i]); } - /** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } + this.receiveBuffer = []; - return val; + for (i = 0; i < this.sendBuffer.length; i++) { + this.packet(this.sendBuffer[i]); } - - createDebug.enable(createDebug.load()); - return createDebug; -} - -module.exports = setup; - -},{"ms":750}],750:[function(require,module,exports){ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + this.sendBuffer = []; +}; /** - * Helpers. + * Called upon server disconnect. + * + * @api private */ -var s = 1000; -var m = s * 60; -var h = m * 60; -var d = h * 24; -var w = d * 7; -var y = d * 365.25; +Socket.prototype.ondisconnect = function () { + debug('server disconnect (%s)', this.nsp); + this.destroy(); + this.onclose('io server disconnect'); +}; /** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] + * Called upon forced client/server side disconnections, + * this method ensures the manager stops tracking us and + * that reconnections don't get triggered for this. * - * @param {String|Number} val - * @param {Object} [options] - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public + * @api private. */ -module.exports = function (val, options) { - options = options || {}; - var type = typeof val === 'undefined' ? 'undefined' : _typeof(val); - if (type === 'string' && val.length > 0) { - return parse(val); - } else if (type === 'number' && isNaN(val) === false) { - return options.long ? fmtLong(val) : fmtShort(val); +Socket.prototype.destroy = function () { + if (this.subs) { + // clean subscriptions to avoid reconnections + for (var i = 0; i < this.subs.length; i++) { + this.subs[i].destroy(); + } + this.subs = null; } - throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)); + + this.io.destroy(this); }; /** - * Parse the given `str` and return milliseconds. + * Disconnects the socket manually. * - * @param {String} str - * @return {Number} - * @api private + * @return {Socket} self + * @api public */ -function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || 'ms').toLowerCase(); - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y; - case 'weeks': - case 'week': - case 'w': - return n * w; - case 'days': - case 'day': - case 'd': - return n * d; - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h; - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m; - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s; - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n; - default: - return undefined; +Socket.prototype.close = Socket.prototype.disconnect = function () { + if (this.connected) { + debug('performing disconnect (%s)', this.nsp); + this.packet({ type: parser.DISCONNECT }); } -} -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ + // remove socket from pool + this.destroy(); -function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + 'd'; - } - if (msAbs >= h) { - return Math.round(ms / h) + 'h'; - } - if (msAbs >= m) { - return Math.round(ms / m) + 'm'; - } - if (msAbs >= s) { - return Math.round(ms / s) + 's'; + if (this.connected) { + // fire events + this.onclose('io client disconnect'); } - return ms + 'ms'; -} + return this; +}; /** - * Long format for `ms`. + * Sets the compress flag. * - * @param {Number} ms - * @return {String} - * @api private + * @param {Boolean} if `true`, compresses the sending data + * @return {Socket} self + * @api public */ -function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, 'day'); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, 'hour'); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, 'minute'); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, 'second'); - } - return ms + ' ms'; -} +Socket.prototype.compress = function (compress) { + this.flags.compress = compress; + return this; +}; /** - * Pluralization helper. + * Sets the binary flag + * + * @param {Boolean} whether the emitted data contains binary + * @return {Socket} self + * @api public */ -function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); -} +Socket.prototype.binary = function (binary) { + this.flags.binary = binary; + return this; +}; -},{}],751:[function(require,module,exports){ +},{"./on":751,"component-bind":264,"component-emitter":265,"debug":754,"has-binary2":649,"parseqs":696,"socket.io-parser":757,"to-array":766}],753:[function(require,module,exports){ +(function (global){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - /** * Module dependencies. */ -var url = require('./url'); -var parser = require('socket.io-parser'); -var Manager = require('./manager'); -var debug = require('debug')('socket.io-client'); +var parseuri = require('parseuri'); +var debug = require('debug')('socket.io-client:url'); /** * Module exports. */ -module.exports = exports = lookup; +module.exports = url; /** - * Managers cache. + * URL parser. + * + * @param {String} url + * @param {Object} An object meant to mimic window.location. + * Defaults to window.location. + * @api public */ -var cache = exports.managers = {}; +function url(uri, loc) { + var obj = uri; -/** - * Looks up an existing `Manager` for multiplexing. - * If the user summons: - * - * `io('http://localhost/a');` - * `io('http://localhost/b');` - * - * We reuse the existing instance based on same scheme/port/host, - * and we initialize sockets for each namespace. - * - * @api public - */ - -function lookup(uri, opts) { - if ((typeof uri === 'undefined' ? 'undefined' : _typeof(uri)) === 'object') { - opts = uri; - uri = undefined; - } + // default to window.location + loc = loc || global.location; + if (null == uri) uri = loc.protocol + '//' + loc.host; - opts = opts || {}; + // relative path support + if ('string' === typeof uri) { + if ('/' === uri.charAt(0)) { + if ('/' === uri.charAt(1)) { + uri = loc.protocol + uri; + } else { + uri = loc.host + uri; + } + } - var parsed = url(uri); - var source = parsed.source; - var id = parsed.id; - var path = parsed.path; - var sameNamespace = cache[id] && path in cache[id].nsps; - var newConnection = opts.forceNew || opts['force new connection'] || false === opts.multiplex || sameNamespace; + if (!/^(https?|wss?):\/\//.test(uri)) { + debug('protocol-less url %s', uri); + if ('undefined' !== typeof loc) { + uri = loc.protocol + '//' + uri; + } else { + uri = 'https://' + uri; + } + } - var io; + // parse + debug('parse %s', uri); + obj = parseuri(uri); + } - if (newConnection) { - debug('ignoring socket cache for %s', source); - io = Manager(source, opts); - } else { - if (!cache[id]) { - debug('new io instance for %s', source); - cache[id] = Manager(source, opts); + // make sure we treat `localhost:80` and `localhost` equally + if (!obj.port) { + if (/^(http|ws)$/.test(obj.protocol)) { + obj.port = '80'; + } else if (/^(http|ws)s$/.test(obj.protocol)) { + obj.port = '443'; } - io = cache[id]; - } - if (parsed.query && !opts.query) { - opts.query = parsed.query; } - return io.socket(parsed.path, opts); -} - -/** - * Protocol version. - * - * @api public - */ - -exports.protocol = parser.protocol; -/** - * `connect`. - * - * @param {String} uri - * @api public - */ + obj.path = obj.path || '/'; -exports.connect = lookup; + var ipv6 = obj.host.indexOf(':') !== -1; + var host = ipv6 ? '[' + obj.host + ']' : obj.host; -/** - * Expose constructors for standalone build. - * - * @api public - */ + // define unique id + obj.id = obj.protocol + '://' + host + ':' + obj.port; + // define href + obj.href = obj.protocol + '://' + host + (loc && loc.port === obj.port ? '' : ':' + obj.port); -exports.Manager = require('./manager'); -exports.Socket = require('./socket'); + return obj; +} -},{"./manager":752,"./socket":754,"./url":755,"debug":756,"socket.io-parser":759}],752:[function(require,module,exports){ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"debug":754,"parseuri":697}],754:[function(require,module,exports){ +arguments[4][637][0].apply(exports,arguments) +},{"./debug":755,"_process":704,"dup":637}],755:[function(require,module,exports){ +arguments[4][638][0].apply(exports,arguments) +},{"dup":638,"ms":690}],756:[function(require,module,exports){ +(function (global){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +/*global Blob,File*/ + /** - * Module dependencies. + * Module requirements */ -var eio = require('engine.io-client'); -var Socket = require('./socket'); -var Emitter = require('component-emitter'); -var parser = require('socket.io-parser'); -var on = require('./on'); -var bind = require('component-bind'); -var debug = require('debug')('socket.io-client:manager'); -var indexOf = require('indexof'); -var Backoff = require('backo2'); +var isArray = require('isarray'); +var isBuf = require('./is-buffer'); +var toString = Object.prototype.toString; +var withNativeBlob = typeof global.Blob === 'function' || toString.call(global.Blob) === '[object BlobConstructor]'; +var withNativeFile = typeof global.File === 'function' || toString.call(global.File) === '[object FileConstructor]'; /** - * IE6+ hasOwnProperty + * Replaces every Buffer | ArrayBuffer in packet with a numbered placeholder. + * Anything with blobs or files should be fed through removeBlobs before coming + * here. + * + * @param {Object} packet - socket.io event packet + * @return {Object} with deconstructed packet and list of buffers + * @api public */ -var has = Object.prototype.hasOwnProperty; +exports.deconstructPacket = function (packet) { + var buffers = []; + var packetData = packet.data; + var pack = packet; + pack.data = _deconstructPacket(packetData, buffers); + pack.attachments = buffers.length; // number of binary 'attachments' + return { packet: pack, buffers: buffers }; +}; -/** - * Module exports - */ +function _deconstructPacket(data, buffers) { + if (!data) return data; -module.exports = Manager; + if (isBuf(data)) { + var placeholder = { _placeholder: true, num: buffers.length }; + buffers.push(data); + return placeholder; + } else if (isArray(data)) { + var newData = new Array(data.length); + for (var i = 0; i < data.length; i++) { + newData[i] = _deconstructPacket(data[i], buffers); + } + return newData; + } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && !(data instanceof Date)) { + var newData = {}; + for (var key in data) { + newData[key] = _deconstructPacket(data[key], buffers); + } + return newData; + } + return data; +} /** - * `Manager` constructor. + * Reconstructs a binary packet from its placeholder packet and buffers * - * @param {String} engine instance or engine uri/opts - * @param {Object} options + * @param {Object} packet - event packet with placeholders + * @param {Array} buffers - binary buffers to put in placeholder positions + * @return {Object} reconstructed packet * @api public */ -function Manager(uri, opts) { - if (!(this instanceof Manager)) return new Manager(uri, opts); - if (uri && 'object' === (typeof uri === 'undefined' ? 'undefined' : _typeof(uri))) { - opts = uri; - uri = undefined; +exports.reconstructPacket = function (packet, buffers) { + packet.data = _reconstructPacket(packet.data, buffers); + packet.attachments = undefined; // no longer useful + return packet; +}; + +function _reconstructPacket(data, buffers) { + if (!data) return data; + + if (data && data._placeholder) { + return buffers[data.num]; // appropriate buffer (should be natural order anyway) + } else if (isArray(data)) { + for (var i = 0; i < data.length; i++) { + data[i] = _reconstructPacket(data[i], buffers); + } + } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') { + for (var key in data) { + data[key] = _reconstructPacket(data[key], buffers); + } } - opts = opts || {}; - opts.path = opts.path || '/socket.io'; - this.nsps = {}; - this.subs = []; - this.opts = opts; - this.reconnection(opts.reconnection !== false); - this.reconnectionAttempts(opts.reconnectionAttempts || Infinity); - this.reconnectionDelay(opts.reconnectionDelay || 1000); - this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000); - this.randomizationFactor(opts.randomizationFactor || 0.5); - this.backoff = new Backoff({ - min: this.reconnectionDelay(), - max: this.reconnectionDelayMax(), - jitter: this.randomizationFactor() - }); - this.timeout(null == opts.timeout ? 20000 : opts.timeout); - this.readyState = 'closed'; - this.uri = uri; - this.connecting = []; - this.lastPing = null; - this.encoding = false; - this.packetBuffer = []; - var _parser = opts.parser || parser; - this.encoder = new _parser.Encoder(); - this.decoder = new _parser.Decoder(); - this.autoConnect = opts.autoConnect !== false; - if (this.autoConnect) this.open(); + return data; } /** - * Propagate given event to sockets and emit on `this` + * Asynchronously removes Blobs or Files from data via + * FileReader's readAsArrayBuffer method. Used before encoding + * data as msgpack. Calls callback with the blobless data. * + * @param {Object} data + * @param {Function} callback * @api private */ -Manager.prototype.emitAll = function () { - this.emit.apply(this, arguments); - for (var nsp in this.nsps) { - if (has.call(this.nsps, nsp)) { - this.nsps[nsp].emit.apply(this.nsps[nsp], arguments); - } - } -}; +exports.removeBlobs = function (data, callback) { + function _removeBlobs(obj, curKey, containingObject) { + if (!obj) return obj; -/** - * Update `socket.id` of all sockets - * - * @api private - */ + // convert any blob + if (withNativeBlob && obj instanceof Blob || withNativeFile && obj instanceof File) { + pendingBlobs++; -Manager.prototype.updateSocketIds = function () { - for (var nsp in this.nsps) { - if (has.call(this.nsps, nsp)) { - this.nsps[nsp].id = this.generateId(nsp); + // async filereader + var fileReader = new FileReader(); + fileReader.onload = function () { + // this.result == arraybuffer + if (containingObject) { + containingObject[curKey] = this.result; + } else { + bloblessData = this.result; + } + + // if nothing pending its callback time + if (! --pendingBlobs) { + callback(bloblessData); + } + }; + + fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer + } else if (isArray(obj)) { + // handle array + for (var i = 0; i < obj.length; i++) { + _removeBlobs(obj[i], i, obj); + } + } else if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && !isBuf(obj)) { + // and object + for (var key in obj) { + _removeBlobs(obj[key], key, obj); + } } } + + var pendingBlobs = 0; + var bloblessData = data; + _removeBlobs(bloblessData); + if (!pendingBlobs) { + callback(bloblessData); + } }; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./is-buffer":758,"isarray":761}],757:[function(require,module,exports){ +'use strict'; + /** - * generate `socket.id` for the given `nsp` - * - * @param {String} nsp - * @return {String} - * @api private + * Module dependencies. */ -Manager.prototype.generateId = function (nsp) { - return (nsp === '/' ? '' : nsp + '#') + this.engine.id; -}; +var debug = require('debug')('socket.io-parser'); +var Emitter = require('component-emitter'); +var binary = require('./binary'); +var isArray = require('isarray'); +var isBuf = require('./is-buffer'); /** - * Mix in `Emitter`. + * Protocol version. + * + * @api public */ -Emitter(Manager.prototype); +exports.protocol = 4; /** - * Sets the `reconnection` config. + * Packet types. * - * @param {Boolean} true/false if it should automatically reconnect - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnection = function (v) { - if (!arguments.length) return this._reconnection; - this._reconnection = !!v; - return this; -}; +exports.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']; /** - * Sets the reconnection attempts config. + * Packet type `connect`. * - * @param {Number} max reconnection attempts before giving up - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnectionAttempts = function (v) { - if (!arguments.length) return this._reconnectionAttempts; - this._reconnectionAttempts = v; - return this; -}; +exports.CONNECT = 0; /** - * Sets the delay between reconnections. + * Packet type `disconnect`. * - * @param {Number} delay - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnectionDelay = function (v) { - if (!arguments.length) return this._reconnectionDelay; - this._reconnectionDelay = v; - this.backoff && this.backoff.setMin(v); - return this; -}; - -Manager.prototype.randomizationFactor = function (v) { - if (!arguments.length) return this._randomizationFactor; - this._randomizationFactor = v; - this.backoff && this.backoff.setJitter(v); - return this; -}; +exports.DISCONNECT = 1; /** - * Sets the maximum delay between reconnections. + * Packet type `event`. * - * @param {Number} delay - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnectionDelayMax = function (v) { - if (!arguments.length) return this._reconnectionDelayMax; - this._reconnectionDelayMax = v; - this.backoff && this.backoff.setMax(v); - return this; -}; +exports.EVENT = 2; /** - * Sets the connection timeout. `false` to disable + * Packet type `ack`. * - * @return {Manager} self or value * @api public */ -Manager.prototype.timeout = function (v) { - if (!arguments.length) return this._timeout; - this._timeout = v; - return this; -}; +exports.ACK = 3; /** - * Starts trying to reconnect if reconnection is enabled and we have not - * started reconnecting yet + * Packet type `error`. * - * @api private + * @api public */ -Manager.prototype.maybeReconnectOnOpen = function () { - // Only try to reconnect if it's the first time we're connecting - if (!this.reconnecting && this._reconnection && this.backoff.attempts === 0) { - // keeps reconnection from firing twice for the same reconnection loop - this.reconnect(); - } -}; +exports.ERROR = 4; /** - * Sets the current transport `socket`. + * Packet type 'binary event' * - * @param {Function} optional, callback - * @return {Manager} self * @api public */ -Manager.prototype.open = Manager.prototype.connect = function (fn, opts) { - debug('readyState %s', this.readyState); - if (~this.readyState.indexOf('open')) return this; - - debug('opening %s', this.uri); - this.engine = eio(this.uri, this.opts); - var socket = this.engine; - var self = this; - this.readyState = 'opening'; - this.skipReconnect = false; - - // emit `open` - var openSub = on(socket, 'open', function () { - self.onopen(); - fn && fn(); - }); - - // emit `connect_error` - var errorSub = on(socket, 'error', function (data) { - debug('connect_error'); - self.cleanup(); - self.readyState = 'closed'; - self.emitAll('connect_error', data); - if (fn) { - var err = new Error('Connection error'); - err.data = data; - fn(err); - } else { - // Only do this if there is no fn to handle the error - self.maybeReconnectOnOpen(); - } - }); - - // emit `connect_timeout` - if (false !== this._timeout) { - var timeout = this._timeout; - debug('connect attempt will timeout after %d', timeout); - - // set timer - var timer = setTimeout(function () { - debug('connect attempt timed out after %d', timeout); - openSub.destroy(); - socket.close(); - socket.emit('error', 'timeout'); - self.emitAll('connect_timeout', timeout); - }, timeout); - - this.subs.push({ - destroy: function destroy() { - clearTimeout(timer); - } - }); - } - - this.subs.push(openSub); - this.subs.push(errorSub); - - return this; -}; +exports.BINARY_EVENT = 5; /** - * Called upon transport open. + * Packet type `binary ack`. For acks with binary arguments. * - * @api private + * @api public */ -Manager.prototype.onopen = function () { - debug('open'); - - // clear old subs - this.cleanup(); - - // mark as open - this.readyState = 'open'; - this.emit('open'); - - // add new subs - var socket = this.engine; - this.subs.push(on(socket, 'data', bind(this, 'ondata'))); - this.subs.push(on(socket, 'ping', bind(this, 'onping'))); - this.subs.push(on(socket, 'pong', bind(this, 'onpong'))); - this.subs.push(on(socket, 'error', bind(this, 'onerror'))); - this.subs.push(on(socket, 'close', bind(this, 'onclose'))); - this.subs.push(on(this.decoder, 'decoded', bind(this, 'ondecoded'))); -}; +exports.BINARY_ACK = 6; /** - * Called upon a ping. + * Encoder constructor. * - * @api private + * @api public */ -Manager.prototype.onping = function () { - this.lastPing = new Date(); - this.emitAll('ping'); -}; +exports.Encoder = Encoder; /** - * Called upon a packet. + * Decoder constructor. * - * @api private + * @api public */ -Manager.prototype.onpong = function () { - this.emitAll('pong', new Date() - this.lastPing); -}; +exports.Decoder = Decoder; /** - * Called with data. + * A socket.io Encoder instance * - * @api private + * @api public */ -Manager.prototype.ondata = function (data) { - this.decoder.add(data); -}; +function Encoder() {} + +var ERROR_PACKET = exports.ERROR + '"encode error"'; /** - * Called when parser fully decodes a packet. + * Encode a packet as a single string if non-binary, or as a + * buffer sequence, depending on packet type. * - * @api private + * @param {Object} obj - packet object + * @param {Function} callback - function to handle encodings (likely engine.write) + * @return Calls callback with Array of encodings + * @api public */ -Manager.prototype.ondecoded = function (packet) { - this.emit('packet', packet); +Encoder.prototype.encode = function (obj, callback) { + debug('encoding packet %j', obj); + + if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { + encodeAsBinary(obj, callback); + } else { + var encoding = encodeAsString(obj); + callback([encoding]); + } }; /** - * Called upon socket error. + * Encode packet as string. * + * @param {Object} packet + * @return {String} encoded * @api private */ -Manager.prototype.onerror = function (err) { - debug('error', err); - this.emitAll('error', err); -}; - -/** - * Creates a new socket for the given `nsp`. - * - * @return {Socket} - * @api public - */ +function encodeAsString(obj) { -Manager.prototype.socket = function (nsp, opts) { - var socket = this.nsps[nsp]; - if (!socket) { - socket = new Socket(this, nsp, opts); - this.nsps[nsp] = socket; - var self = this; - socket.on('connecting', onConnecting); - socket.on('connect', function () { - socket.id = self.generateId(nsp); - }); + // first is type + var str = '' + obj.type; - if (this.autoConnect) { - // manually call here since connecting event is fired before listening - onConnecting(); - } + // attachments if we have them + if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { + str += obj.attachments + '-'; } - function onConnecting() { - if (!~indexOf(self.connecting, socket)) { - self.connecting.push(socket); - } + // if we have a namespace other than `/` + // we append it followed by a comma `,` + if (obj.nsp && '/' !== obj.nsp) { + str += obj.nsp + ','; } - return socket; -}; + // immediately followed by the id + if (null != obj.id) { + str += obj.id; + } -/** - * Called upon a socket close. - * - * @param {Socket} socket - */ + // json data + if (null != obj.data) { + var payload = tryStringify(obj.data); + if (payload !== false) { + str += payload; + } else { + return ERROR_PACKET; + } + } -Manager.prototype.destroy = function (socket) { - var index = indexOf(this.connecting, socket); - if (~index) this.connecting.splice(index, 1); - if (this.connecting.length) return; + debug('encoded %j as %s', obj, str); + return str; +} - this.close(); -}; +function tryStringify(str) { + try { + return JSON.stringify(str); + } catch (e) { + return false; + } +} /** - * Writes a packet. + * Encode packet as 'buffer sequence' by removing blobs, and + * deconstructing packet into object with placeholders and + * a list of buffers. * * @param {Object} packet + * @return {Buffer} encoded * @api private */ -Manager.prototype.packet = function (packet) { - debug('writing packet %j', packet); - var self = this; - if (packet.query && packet.type === 0) packet.nsp += '?' + packet.query; - - if (!self.encoding) { - // encode, then write to engine with result - self.encoding = true; - this.encoder.encode(packet, function (encodedPackets) { - for (var i = 0; i < encodedPackets.length; i++) { - self.engine.write(encodedPackets[i], packet.options); - } - self.encoding = false; - self.processPacketQueue(); - }); - } else { - // add packet to the queue - self.packetBuffer.push(packet); - } -}; +function encodeAsBinary(obj, callback) { -/** - * If packet buffer is non-empty, begins encoding the - * next packet in line. - * - * @api private - */ + function writeEncoding(bloblessData) { + var deconstruction = binary.deconstructPacket(bloblessData); + var pack = encodeAsString(deconstruction.packet); + var buffers = deconstruction.buffers; -Manager.prototype.processPacketQueue = function () { - if (this.packetBuffer.length > 0 && !this.encoding) { - var pack = this.packetBuffer.shift(); - this.packet(pack); + buffers.unshift(pack); // add packet info to beginning of data list + callback(buffers); // write all the buffers } -}; + + binary.removeBlobs(obj, writeEncoding); +} /** - * Clean up transport subscriptions and packet buffer. + * A socket.io Decoder instance * - * @api private + * @return {Object} decoder + * @api public */ -Manager.prototype.cleanup = function () { - debug('cleanup'); - - var subsLength = this.subs.length; - for (var i = 0; i < subsLength; i++) { - var sub = this.subs.shift(); - sub.destroy(); - } - - this.packetBuffer = []; - this.encoding = false; - this.lastPing = null; - - this.decoder.destroy(); -}; +function Decoder() { + this.reconstructor = null; +} /** - * Close the current socket. - * - * @api private + * Mix in `Emitter` with Decoder. */ -Manager.prototype.close = Manager.prototype.disconnect = function () { - debug('disconnect'); - this.skipReconnect = true; - this.reconnecting = false; - if ('opening' === this.readyState) { - // `onclose` will not fire because - // an open event never happened - this.cleanup(); - } - this.backoff.reset(); - this.readyState = 'closed'; - if (this.engine) this.engine.close(); -}; +Emitter(Decoder.prototype); /** - * Called upon engine close. + * Decodes an ecoded packet string into packet JSON. * - * @api private + * @param {String} obj - encoded packet + * @return {Object} packet + * @api public */ -Manager.prototype.onclose = function (reason) { - debug('onclose'); - - this.cleanup(); - this.backoff.reset(); - this.readyState = 'closed'; - this.emit('close', reason); +Decoder.prototype.add = function (obj) { + var packet; + if (typeof obj === 'string') { + packet = decodeString(obj); + if (exports.BINARY_EVENT === packet.type || exports.BINARY_ACK === packet.type) { + // binary packet's json + this.reconstructor = new BinaryReconstructor(packet); - if (this._reconnection && !this.skipReconnect) { - this.reconnect(); + // no attachments, labeled binary but no binary data to follow + if (this.reconstructor.reconPack.attachments === 0) { + this.emit('decoded', packet); + } + } else { + // non-binary full packet + this.emit('decoded', packet); + } + } else if (isBuf(obj) || obj.base64) { + // raw binary data + if (!this.reconstructor) { + throw new Error('got binary data when not reconstructing a packet'); + } else { + packet = this.reconstructor.takeBinaryData(obj); + if (packet) { + // received final buffer + this.reconstructor = null; + this.emit('decoded', packet); + } + } + } else { + throw new Error('Unknown type: ' + obj); } }; /** - * Attempt a reconnection. + * Decode a packet String (JSON data) * + * @param {String} str + * @return {Object} packet * @api private */ -Manager.prototype.reconnect = function () { - if (this.reconnecting || this.skipReconnect) return this; +function decodeString(str) { + var i = 0; + // look up type + var p = { + type: Number(str.charAt(0)) + }; - var self = this; + if (null == exports.types[p.type]) { + return error('unknown packet type ' + p.type); + } - if (this.backoff.attempts >= this._reconnectionAttempts) { - debug('reconnect failed'); - this.backoff.reset(); - this.emitAll('reconnect_failed'); - this.reconnecting = false; + // look up attachments if type binary + if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) { + var buf = ''; + while (str.charAt(++i) !== '-') { + buf += str.charAt(i); + if (i == str.length) break; + } + if (buf != Number(buf) || str.charAt(i) !== '-') { + throw new Error('Illegal attachments'); + } + p.attachments = Number(buf); + } + + // look up namespace (if any) + if ('/' === str.charAt(i + 1)) { + p.nsp = ''; + while (++i) { + var c = str.charAt(i); + if (',' === c) break; + p.nsp += c; + if (i === str.length) break; + } } else { - var delay = this.backoff.duration(); - debug('will wait %dms before reconnect attempt', delay); + p.nsp = '/'; + } - this.reconnecting = true; - var timer = setTimeout(function () { - if (self.skipReconnect) return; + // look up id + var next = str.charAt(i + 1); + if ('' !== next && Number(next) == next) { + p.id = ''; + while (++i) { + var c = str.charAt(i); + if (null == c || Number(c) != c) { + --i; + break; + } + p.id += str.charAt(i); + if (i === str.length) break; + } + p.id = Number(p.id); + } - debug('attempting reconnect'); - self.emitAll('reconnect_attempt', self.backoff.attempts); - self.emitAll('reconnecting', self.backoff.attempts); + // look up json data + if (str.charAt(++i)) { + var payload = tryParse(str.substr(i)); + var isPayloadValid = payload !== false && (p.type === exports.ERROR || isArray(payload)); + if (isPayloadValid) { + p.data = payload; + } else { + return error('invalid payload'); + } + } - // check again for the case socket closed in above events - if (self.skipReconnect) return; + debug('decoded %s as %j', str, p); + return p; +} - self.open(function (err) { - if (err) { - debug('reconnect attempt error'); - self.reconnecting = false; - self.reconnect(); - self.emitAll('reconnect_error', err.data); - } else { - debug('reconnect success'); - self.onreconnect(); - } - }); - }, delay); +function tryParse(str) { + try { + return JSON.parse(str); + } catch (e) { + return false; + } +} - this.subs.push({ - destroy: function destroy() { - clearTimeout(timer); - } - }); +/** + * Deallocates a parser's resources + * + * @api public + */ + +Decoder.prototype.destroy = function () { + if (this.reconstructor) { + this.reconstructor.finishedReconstruction(); } }; /** - * Called upon successful reconnect. + * A manager of a binary event's 'buffer sequence'. Should + * be constructed whenever a packet of type BINARY_EVENT is + * decoded. * + * @param {Object} packet + * @return {BinaryReconstructor} initialized reconstructor * @api private */ -Manager.prototype.onreconnect = function () { - var attempt = this.backoff.attempts; - this.reconnecting = false; - this.backoff.reset(); - this.updateSocketIds(); - this.emitAll('reconnect', attempt); -}; - -},{"./on":753,"./socket":754,"backo2":210,"component-bind":264,"component-emitter":265,"debug":756,"engine.io-client":628,"indexof":670,"socket.io-parser":759}],753:[function(require,module,exports){ -"use strict"; +function BinaryReconstructor(packet) { + this.reconPack = packet; + this.buffers = []; +} /** - * Module exports. + * Method to be called when binary data received from connection + * after a BINARY_EVENT packet. + * + * @param {Buffer | ArrayBuffer} binData - the raw binary data received + * @return {null | Object} returns null if more binary data is expected or + * a reconstructed packet object if all buffers have been received. + * @api private */ -module.exports = on; +BinaryReconstructor.prototype.takeBinaryData = function (binData) { + this.buffers.push(binData); + if (this.buffers.length === this.reconPack.attachments) { + // done with buffer list + var packet = binary.reconstructPacket(this.reconPack, this.buffers); + this.finishedReconstruction(); + return packet; + } + return null; +}; /** - * Helper for subscriptions. + * Cleans up binary packet reconstruction variables. * - * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter` - * @param {String} event name - * @param {Function} callback - * @api public + * @api private */ -function on(obj, ev, fn) { - obj.on(ev, fn); +BinaryReconstructor.prototype.finishedReconstruction = function () { + this.reconPack = null; + this.buffers = []; +}; + +function error(msg) { return { - destroy: function destroy() { - obj.removeListener(ev, fn); - } + type: exports.ERROR, + data: 'parser error: ' + msg }; } -},{}],754:[function(require,module,exports){ +},{"./binary":756,"./is-buffer":758,"component-emitter":265,"debug":759,"isarray":761}],758:[function(require,module,exports){ +(function (global){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/** - * Module dependencies. - */ - -var parser = require('socket.io-parser'); -var Emitter = require('component-emitter'); -var toArray = require('to-array'); -var on = require('./on'); -var bind = require('component-bind'); -var debug = require('debug')('socket.io-client:socket'); -var parseqs = require('parseqs'); -var hasBin = require('has-binary2'); +module.exports = isBuf; -/** - * Module exports. - */ +var withNativeBuffer = typeof global.Buffer === 'function' && typeof global.Buffer.isBuffer === 'function'; +var withNativeArrayBuffer = typeof global.ArrayBuffer === 'function'; -module.exports = exports = Socket; +var isView = function () { + if (withNativeArrayBuffer && typeof global.ArrayBuffer.isView === 'function') { + return global.ArrayBuffer.isView; + } else { + return function (obj) { + return obj.buffer instanceof global.ArrayBuffer; + }; + } +}(); /** - * Internal events (blacklisted). - * These events can't be emitted by the user. + * Returns true if obj is a buffer or an arraybuffer. * * @api private */ -var events = { - connect: 1, - connect_error: 1, - connect_timeout: 1, - connecting: 1, - disconnect: 1, - error: 1, - reconnect: 1, - reconnect_attempt: 1, - reconnect_failed: 1, - reconnect_error: 1, - reconnecting: 1, - ping: 1, - pong: 1 -}; +function isBuf(obj) { + return withNativeBuffer && global.Buffer.isBuffer(obj) || withNativeArrayBuffer && (obj instanceof global.ArrayBuffer || isView(obj)); +} -/** - * Shortcut to `Emitter#emit`. - */ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],759:[function(require,module,exports){ +arguments[4][637][0].apply(exports,arguments) +},{"./debug":760,"_process":704,"dup":637}],760:[function(require,module,exports){ +arguments[4][638][0].apply(exports,arguments) +},{"dup":638,"ms":690}],761:[function(require,module,exports){ +arguments[4][650][0].apply(exports,arguments) +},{"dup":650}],762:[function(require,module,exports){ +'use strict'; -var emit = Emitter.prototype.emit; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -/** - * `Socket` constructor. - * - * @api public - */ +module.exports = Stream; -function Socket(io, nsp, opts) { - this.io = io; - this.nsp = nsp; - this.json = this; // compat - this.ids = 0; - this.acks = {}; - this.receiveBuffer = []; - this.sendBuffer = []; - this.connected = false; - this.disconnected = true; - this.flags = {}; - if (opts && opts.query) { - this.query = opts.query; - } - if (this.io.autoConnect) this.open(); -} +var EE = require('events').EventEmitter; +var inherits = require('inherits'); -/** - * Mix in `Emitter`. - */ +inherits(Stream, EE); +Stream.Readable = require('readable-stream/readable.js'); +Stream.Writable = require('readable-stream/writable.js'); +Stream.Duplex = require('readable-stream/duplex.js'); +Stream.Transform = require('readable-stream/transform.js'); +Stream.PassThrough = require('readable-stream/passthrough.js'); -Emitter(Socket.prototype); +// Backwards-compat with node 0.4.x +Stream.Stream = Stream; -/** - * Subscribe to open, close and packet events - * - * @api private - */ +// old-style streams. Note that the pipe method (the only relevant +// part of this class) is overridden in the Readable class. -Socket.prototype.subEvents = function () { - if (this.subs) return; +function Stream() { + EE.call(this); +} - var io = this.io; - this.subs = [on(io, 'open', bind(this, 'onopen')), on(io, 'packet', bind(this, 'onpacket')), on(io, 'close', bind(this, 'onclose'))]; -}; +Stream.prototype.pipe = function (dest, options) { + var source = this; -/** - * "Opens" the socket. - * - * @api public - */ + function ondata(chunk) { + if (dest.writable) { + if (false === dest.write(chunk) && source.pause) { + source.pause(); + } + } + } -Socket.prototype.open = Socket.prototype.connect = function () { - if (this.connected) return this; + source.on('data', ondata); - this.subEvents(); - this.io.open(); // ensure open - if ('open' === this.io.readyState) this.onopen(); - this.emit('connecting'); - return this; -}; + function ondrain() { + if (source.readable && source.resume) { + source.resume(); + } + } -/** - * Sends a `message` event. - * - * @return {Socket} self - * @api public - */ + dest.on('drain', ondrain); -Socket.prototype.send = function () { - var args = toArray(arguments); - args.unshift('message'); - this.emit.apply(this, args); - return this; -}; + // If the 'end' option is not supplied, dest.end() will be called when + // source gets the 'end' or 'close' events. Only dest.end() once. + if (!dest._isStdio && (!options || options.end !== false)) { + source.on('end', onend); + source.on('close', onclose); + } -/** - * Override `emit`. - * If the event is in `events`, it's emitted normally. - * - * @param {String} event name - * @return {Socket} self - * @api public - */ + var didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; -Socket.prototype.emit = function (ev) { - if (events.hasOwnProperty(ev)) { - emit.apply(this, arguments); - return this; + dest.end(); } - var args = toArray(arguments); - var packet = { - type: (this.flags.binary !== undefined ? this.flags.binary : hasBin(args)) ? parser.BINARY_EVENT : parser.EVENT, - data: args - }; - - packet.options = {}; - packet.options.compress = !this.flags || false !== this.flags.compress; + function onclose() { + if (didOnEnd) return; + didOnEnd = true; - // event ack callback - if ('function' === typeof args[args.length - 1]) { - debug('emitting packet with ack id %d', this.ids); - this.acks[this.ids] = args.pop(); - packet.id = this.ids++; + if (typeof dest.destroy === 'function') dest.destroy(); } - if (this.connected) { - this.packet(packet); - } else { - this.sendBuffer.push(packet); + // don't leave dangling pipes when there are errors. + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, 'error') === 0) { + throw er; // Unhandled stream error in pipe. + } } - this.flags = {}; - - return this; -}; + source.on('error', onerror); + dest.on('error', onerror); -/** - * Sends a packet. - * - * @param {Object} packet - * @api private - */ + // remove all the event listeners that were added. + function cleanup() { + source.removeListener('data', ondata); + dest.removeListener('drain', ondrain); -Socket.prototype.packet = function (packet) { - packet.nsp = this.nsp; - this.io.packet(packet); -}; + source.removeListener('end', onend); + source.removeListener('close', onclose); -/** - * Called upon engine `open`. - * - * @api private - */ + source.removeListener('error', onerror); + dest.removeListener('error', onerror); -Socket.prototype.onopen = function () { - debug('transport is open - connecting'); + source.removeListener('end', cleanup); + source.removeListener('close', cleanup); - // write connect packet if necessary - if ('/' !== this.nsp) { - if (this.query) { - var query = _typeof(this.query) === 'object' ? parseqs.encode(this.query) : this.query; - debug('sending connect packet with query %s', query); - this.packet({ type: parser.CONNECT, query: query }); - } else { - this.packet({ type: parser.CONNECT }); - } + dest.removeListener('close', cleanup); } -}; -/** - * Called upon engine `close`. - * - * @param {String} reason - * @api private - */ + source.on('end', cleanup); + source.on('close', cleanup); -Socket.prototype.onclose = function (reason) { - debug('close (%s)', reason); - this.connected = false; - this.disconnected = true; - delete this.id; - this.emit('disconnect', reason); + dest.on('close', cleanup); + + dest.emit('pipe', source); + + // Allow for unix-like usage: A.pipe(B).pipe(C) + return dest; }; -/** - * Called with socket packet. - * - * @param {Object} packet - * @api private - */ +},{"events":646,"inherits":671,"readable-stream/duplex.js":713,"readable-stream/passthrough.js":722,"readable-stream/readable.js":723,"readable-stream/transform.js":724,"readable-stream/writable.js":725}],763:[function(require,module,exports){ +'use strict'; -Socket.prototype.onpacket = function (packet) { - var sameNamespace = packet.nsp === this.nsp; - var rootNamespaceError = packet.type === parser.ERROR && packet.nsp === '/'; +// Generated by CoffeeScript 1.8.0 +(function () { + var ValueError, + create, + explicitToImplicit, + format, + implicitToExplicit, + lookup, + resolve, + __hasProp = {}.hasOwnProperty, + __extends = function __extends(child, parent) { + for (var key in parent) { + if (__hasProp.call(parent, key)) child[key] = parent[key]; + }function ctor() { + this.constructor = child; + }ctor.prototype = parent.prototype;child.prototype = new ctor();child.__super__ = parent.prototype;return child; + }, + __slice = [].slice; - if (!sameNamespace && !rootNamespaceError) return; + ValueError = function (_super) { + __extends(ValueError, _super); - switch (packet.type) { - case parser.CONNECT: - this.onconnect(); - break; + function ValueError(message) { + this.message = message; + } - case parser.EVENT: - this.onevent(packet); - break; + ValueError.prototype.name = 'ValueError'; - case parser.BINARY_EVENT: - this.onevent(packet); - break; + return ValueError; + }(Error); - case parser.ACK: - this.onack(packet); - break; + implicitToExplicit = 'cannot switch from implicit to explicit numbering'; - case parser.BINARY_ACK: - this.onack(packet); - break; + explicitToImplicit = 'cannot switch from explicit to implicit numbering'; - case parser.DISCONNECT: - this.ondisconnect(); - break; + create = function create(transformers) { + if (transformers == null) { + transformers = {}; + } + return function () { + var args, explicit, idx, implicit, message, template; + template = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + idx = 0; + explicit = implicit = false; + message = 'cannot switch from {} to {} numbering'; + return template.replace(/([{}])\1|[{](.*?)(?:!(.+?))?[}]/g, function (match, literal, key, transformer) { + var value, _ref, _ref1; + if (literal) { + return literal; + } + if (key.length) { + if (implicit) { + throw new ValueError(implicitToExplicit); + } + explicit = true; + value = (_ref = lookup(args, key)) != null ? _ref : ''; + } else { + if (explicit) { + throw new ValueError(explicitToImplicit); + } + implicit = true; + value = (_ref1 = args[idx++]) != null ? _ref1 : ''; + } + if (Object.prototype.hasOwnProperty.call(transformers, transformer)) { + return transformers[transformer](value); + } else { + return value; + } + }); + }; + }; - case parser.ERROR: - this.emit('error', packet.data); - break; - } -}; + lookup = function lookup(object, key) { + var match; + if (!/^(\d+)([.]|$)/.test(key)) { + key = '0.' + key; + } + while (match = /(.+?)[.](.+)/.exec(key)) { + object = resolve(object, match[1]); + key = match[2]; + } + return resolve(object, key); + }; -/** - * Called upon a server event. - * - * @param {Object} packet - * @api private - */ + resolve = function resolve(object, key) { + var value; + value = object[key]; + if (typeof value === 'function') { + return value.call(object); + } else { + return value; + } + }; -Socket.prototype.onevent = function (packet) { - var args = packet.data || []; - debug('emitting event %j', args); + format = create({}); - if (null != packet.id) { - debug('attaching ack callback to event'); - args.push(this.ack(packet.id)); - } + format.create = create; - if (this.connected) { - emit.apply(this, args); + format.extend = function (prototype, transformers) { + var $format; + $format = create(transformers); + prototype.format = function () { + return $format.apply(null, [this].concat(__slice.call(arguments))); + }; + }; + + if (typeof module !== 'undefined') { + module.exports = format; + } else if (typeof define === 'function' && define.amd) { + define(format); } else { - this.receiveBuffer.push(args); + window.format = format; } -}; +}).call(undefined); -/** - * Produces an ack callback to emit with an event. - * - * @api private - */ +},{}],764:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -Socket.prototype.ack = function (id) { - var self = this; - var sent = false; - return function () { - // prevent double callbacks - if (sent) return; - sent = true; - var args = toArray(arguments); - debug('sending ack %j', args); +'use strict'; - self.packet({ - type: hasBin(args) ? parser.BINARY_ACK : parser.ACK, - id: id, - data: args - }); - }; -}; +/**/ -/** - * Called upon a server acknowlegement. - * - * @param {Object} packet - * @api private - */ +var Buffer = require('safe-buffer').Buffer; +/**/ -Socket.prototype.onack = function (packet) { - var ack = this.acks[packet.id]; - if ('function' === typeof ack) { - debug('calling ack %s with %j', packet.id, packet.data); - ack.apply(this, packet.data); - delete this.acks[packet.id]; - } else { - debug('bad ack %s', packet.id); +var isEncoding = Buffer.isEncoding || function (encoding) { + encoding = '' + encoding; + switch (encoding && encoding.toLowerCase()) { + case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': + return true; + default: + return false; } }; -/** - * Called upon server connect. - * - * @api private - */ - -Socket.prototype.onconnect = function () { - this.connected = true; - this.disconnected = false; - this.emit('connect'); - this.emitBuffered(); +function _normalizeEncoding(enc) { + if (!enc) return 'utf8'; + var retried; + while (true) { + switch (enc) { + case 'utf8': + case 'utf-8': + return 'utf8'; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 'utf16le'; + case 'latin1': + case 'binary': + return 'latin1'; + case 'base64': + case 'ascii': + case 'hex': + return enc; + default: + if (retried) return; // undefined + enc = ('' + enc).toLowerCase(); + retried = true; + } + } }; -/** - * Emit buffered events (received and emitted). - * - * @api private - */ +// Do not cache `Buffer.isEncoding` when checking encoding names as some +// modules monkey-patch it to support additional encodings +function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); + return nenc || enc; +} -Socket.prototype.emitBuffered = function () { - var i; - for (i = 0; i < this.receiveBuffer.length; i++) { - emit.apply(this, this.receiveBuffer[i]); +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. +exports.StringDecoder = StringDecoder; +function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case 'utf16le': + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case 'utf8': + this.fillLast = utf8FillLast; + nb = 4; + break; + case 'base64': + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; } - this.receiveBuffer = []; + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); +} - for (i = 0; i < this.sendBuffer.length; i++) { - this.packet(this.sendBuffer[i]); +StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ''; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ''; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; } - this.sendBuffer = []; + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ''; }; -/** - * Called upon server disconnect. - * - * @api private - */ - -Socket.prototype.ondisconnect = function () { - debug('server disconnect (%s)', this.nsp); - this.destroy(); - this.onclose('io server disconnect'); -}; +StringDecoder.prototype.end = utf8End; -/** - * Called upon forced client/server side disconnections, - * this method ensures the manager stops tracking us and - * that reconnections don't get triggered for this. - * - * @api private. - */ +// Returns only complete characters in a Buffer +StringDecoder.prototype.text = utf8Text; -Socket.prototype.destroy = function () { - if (this.subs) { - // clean subscriptions to avoid reconnections - for (var i = 0; i < this.subs.length; i++) { - this.subs[i].destroy(); - } - this.subs = null; +// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer +StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); } - - this.io.destroy(this); + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; }; -/** - * Disconnects the socket manually. - * - * @return {Socket} self - * @api public - */ +// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a +// continuation byte. If an invalid byte is detected, -2 is returned. +function utf8CheckByte(byte) { + if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; + return byte >> 6 === 0x02 ? -1 : -2; +} -Socket.prototype.close = Socket.prototype.disconnect = function () { - if (this.connected) { - debug('performing disconnect (%s)', this.nsp); - this.packet({ type: parser.DISCONNECT }); +// Checks at most 3 bytes at the end of a Buffer in order to detect an +// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) +// needed to complete the UTF-8 character (if applicable) are returned. +function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; } - - // remove socket from pool - this.destroy(); - - if (this.connected) { - // fire events - this.onclose('io client disconnect'); + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; } - return this; -}; - -/** - * Sets the compress flag. - * - * @param {Boolean} if `true`, compresses the sending data - * @return {Socket} self - * @api public - */ - -Socket.prototype.compress = function (compress) { - this.flags.compress = compress; - return this; -}; - -/** - * Sets the binary flag - * - * @param {Boolean} whether the emitted data contains binary - * @return {Socket} self - * @api public - */ - -Socket.prototype.binary = function (binary) { - this.flags.binary = binary; - return this; -}; - -},{"./on":753,"component-bind":264,"component-emitter":265,"debug":756,"has-binary2":649,"parseqs":696,"socket.io-parser":759,"to-array":768}],755:[function(require,module,exports){ -(function (global){ -'use strict'; - -/** - * Module dependencies. - */ - -var parseuri = require('parseuri'); -var debug = require('debug')('socket.io-client:url'); - -/** - * Module exports. - */ - -module.exports = url; + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0;else self.lastNeed = nb - 3; + } + return nb; + } + return 0; +} -/** - * URL parser. - * - * @param {String} url - * @param {Object} An object meant to mimic window.location. - * Defaults to window.location. - * @api public - */ +// Validates as many continuation bytes for a multi-byte UTF-8 character as +// needed or are available. If we see a non-continuation byte where we expect +// one, we "replace" the validated continuation bytes we've seen so far with +// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding +// behavior. The continuation byte check is included three times in the case +// where all of the continuation bytes for a character exist in the same buffer. +// It is also done this way as a slight performance increase instead of using a +// loop. +function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xC0) !== 0x80) { + self.lastNeed = 0; + return '\uFFFD'; + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xC0) !== 0x80) { + self.lastNeed = 1; + return '\uFFFD'; + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xC0) !== 0x80) { + self.lastNeed = 2; + return '\uFFFD'; + } + } + } +} -function url(uri, loc) { - var obj = uri; +// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. +function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; +} - // default to window.location - loc = loc || global.location; - if (null == uri) uri = loc.protocol + '//' + loc.host; +// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a +// partial character, the character's bytes are buffered until the required +// number of bytes are available. +function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString('utf8', i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString('utf8', i, end); +} - // relative path support - if ('string' === typeof uri) { - if ('/' === uri.charAt(0)) { - if ('/' === uri.charAt(1)) { - uri = loc.protocol + uri; - } else { - uri = loc.host + uri; - } - } +// For UTF-8, a replacement character is added when ending on a partial +// character. +function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + '\uFFFD'; + return r; +} - if (!/^(https?|wss?):\/\//.test(uri)) { - debug('protocol-less url %s', uri); - if ('undefined' !== typeof loc) { - uri = loc.protocol + '//' + uri; - } else { - uri = 'https://' + uri; +// UTF-16LE typically needs two bytes per character, but even if we have an even +// number of bytes available, we need to check if we end on a leading/high +// surrogate. In that case, we need to wait for the next two bytes in order to +// decode the last character properly. +function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString('utf16le', i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xD800 && c <= 0xDBFF) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); } } - - // parse - debug('parse %s', uri); - obj = parseuri(uri); + return r; } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString('utf16le', i, buf.length - 1); +} - // make sure we treat `localhost:80` and `localhost` equally - if (!obj.port) { - if (/^(http|ws)$/.test(obj.protocol)) { - obj.port = '80'; - } else if (/^(http|ws)s$/.test(obj.protocol)) { - obj.port = '443'; - } +// For UTF-16LE we do not explicitly append special replacement characters if we +// end on a partial character, we simply let v8 handle that. +function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString('utf16le', 0, end); } + return r; +} - obj.path = obj.path || '/'; +function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString('base64', i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString('base64', i, buf.length - n); +} - var ipv6 = obj.host.indexOf(':') !== -1; - var host = ipv6 ? '[' + obj.host + ']' : obj.host; +function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); + return r; +} - // define unique id - obj.id = obj.protocol + '://' + host + ':' + obj.port; - // define href - obj.href = obj.protocol + '://' + host + (loc && loc.port === obj.port ? '' : ':' + obj.port); +// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) +function simpleWrite(buf) { + return buf.toString(this.encoding); +} - return obj; +function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ''; } -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"debug":756,"parseuri":697}],756:[function(require,module,exports){ -arguments[4][637][0].apply(exports,arguments) -},{"./debug":757,"_process":704,"dup":637}],757:[function(require,module,exports){ -arguments[4][638][0].apply(exports,arguments) -},{"dup":638,"ms":690}],758:[function(require,module,exports){ -(function (global){ +},{"safe-buffer":728}],765:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/*global Blob,File*/ - -/** - * Module requirements - */ - -var isArray = require('isarray'); -var isBuf = require('./is-buffer'); -var toString = Object.prototype.toString; -var withNativeBlob = typeof global.Blob === 'function' || toString.call(global.Blob) === '[object BlobConstructor]'; -var withNativeFile = typeof global.File === 'function' || toString.call(global.File) === '[object FileConstructor]'; +var isHexPrefixed = require('is-hex-prefixed'); /** - * Replaces every Buffer | ArrayBuffer in packet with a numbered placeholder. - * Anything with blobs or files should be fed through removeBlobs before coming - * here. - * - * @param {Object} packet - socket.io event packet - * @return {Object} with deconstructed packet and list of buffers - * @api public + * Removes '0x' from a given `String` is present + * @param {String} str the string value + * @return {String|Optional} a string by pass if necessary */ +module.exports = function stripHexPrefix(str) { + if (typeof str !== 'string') { + return str; + } -exports.deconstructPacket = function (packet) { - var buffers = []; - var packetData = packet.data; - var pack = packet; - pack.data = _deconstructPacket(packetData, buffers); - pack.attachments = buffers.length; // number of binary 'attachments' - return { packet: pack, buffers: buffers }; + return isHexPrefixed(str) ? str.slice(2) : str; }; -function _deconstructPacket(data, buffers) { - if (!data) return data; - - if (isBuf(data)) { - var placeholder = { _placeholder: true, num: buffers.length }; - buffers.push(data); - return placeholder; - } else if (isArray(data)) { - var newData = new Array(data.length); - for (var i = 0; i < data.length; i++) { - newData[i] = _deconstructPacket(data[i], buffers); - } - return newData; - } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && !(data instanceof Date)) { - var newData = {}; - for (var key in data) { - newData[key] = _deconstructPacket(data[key], buffers); - } - return newData; - } - return data; -} +},{"is-hex-prefixed":673}],766:[function(require,module,exports){ +"use strict"; -/** - * Reconstructs a binary packet from its placeholder packet and buffers - * - * @param {Object} packet - event packet with placeholders - * @param {Array} buffers - binary buffers to put in placeholder positions - * @return {Object} reconstructed packet - * @api public - */ +module.exports = toArray; -exports.reconstructPacket = function (packet, buffers) { - packet.data = _reconstructPacket(packet.data, buffers); - packet.attachments = undefined; // no longer useful - return packet; -}; +function toArray(list, index) { + var array = []; -function _reconstructPacket(data, buffers) { - if (!data) return data; + index = index || 0; - if (data && data._placeholder) { - return buffers[data.num]; // appropriate buffer (should be natural order anyway) - } else if (isArray(data)) { - for (var i = 0; i < data.length; i++) { - data[i] = _reconstructPacket(data[i], buffers); - } - } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') { - for (var key in data) { - data[key] = _reconstructPacket(data[key], buffers); + for (var i = index || 0; i < list.length; i++) { + array[i - index] = list[i]; } - } - return data; + return array; } -/** - * Asynchronously removes Blobs or Files from data via - * FileReader's readAsArrayBuffer method. Used before encoding - * data as msgpack. Calls callback with the blobless data. - * - * @param {Object} data - * @param {Function} callback - * @api private - */ - -exports.removeBlobs = function (data, callback) { - function _removeBlobs(obj, curKey, containingObject) { - if (!obj) return obj; +},{}],767:[function(require,module,exports){ +"use strict"; - // convert any blob - if (withNativeBlob && obj instanceof Blob || withNativeFile && obj instanceof File) { - pendingBlobs++; +module.exports = { 97: { "value": "0061", "name": "LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0041", "lowercase_mapping": "", "titlecase_mapping": "0041", "symbol": "\x61" }, 98: { "value": "0062", "name": "LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0042", "lowercase_mapping": "", "titlecase_mapping": "0042", "symbol": "\x62" }, 99: { "value": "0063", "name": "LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0043", "lowercase_mapping": "", "titlecase_mapping": "0043", "symbol": "\x63" }, 100: { "value": "0064", "name": "LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0044", "lowercase_mapping": "", "titlecase_mapping": "0044", "symbol": "\x64" }, 101: { "value": "0065", "name": "LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0045", "lowercase_mapping": "", "titlecase_mapping": "0045", "symbol": "\x65" }, 102: { "value": "0066", "name": "LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0046", "lowercase_mapping": "", "titlecase_mapping": "0046", "symbol": "\x66" }, 103: { "value": "0067", "name": "LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0047", "lowercase_mapping": "", "titlecase_mapping": "0047", "symbol": "\x67" }, 104: { "value": "0068", "name": "LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0048", "lowercase_mapping": "", "titlecase_mapping": "0048", "symbol": "\x68" }, 105: { "value": "0069", "name": "LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\x69" }, 106: { "value": "006A", "name": "LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004A", "lowercase_mapping": "", "titlecase_mapping": "004A", "symbol": "\x6A" }, 107: { "value": "006B", "name": "LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004B", "lowercase_mapping": "", "titlecase_mapping": "004B", "symbol": "\x6B" }, 108: { "value": "006C", "name": "LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004C", "lowercase_mapping": "", "titlecase_mapping": "004C", "symbol": "\x6C" }, 109: { "value": "006D", "name": "LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004D", "lowercase_mapping": "", "titlecase_mapping": "004D", "symbol": "\x6D" }, 110: { "value": "006E", "name": "LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004E", "lowercase_mapping": "", "titlecase_mapping": "004E", "symbol": "\x6E" }, 111: { "value": "006F", "name": "LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004F", "lowercase_mapping": "", "titlecase_mapping": "004F", "symbol": "\x6F" }, 112: { "value": "0070", "name": "LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0050", "lowercase_mapping": "", "titlecase_mapping": "0050", "symbol": "\x70" }, 113: { "value": "0071", "name": "LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0051", "lowercase_mapping": "", "titlecase_mapping": "0051", "symbol": "\x71" }, 114: { "value": "0072", "name": "LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0052", "lowercase_mapping": "", "titlecase_mapping": "0052", "symbol": "\x72" }, 115: { "value": "0073", "name": "LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\x73" }, 116: { "value": "0074", "name": "LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0054", "lowercase_mapping": "", "titlecase_mapping": "0054", "symbol": "\x74" }, 117: { "value": "0075", "name": "LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0055", "lowercase_mapping": "", "titlecase_mapping": "0055", "symbol": "\x75" }, 118: { "value": "0076", "name": "LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0056", "lowercase_mapping": "", "titlecase_mapping": "0056", "symbol": "\x76" }, 119: { "value": "0077", "name": "LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0057", "lowercase_mapping": "", "titlecase_mapping": "0057", "symbol": "\x77" }, 120: { "value": "0078", "name": "LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0058", "lowercase_mapping": "", "titlecase_mapping": "0058", "symbol": "\x78" }, 121: { "value": "0079", "name": "LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0059", "lowercase_mapping": "", "titlecase_mapping": "0059", "symbol": "\x79" }, 122: { "value": "007A", "name": "LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "005A", "lowercase_mapping": "", "titlecase_mapping": "005A", "symbol": "\x7A" }, 181: { "value": "00B5", "name": "MICRO SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\xB5" }, 223: { "value": "00DF", "name": "LATIN SMALL LETTER SHARP S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\xDF" }, 224: { "value": "00E0", "name": "LATIN SMALL LETTER A WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A GRAVE", "comment": "", "uppercase_mapping": "00C0", "lowercase_mapping": "", "titlecase_mapping": "00C0", "symbol": "\xE0" }, 225: { "value": "00E1", "name": "LATIN SMALL LETTER A WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A ACUTE", "comment": "", "uppercase_mapping": "00C1", "lowercase_mapping": "", "titlecase_mapping": "00C1", "symbol": "\xE1" }, 226: { "value": "00E2", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A CIRCUMFLEX", "comment": "", "uppercase_mapping": "00C2", "lowercase_mapping": "", "titlecase_mapping": "00C2", "symbol": "\xE2" }, 227: { "value": "00E3", "name": "LATIN SMALL LETTER A WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A TILDE", "comment": "", "uppercase_mapping": "00C3", "lowercase_mapping": "", "titlecase_mapping": "00C3", "symbol": "\xE3" }, 228: { "value": "00E4", "name": "LATIN SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS", "comment": "", "uppercase_mapping": "00C4", "lowercase_mapping": "", "titlecase_mapping": "00C4", "symbol": "\xE4" }, 229: { "value": "00E5", "name": "LATIN SMALL LETTER A WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A RING", "comment": "", "uppercase_mapping": "00C5", "lowercase_mapping": "", "titlecase_mapping": "00C5", "symbol": "\xE5" }, 230: { "value": "00E6", "name": "LATIN SMALL LETTER AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E", "comment": "", "uppercase_mapping": "00C6", "lowercase_mapping": "", "titlecase_mapping": "00C6", "symbol": "\xE6" }, 231: { "value": "00E7", "name": "LATIN SMALL LETTER C WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CEDILLA", "comment": "", "uppercase_mapping": "00C7", "lowercase_mapping": "", "titlecase_mapping": "00C7", "symbol": "\xE7" }, 232: { "value": "00E8", "name": "LATIN SMALL LETTER E WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E GRAVE", "comment": "", "uppercase_mapping": "00C8", "lowercase_mapping": "", "titlecase_mapping": "00C8", "symbol": "\xE8" }, 233: { "value": "00E9", "name": "LATIN SMALL LETTER E WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E ACUTE", "comment": "", "uppercase_mapping": "00C9", "lowercase_mapping": "", "titlecase_mapping": "00C9", "symbol": "\xE9" }, 234: { "value": "00EA", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CA", "lowercase_mapping": "", "titlecase_mapping": "00CA", "symbol": "\xEA" }, 235: { "value": "00EB", "name": "LATIN SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DIAERESIS", "comment": "", "uppercase_mapping": "00CB", "lowercase_mapping": "", "titlecase_mapping": "00CB", "symbol": "\xEB" }, 236: { "value": "00EC", "name": "LATIN SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I GRAVE", "comment": "", "uppercase_mapping": "00CC", "lowercase_mapping": "", "titlecase_mapping": "00CC", "symbol": "\xEC" }, 237: { "value": "00ED", "name": "LATIN SMALL LETTER I WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I ACUTE", "comment": "", "uppercase_mapping": "00CD", "lowercase_mapping": "", "titlecase_mapping": "00CD", "symbol": "\xED" }, 238: { "value": "00EE", "name": "LATIN SMALL LETTER I WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CE", "lowercase_mapping": "", "titlecase_mapping": "00CE", "symbol": "\xEE" }, 239: { "value": "00EF", "name": "LATIN SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I DIAERESIS", "comment": "", "uppercase_mapping": "00CF", "lowercase_mapping": "", "titlecase_mapping": "00CF", "symbol": "\xEF" }, 240: { "value": "00F0", "name": "LATIN SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00D0", "lowercase_mapping": "", "titlecase_mapping": "00D0", "symbol": "\xF0" }, 241: { "value": "00F1", "name": "LATIN SMALL LETTER N WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N TILDE", "comment": "", "uppercase_mapping": "00D1", "lowercase_mapping": "", "titlecase_mapping": "00D1", "symbol": "\xF1" }, 242: { "value": "00F2", "name": "LATIN SMALL LETTER O WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O GRAVE", "comment": "", "uppercase_mapping": "00D2", "lowercase_mapping": "", "titlecase_mapping": "00D2", "symbol": "\xF2" }, 243: { "value": "00F3", "name": "LATIN SMALL LETTER O WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O ACUTE", "comment": "", "uppercase_mapping": "00D3", "lowercase_mapping": "", "titlecase_mapping": "00D3", "symbol": "\xF3" }, 244: { "value": "00F4", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O CIRCUMFLEX", "comment": "", "uppercase_mapping": "00D4", "lowercase_mapping": "", "titlecase_mapping": "00D4", "symbol": "\xF4" }, 245: { "value": "00F5", "name": "LATIN SMALL LETTER O WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O TILDE", "comment": "", "uppercase_mapping": "00D5", "lowercase_mapping": "", "titlecase_mapping": "00D5", "symbol": "\xF5" }, 246: { "value": "00F6", "name": "LATIN SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DIAERESIS", "comment": "", "uppercase_mapping": "00D6", "lowercase_mapping": "", "titlecase_mapping": "00D6", "symbol": "\xF6" }, 248: { "value": "00F8", "name": "LATIN SMALL LETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O SLASH", "comment": "", "uppercase_mapping": "00D8", "lowercase_mapping": "", "titlecase_mapping": "00D8", "symbol": "\xF8" }, 249: { "value": "00F9", "name": "LATIN SMALL LETTER U WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U GRAVE", "comment": "", "uppercase_mapping": "00D9", "lowercase_mapping": "", "titlecase_mapping": "00D9", "symbol": "\xF9" }, 250: { "value": "00FA", "name": "LATIN SMALL LETTER U WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U ACUTE", "comment": "", "uppercase_mapping": "00DA", "lowercase_mapping": "", "titlecase_mapping": "00DA", "symbol": "\xFA" }, 251: { "value": "00FB", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U CIRCUMFLEX", "comment": "", "uppercase_mapping": "00DB", "lowercase_mapping": "", "titlecase_mapping": "00DB", "symbol": "\xFB" }, 252: { "value": "00FC", "name": "LATIN SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS", "comment": "", "uppercase_mapping": "00DC", "lowercase_mapping": "", "titlecase_mapping": "00DC", "symbol": "\xFC" }, 253: { "value": "00FD", "name": "LATIN SMALL LETTER Y WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y ACUTE", "comment": "", "uppercase_mapping": "00DD", "lowercase_mapping": "", "titlecase_mapping": "00DD", "symbol": "\xFD" }, 254: { "value": "00FE", "name": "LATIN SMALL LETTER THORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00DE", "lowercase_mapping": "", "titlecase_mapping": "00DE", "symbol": "\xFE" }, 255: { "value": "00FF", "name": "LATIN SMALL LETTER Y WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y DIAERESIS", "comment": "", "uppercase_mapping": "0178", "lowercase_mapping": "", "titlecase_mapping": "0178", "symbol": "\xFF" }, 257: { "value": "0101", "name": "LATIN SMALL LETTER A WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A MACRON", "comment": "", "uppercase_mapping": "0100", "lowercase_mapping": "", "titlecase_mapping": "0100", "symbol": "\u0101" }, 259: { "value": "0103", "name": "LATIN SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A BREVE", "comment": "", "uppercase_mapping": "0102", "lowercase_mapping": "", "titlecase_mapping": "0102", "symbol": "\u0103" }, 261: { "value": "0105", "name": "LATIN SMALL LETTER A WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A OGONEK", "comment": "", "uppercase_mapping": "0104", "lowercase_mapping": "", "titlecase_mapping": "0104", "symbol": "\u0105" }, 263: { "value": "0107", "name": "LATIN SMALL LETTER C WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C ACUTE", "comment": "", "uppercase_mapping": "0106", "lowercase_mapping": "", "titlecase_mapping": "0106", "symbol": "\u0107" }, 265: { "value": "0109", "name": "LATIN SMALL LETTER C WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CIRCUMFLEX", "comment": "", "uppercase_mapping": "0108", "lowercase_mapping": "", "titlecase_mapping": "0108", "symbol": "\u0109" }, 267: { "value": "010B", "name": "LATIN SMALL LETTER C WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C DOT", "comment": "", "uppercase_mapping": "010A", "lowercase_mapping": "", "titlecase_mapping": "010A", "symbol": "\u010B" }, 269: { "value": "010D", "name": "LATIN SMALL LETTER C WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HACEK", "comment": "", "uppercase_mapping": "010C", "lowercase_mapping": "", "titlecase_mapping": "010C", "symbol": "\u010D" }, 271: { "value": "010F", "name": "LATIN SMALL LETTER D WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HACEK", "comment": "", "uppercase_mapping": "010E", "lowercase_mapping": "", "titlecase_mapping": "010E", "symbol": "\u010F" }, 273: { "value": "0111", "name": "LATIN SMALL LETTER D WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D BAR", "comment": "", "uppercase_mapping": "0110", "lowercase_mapping": "", "titlecase_mapping": "0110", "symbol": "\u0111" }, 275: { "value": "0113", "name": "LATIN SMALL LETTER E WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E MACRON", "comment": "", "uppercase_mapping": "0112", "lowercase_mapping": "", "titlecase_mapping": "0112", "symbol": "\u0113" }, 277: { "value": "0115", "name": "LATIN SMALL LETTER E WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E BREVE", "comment": "", "uppercase_mapping": "0114", "lowercase_mapping": "", "titlecase_mapping": "0114", "symbol": "\u0115" }, 279: { "value": "0117", "name": "LATIN SMALL LETTER E WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DOT", "comment": "", "uppercase_mapping": "0116", "lowercase_mapping": "", "titlecase_mapping": "0116", "symbol": "\u0117" }, 281: { "value": "0119", "name": "LATIN SMALL LETTER E WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E OGONEK", "comment": "", "uppercase_mapping": "0118", "lowercase_mapping": "", "titlecase_mapping": "0118", "symbol": "\u0119" }, 283: { "value": "011B", "name": "LATIN SMALL LETTER E WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E HACEK", "comment": "", "uppercase_mapping": "011A", "lowercase_mapping": "", "titlecase_mapping": "011A", "symbol": "\u011B" }, 285: { "value": "011D", "name": "LATIN SMALL LETTER G WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CIRCUMFLEX", "comment": "", "uppercase_mapping": "011C", "lowercase_mapping": "", "titlecase_mapping": "011C", "symbol": "\u011D" }, 287: { "value": "011F", "name": "LATIN SMALL LETTER G WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BREVE", "comment": "", "uppercase_mapping": "011E", "lowercase_mapping": "", "titlecase_mapping": "011E", "symbol": "\u011F" }, 289: { "value": "0121", "name": "LATIN SMALL LETTER G WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G DOT", "comment": "", "uppercase_mapping": "0120", "lowercase_mapping": "", "titlecase_mapping": "0120", "symbol": "\u0121" }, 291: { "value": "0123", "name": "LATIN SMALL LETTER G WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CEDILLA", "comment": "", "uppercase_mapping": "0122", "lowercase_mapping": "", "titlecase_mapping": "0122", "symbol": "\u0123" }, 293: { "value": "0125", "name": "LATIN SMALL LETTER H WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H CIRCUMFLEX", "comment": "", "uppercase_mapping": "0124", "lowercase_mapping": "", "titlecase_mapping": "0124", "symbol": "\u0125" }, 295: { "value": "0127", "name": "LATIN SMALL LETTER H WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H BAR", "comment": "", "uppercase_mapping": "0126", "lowercase_mapping": "", "titlecase_mapping": "0126", "symbol": "\u0127" }, 297: { "value": "0129", "name": "LATIN SMALL LETTER I WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I TILDE", "comment": "", "uppercase_mapping": "0128", "lowercase_mapping": "", "titlecase_mapping": "0128", "symbol": "\u0129" }, 299: { "value": "012B", "name": "LATIN SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I MACRON", "comment": "", "uppercase_mapping": "012A", "lowercase_mapping": "", "titlecase_mapping": "012A", "symbol": "\u012B" }, 301: { "value": "012D", "name": "LATIN SMALL LETTER I WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I BREVE", "comment": "", "uppercase_mapping": "012C", "lowercase_mapping": "", "titlecase_mapping": "012C", "symbol": "\u012D" }, 303: { "value": "012F", "name": "LATIN SMALL LETTER I WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I OGONEK", "comment": "", "uppercase_mapping": "012E", "lowercase_mapping": "", "titlecase_mapping": "012E", "symbol": "\u012F" }, 305: { "value": "0131", "name": "LATIN SMALL LETTER DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\u0131" }, 307: { "value": "0133", "name": "LATIN SMALL LIGATURE IJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I J", "comment": "", "uppercase_mapping": "0132", "lowercase_mapping": "", "titlecase_mapping": "0132", "symbol": "\u0133" }, 309: { "value": "0135", "name": "LATIN SMALL LETTER J WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J CIRCUMFLEX", "comment": "", "uppercase_mapping": "0134", "lowercase_mapping": "", "titlecase_mapping": "0134", "symbol": "\u0135" }, 311: { "value": "0137", "name": "LATIN SMALL LETTER K WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K CEDILLA", "comment": "", "uppercase_mapping": "0136", "lowercase_mapping": "", "titlecase_mapping": "0136", "symbol": "\u0137" }, 312: { "value": "0138", "name": "LATIN SMALL LETTER KRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0138" }, 314: { "value": "013A", "name": "LATIN SMALL LETTER L WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L ACUTE", "comment": "", "uppercase_mapping": "0139", "lowercase_mapping": "", "titlecase_mapping": "0139", "symbol": "\u013A" }, 316: { "value": "013C", "name": "LATIN SMALL LETTER L WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L CEDILLA", "comment": "", "uppercase_mapping": "013B", "lowercase_mapping": "", "titlecase_mapping": "013B", "symbol": "\u013C" }, 318: { "value": "013E", "name": "LATIN SMALL LETTER L WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L HACEK", "comment": "", "uppercase_mapping": "013D", "lowercase_mapping": "", "titlecase_mapping": "013D", "symbol": "\u013E" }, 320: { "value": "0140", "name": "LATIN SMALL LETTER L WITH MIDDLE DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 00B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "013F", "lowercase_mapping": "", "titlecase_mapping": "013F", "symbol": "\u0140" }, 322: { "value": "0142", "name": "LATIN SMALL LETTER L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L SLASH", "comment": "", "uppercase_mapping": "0141", "lowercase_mapping": "", "titlecase_mapping": "0141", "symbol": "\u0142" }, 324: { "value": "0144", "name": "LATIN SMALL LETTER N WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N ACUTE", "comment": "", "uppercase_mapping": "0143", "lowercase_mapping": "", "titlecase_mapping": "0143", "symbol": "\u0144" }, 326: { "value": "0146", "name": "LATIN SMALL LETTER N WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N CEDILLA", "comment": "", "uppercase_mapping": "0145", "lowercase_mapping": "", "titlecase_mapping": "0145", "symbol": "\u0146" }, 328: { "value": "0148", "name": "LATIN SMALL LETTER N WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HACEK", "comment": "", "uppercase_mapping": "0147", "lowercase_mapping": "", "titlecase_mapping": "0147", "symbol": "\u0148" }, 329: { "value": "0149", "name": "LATIN SMALL LETTER N PRECEDED BY APOSTROPHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 02BC 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER APOSTROPHE N", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0149" }, 331: { "value": "014B", "name": "LATIN SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "014A", "lowercase_mapping": "", "titlecase_mapping": "014A", "symbol": "\u014B" }, 333: { "value": "014D", "name": "LATIN SMALL LETTER O WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O MACRON", "comment": "", "uppercase_mapping": "014C", "lowercase_mapping": "", "titlecase_mapping": "014C", "symbol": "\u014D" }, 335: { "value": "014F", "name": "LATIN SMALL LETTER O WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O BREVE", "comment": "", "uppercase_mapping": "014E", "lowercase_mapping": "", "titlecase_mapping": "014E", "symbol": "\u014F" }, 337: { "value": "0151", "name": "LATIN SMALL LETTER O WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0150", "lowercase_mapping": "", "titlecase_mapping": "0150", "symbol": "\u0151" }, 339: { "value": "0153", "name": "LATIN SMALL LIGATURE OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O E", "comment": "", "uppercase_mapping": "0152", "lowercase_mapping": "", "titlecase_mapping": "0152", "symbol": "\u0153" }, 341: { "value": "0155", "name": "LATIN SMALL LETTER R WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R ACUTE", "comment": "", "uppercase_mapping": "0154", "lowercase_mapping": "", "titlecase_mapping": "0154", "symbol": "\u0155" }, 343: { "value": "0157", "name": "LATIN SMALL LETTER R WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R CEDILLA", "comment": "", "uppercase_mapping": "0156", "lowercase_mapping": "", "titlecase_mapping": "0156", "symbol": "\u0157" }, 345: { "value": "0159", "name": "LATIN SMALL LETTER R WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HACEK", "comment": "", "uppercase_mapping": "0158", "lowercase_mapping": "", "titlecase_mapping": "0158", "symbol": "\u0159" }, 347: { "value": "015B", "name": "LATIN SMALL LETTER S WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S ACUTE", "comment": "", "uppercase_mapping": "015A", "lowercase_mapping": "", "titlecase_mapping": "015A", "symbol": "\u015B" }, 349: { "value": "015D", "name": "LATIN SMALL LETTER S WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CIRCUMFLEX", "comment": "", "uppercase_mapping": "015C", "lowercase_mapping": "", "titlecase_mapping": "015C", "symbol": "\u015D" }, 351: { "value": "015F", "name": "LATIN SMALL LETTER S WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CEDILLA", "comment": "", "uppercase_mapping": "015E", "lowercase_mapping": "", "titlecase_mapping": "015E", "symbol": "\u015F" }, 353: { "value": "0161", "name": "LATIN SMALL LETTER S WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HACEK", "comment": "", "uppercase_mapping": "0160", "lowercase_mapping": "", "titlecase_mapping": "0160", "symbol": "\u0161" }, 355: { "value": "0163", "name": "LATIN SMALL LETTER T WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T CEDILLA", "comment": "", "uppercase_mapping": "0162", "lowercase_mapping": "", "titlecase_mapping": "0162", "symbol": "\u0163" }, 357: { "value": "0165", "name": "LATIN SMALL LETTER T WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HACEK", "comment": "", "uppercase_mapping": "0164", "lowercase_mapping": "", "titlecase_mapping": "0164", "symbol": "\u0165" }, 359: { "value": "0167", "name": "LATIN SMALL LETTER T WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T BAR", "comment": "", "uppercase_mapping": "0166", "lowercase_mapping": "", "titlecase_mapping": "0166", "symbol": "\u0167" }, 361: { "value": "0169", "name": "LATIN SMALL LETTER U WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U TILDE", "comment": "", "uppercase_mapping": "0168", "lowercase_mapping": "", "titlecase_mapping": "0168", "symbol": "\u0169" }, 363: { "value": "016B", "name": "LATIN SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U MACRON", "comment": "", "uppercase_mapping": "016A", "lowercase_mapping": "", "titlecase_mapping": "016A", "symbol": "\u016B" }, 365: { "value": "016D", "name": "LATIN SMALL LETTER U WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U BREVE", "comment": "", "uppercase_mapping": "016C", "lowercase_mapping": "", "titlecase_mapping": "016C", "symbol": "\u016D" }, 367: { "value": "016F", "name": "LATIN SMALL LETTER U WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U RING", "comment": "", "uppercase_mapping": "016E", "lowercase_mapping": "", "titlecase_mapping": "016E", "symbol": "\u016F" }, 369: { "value": "0171", "name": "LATIN SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0170", "lowercase_mapping": "", "titlecase_mapping": "0170", "symbol": "\u0171" }, 371: { "value": "0173", "name": "LATIN SMALL LETTER U WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U OGONEK", "comment": "", "uppercase_mapping": "0172", "lowercase_mapping": "", "titlecase_mapping": "0172", "symbol": "\u0173" }, 373: { "value": "0175", "name": "LATIN SMALL LETTER W WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER W CIRCUMFLEX", "comment": "", "uppercase_mapping": "0174", "lowercase_mapping": "", "titlecase_mapping": "0174", "symbol": "\u0175" }, 375: { "value": "0177", "name": "LATIN SMALL LETTER Y WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y CIRCUMFLEX", "comment": "", "uppercase_mapping": "0176", "lowercase_mapping": "", "titlecase_mapping": "0176", "symbol": "\u0177" }, 378: { "value": "017A", "name": "LATIN SMALL LETTER Z WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z ACUTE", "comment": "", "uppercase_mapping": "0179", "lowercase_mapping": "", "titlecase_mapping": "0179", "symbol": "\u017A" }, 380: { "value": "017C", "name": "LATIN SMALL LETTER Z WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z DOT", "comment": "", "uppercase_mapping": "017B", "lowercase_mapping": "", "titlecase_mapping": "017B", "symbol": "\u017C" }, 382: { "value": "017E", "name": "LATIN SMALL LETTER Z WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z HACEK", "comment": "", "uppercase_mapping": "017D", "lowercase_mapping": "", "titlecase_mapping": "017D", "symbol": "\u017E" }, 383: { "value": "017F", "name": "LATIN SMALL LETTER LONG S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\u017F" }, 384: { "value": "0180", "name": "LATIN SMALL LETTER B WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B BAR", "comment": "", "uppercase_mapping": "0243", "lowercase_mapping": "", "titlecase_mapping": "0243", "symbol": "\u0180" }, 387: { "value": "0183", "name": "LATIN SMALL LETTER B WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B TOPBAR", "comment": "", "uppercase_mapping": "0182", "lowercase_mapping": "", "titlecase_mapping": "0182", "symbol": "\u0183" }, 389: { "value": "0185", "name": "LATIN SMALL LETTER TONE SIX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0184", "lowercase_mapping": "", "titlecase_mapping": "0184", "symbol": "\u0185" }, 392: { "value": "0188", "name": "LATIN SMALL LETTER C WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HOOK", "comment": "", "uppercase_mapping": "0187", "lowercase_mapping": "", "titlecase_mapping": "0187", "symbol": "\u0188" }, 396: { "value": "018C", "name": "LATIN SMALL LETTER D WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D TOPBAR", "comment": "", "uppercase_mapping": "018B", "lowercase_mapping": "", "titlecase_mapping": "018B", "symbol": "\u018C" }, 397: { "value": "018D", "name": "LATIN SMALL LETTER TURNED DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u018D" }, 402: { "value": "0192", "name": "LATIN SMALL LETTER F WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT F", "comment": "", "uppercase_mapping": "0191", "lowercase_mapping": "", "titlecase_mapping": "0191", "symbol": "\u0192" }, 405: { "value": "0195", "name": "LATIN SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H V", "comment": "", "uppercase_mapping": "01F6", "lowercase_mapping": "", "titlecase_mapping": "01F6", "symbol": "\u0195" }, 409: { "value": "0199", "name": "LATIN SMALL LETTER K WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HOOK", "comment": "", "uppercase_mapping": "0198", "lowercase_mapping": "", "titlecase_mapping": "0198", "symbol": "\u0199" }, 410: { "value": "019A", "name": "LATIN SMALL LETTER L WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED L", "comment": "", "uppercase_mapping": "023D", "lowercase_mapping": "", "titlecase_mapping": "023D", "symbol": "\u019A" }, 411: { "value": "019B", "name": "LATIN SMALL LETTER LAMBDA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED LAMBDA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u019B" }, 414: { "value": "019E", "name": "LATIN SMALL LETTER N WITH LONG RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0220", "lowercase_mapping": "", "titlecase_mapping": "0220", "symbol": "\u019E" }, 417: { "value": "01A1", "name": "LATIN SMALL LETTER O WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HORN", "comment": "", "uppercase_mapping": "01A0", "lowercase_mapping": "", "titlecase_mapping": "01A0", "symbol": "\u01A1" }, 419: { "value": "01A3", "name": "LATIN SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O I", "comment": "", "uppercase_mapping": "01A2", "lowercase_mapping": "", "titlecase_mapping": "01A2", "symbol": "\u01A3" }, 421: { "value": "01A5", "name": "LATIN SMALL LETTER P WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER P HOOK", "comment": "", "uppercase_mapping": "01A4", "lowercase_mapping": "", "titlecase_mapping": "01A4", "symbol": "\u01A5" }, 424: { "value": "01A8", "name": "LATIN SMALL LETTER TONE TWO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A7", "lowercase_mapping": "", "titlecase_mapping": "01A7", "symbol": "\u01A8" }, 426: { "value": "01AA", "name": "LATIN LETTER REVERSED ESH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AA" }, 427: { "value": "01AB", "name": "LATIN SMALL LETTER T WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T PALATAL HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AB" }, 429: { "value": "01AD", "name": "LATIN SMALL LETTER T WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HOOK", "comment": "", "uppercase_mapping": "01AC", "lowercase_mapping": "", "titlecase_mapping": "01AC", "symbol": "\u01AD" }, 432: { "value": "01B0", "name": "LATIN SMALL LETTER U WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HORN", "comment": "", "uppercase_mapping": "01AF", "lowercase_mapping": "", "titlecase_mapping": "01AF", "symbol": "\u01B0" }, 436: { "value": "01B4", "name": "LATIN SMALL LETTER Y WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y HOOK", "comment": "", "uppercase_mapping": "01B3", "lowercase_mapping": "", "titlecase_mapping": "01B3", "symbol": "\u01B4" }, 438: { "value": "01B6", "name": "LATIN SMALL LETTER Z WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z BAR", "comment": "", "uppercase_mapping": "01B5", "lowercase_mapping": "", "titlecase_mapping": "01B5", "symbol": "\u01B6" }, 441: { "value": "01B9", "name": "LATIN SMALL LETTER EZH REVERSED", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED YOGH", "comment": "", "uppercase_mapping": "01B8", "lowercase_mapping": "", "titlecase_mapping": "01B8", "symbol": "\u01B9" }, 442: { "value": "01BA", "name": "LATIN SMALL LETTER EZH WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH WITH TAIL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BA" }, 445: { "value": "01BD", "name": "LATIN SMALL LETTER TONE FIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01BC", "lowercase_mapping": "", "titlecase_mapping": "01BC", "symbol": "\u01BD" }, 446: { "value": "01BE", "name": "LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER INVERTED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BE" }, 447: { "value": "01BF", "name": "LATIN LETTER WYNN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F7", "lowercase_mapping": "", "titlecase_mapping": "01F7", "symbol": "\u01BF" }, 454: { "value": "01C6", "name": "LATIN SMALL LETTER DZ WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 017E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z HACEK", "comment": "", "uppercase_mapping": "01C4", "lowercase_mapping": "", "titlecase_mapping": "01C5", "symbol": "\u01C6" }, 457: { "value": "01C9", "name": "LATIN SMALL LETTER LJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L J", "comment": "", "uppercase_mapping": "01C7", "lowercase_mapping": "", "titlecase_mapping": "01C8", "symbol": "\u01C9" }, 460: { "value": "01CC", "name": "LATIN SMALL LETTER NJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N J", "comment": "", "uppercase_mapping": "01CA", "lowercase_mapping": "", "titlecase_mapping": "01CB", "symbol": "\u01CC" }, 462: { "value": "01CE", "name": "LATIN SMALL LETTER A WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A HACEK", "comment": "", "uppercase_mapping": "01CD", "lowercase_mapping": "", "titlecase_mapping": "01CD", "symbol": "\u01CE" }, 464: { "value": "01D0", "name": "LATIN SMALL LETTER I WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I HACEK", "comment": "", "uppercase_mapping": "01CF", "lowercase_mapping": "", "titlecase_mapping": "01CF", "symbol": "\u01D0" }, 466: { "value": "01D2", "name": "LATIN SMALL LETTER O WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HACEK", "comment": "", "uppercase_mapping": "01D1", "lowercase_mapping": "", "titlecase_mapping": "01D1", "symbol": "\u01D2" }, 468: { "value": "01D4", "name": "LATIN SMALL LETTER U WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HACEK", "comment": "", "uppercase_mapping": "01D3", "lowercase_mapping": "", "titlecase_mapping": "01D3", "symbol": "\u01D4" }, 470: { "value": "01D6", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01D5", "lowercase_mapping": "", "titlecase_mapping": "01D5", "symbol": "\u01D6" }, 472: { "value": "01D8", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS ACUTE", "comment": "", "uppercase_mapping": "01D7", "lowercase_mapping": "", "titlecase_mapping": "01D7", "symbol": "\u01D8" }, 474: { "value": "01DA", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS HACEK", "comment": "", "uppercase_mapping": "01D9", "lowercase_mapping": "", "titlecase_mapping": "01D9", "symbol": "\u01DA" }, 476: { "value": "01DC", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS GRAVE", "comment": "", "uppercase_mapping": "01DB", "lowercase_mapping": "", "titlecase_mapping": "01DB", "symbol": "\u01DC" }, 477: { "value": "01DD", "name": "LATIN SMALL LETTER TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018E", "lowercase_mapping": "", "titlecase_mapping": "018E", "symbol": "\u01DD" }, 479: { "value": "01DF", "name": "LATIN SMALL LETTER A WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E4 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01DE", "lowercase_mapping": "", "titlecase_mapping": "01DE", "symbol": "\u01DF" }, 481: { "value": "01E1", "name": "LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0227 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DOT MACRON", "comment": "", "uppercase_mapping": "01E0", "lowercase_mapping": "", "titlecase_mapping": "01E0", "symbol": "\u01E1" }, 483: { "value": "01E3", "name": "LATIN SMALL LETTER AE WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E MACRON", "comment": "", "uppercase_mapping": "01E2", "lowercase_mapping": "", "titlecase_mapping": "01E2", "symbol": "\u01E3" }, 485: { "value": "01E5", "name": "LATIN SMALL LETTER G WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BAR", "comment": "", "uppercase_mapping": "01E4", "lowercase_mapping": "", "titlecase_mapping": "01E4", "symbol": "\u01E5" }, 487: { "value": "01E7", "name": "LATIN SMALL LETTER G WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HACEK", "comment": "", "uppercase_mapping": "01E6", "lowercase_mapping": "", "titlecase_mapping": "01E6", "symbol": "\u01E7" }, 489: { "value": "01E9", "name": "LATIN SMALL LETTER K WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HACEK", "comment": "", "uppercase_mapping": "01E8", "lowercase_mapping": "", "titlecase_mapping": "01E8", "symbol": "\u01E9" }, 491: { "value": "01EB", "name": "LATIN SMALL LETTER O WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK", "comment": "", "uppercase_mapping": "01EA", "lowercase_mapping": "", "titlecase_mapping": "01EA", "symbol": "\u01EB" }, 493: { "value": "01ED", "name": "LATIN SMALL LETTER O WITH OGONEK AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01EB 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK MACRON", "comment": "", "uppercase_mapping": "01EC", "lowercase_mapping": "", "titlecase_mapping": "01EC", "symbol": "\u01ED" }, 495: { "value": "01EF", "name": "LATIN SMALL LETTER EZH WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0292 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH HACEK", "comment": "", "uppercase_mapping": "01EE", "lowercase_mapping": "", "titlecase_mapping": "01EE", "symbol": "\u01EF" }, 496: { "value": "01F0", "name": "LATIN SMALL LETTER J WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J HACEK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01F0" }, 499: { "value": "01F3", "name": "LATIN SMALL LETTER DZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F1", "lowercase_mapping": "", "titlecase_mapping": "01F2", "symbol": "\u01F3" }, 501: { "value": "01F5", "name": "LATIN SMALL LETTER G WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F4", "lowercase_mapping": "", "titlecase_mapping": "01F4", "symbol": "\u01F5" }, 505: { "value": "01F9", "name": "LATIN SMALL LETTER N WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F8", "lowercase_mapping": "", "titlecase_mapping": "01F8", "symbol": "\u01F9" }, 507: { "value": "01FB", "name": "LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FA", "lowercase_mapping": "", "titlecase_mapping": "01FA", "symbol": "\u01FB" }, 509: { "value": "01FD", "name": "LATIN SMALL LETTER AE WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FC", "lowercase_mapping": "", "titlecase_mapping": "01FC", "symbol": "\u01FD" }, 511: { "value": "01FF", "name": "LATIN SMALL LETTER O WITH STROKE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F8 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FE", "lowercase_mapping": "", "titlecase_mapping": "01FE", "symbol": "\u01FF" }, 513: { "value": "0201", "name": "LATIN SMALL LETTER A WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0200", "lowercase_mapping": "", "titlecase_mapping": "0200", "symbol": "\u0201" }, 515: { "value": "0203", "name": "LATIN SMALL LETTER A WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0202", "lowercase_mapping": "", "titlecase_mapping": "0202", "symbol": "\u0203" }, 517: { "value": "0205", "name": "LATIN SMALL LETTER E WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0204", "lowercase_mapping": "", "titlecase_mapping": "0204", "symbol": "\u0205" }, 519: { "value": "0207", "name": "LATIN SMALL LETTER E WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0206", "lowercase_mapping": "", "titlecase_mapping": "0206", "symbol": "\u0207" }, 521: { "value": "0209", "name": "LATIN SMALL LETTER I WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0208", "lowercase_mapping": "", "titlecase_mapping": "0208", "symbol": "\u0209" }, 523: { "value": "020B", "name": "LATIN SMALL LETTER I WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020A", "lowercase_mapping": "", "titlecase_mapping": "020A", "symbol": "\u020B" }, 525: { "value": "020D", "name": "LATIN SMALL LETTER O WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020C", "lowercase_mapping": "", "titlecase_mapping": "020C", "symbol": "\u020D" }, 527: { "value": "020F", "name": "LATIN SMALL LETTER O WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020E", "lowercase_mapping": "", "titlecase_mapping": "020E", "symbol": "\u020F" }, 529: { "value": "0211", "name": "LATIN SMALL LETTER R WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0210", "lowercase_mapping": "", "titlecase_mapping": "0210", "symbol": "\u0211" }, 531: { "value": "0213", "name": "LATIN SMALL LETTER R WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0212", "lowercase_mapping": "", "titlecase_mapping": "0212", "symbol": "\u0213" }, 533: { "value": "0215", "name": "LATIN SMALL LETTER U WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0214", "lowercase_mapping": "", "titlecase_mapping": "0214", "symbol": "\u0215" }, 535: { "value": "0217", "name": "LATIN SMALL LETTER U WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0216", "lowercase_mapping": "", "titlecase_mapping": "0216", "symbol": "\u0217" }, 537: { "value": "0219", "name": "LATIN SMALL LETTER S WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0218", "lowercase_mapping": "", "titlecase_mapping": "0218", "symbol": "\u0219" }, 539: { "value": "021B", "name": "LATIN SMALL LETTER T WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021A", "lowercase_mapping": "", "titlecase_mapping": "021A", "symbol": "\u021B" }, 541: { "value": "021D", "name": "LATIN SMALL LETTER YOGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021C", "lowercase_mapping": "", "titlecase_mapping": "021C", "symbol": "\u021D" }, 543: { "value": "021F", "name": "LATIN SMALL LETTER H WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021E", "lowercase_mapping": "", "titlecase_mapping": "021E", "symbol": "\u021F" }, 545: { "value": "0221", "name": "LATIN SMALL LETTER D WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0221" }, 547: { "value": "0223", "name": "LATIN SMALL LETTER OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0222", "lowercase_mapping": "", "titlecase_mapping": "0222", "symbol": "\u0223" }, 549: { "value": "0225", "name": "LATIN SMALL LETTER Z WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0224", "lowercase_mapping": "", "titlecase_mapping": "0224", "symbol": "\u0225" }, 551: { "value": "0227", "name": "LATIN SMALL LETTER A WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0226", "lowercase_mapping": "", "titlecase_mapping": "0226", "symbol": "\u0227" }, 553: { "value": "0229", "name": "LATIN SMALL LETTER E WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0228", "lowercase_mapping": "", "titlecase_mapping": "0228", "symbol": "\u0229" }, 555: { "value": "022B", "name": "LATIN SMALL LETTER O WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022A", "lowercase_mapping": "", "titlecase_mapping": "022A", "symbol": "\u022B" }, 557: { "value": "022D", "name": "LATIN SMALL LETTER O WITH TILDE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022C", "lowercase_mapping": "", "titlecase_mapping": "022C", "symbol": "\u022D" }, 559: { "value": "022F", "name": "LATIN SMALL LETTER O WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022E", "lowercase_mapping": "", "titlecase_mapping": "022E", "symbol": "\u022F" }, 561: { "value": "0231", "name": "LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "022F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0230", "lowercase_mapping": "", "titlecase_mapping": "0230", "symbol": "\u0231" }, 563: { "value": "0233", "name": "LATIN SMALL LETTER Y WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0232", "lowercase_mapping": "", "titlecase_mapping": "0232", "symbol": "\u0233" }, 564: { "value": "0234", "name": "LATIN SMALL LETTER L WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0234" }, 565: { "value": "0235", "name": "LATIN SMALL LETTER N WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0235" }, 566: { "value": "0236", "name": "LATIN SMALL LETTER T WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0236" }, 567: { "value": "0237", "name": "LATIN SMALL LETTER DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0237" }, 568: { "value": "0238", "name": "LATIN SMALL LETTER DB DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0238" }, 569: { "value": "0239", "name": "LATIN SMALL LETTER QP DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0239" }, 572: { "value": "023C", "name": "LATIN SMALL LETTER C WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023B", "lowercase_mapping": "", "titlecase_mapping": "023B", "symbol": "\u023C" }, 575: { "value": "023F", "name": "LATIN SMALL LETTER S WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7E", "lowercase_mapping": "", "titlecase_mapping": "2C7E", "symbol": "\u023F" }, 576: { "value": "0240", "name": "LATIN SMALL LETTER Z WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7F", "lowercase_mapping": "", "titlecase_mapping": "2C7F", "symbol": "\u0240" }, 578: { "value": "0242", "name": "LATIN SMALL LETTER GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0241", "lowercase_mapping": "", "titlecase_mapping": "0241", "symbol": "\u0242" }, 583: { "value": "0247", "name": "LATIN SMALL LETTER E WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0246", "lowercase_mapping": "", "titlecase_mapping": "0246", "symbol": "\u0247" }, 585: { "value": "0249", "name": "LATIN SMALL LETTER J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0248", "lowercase_mapping": "", "titlecase_mapping": "0248", "symbol": "\u0249" }, 587: { "value": "024B", "name": "LATIN SMALL LETTER Q WITH HOOK TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024A", "lowercase_mapping": "", "titlecase_mapping": "024A", "symbol": "\u024B" }, 589: { "value": "024D", "name": "LATIN SMALL LETTER R WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024C", "lowercase_mapping": "", "titlecase_mapping": "024C", "symbol": "\u024D" }, 591: { "value": "024F", "name": "LATIN SMALL LETTER Y WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024E", "lowercase_mapping": "", "titlecase_mapping": "024E", "symbol": "\u024F" }, 592: { "value": "0250", "name": "LATIN SMALL LETTER TURNED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6F", "lowercase_mapping": "", "titlecase_mapping": "2C6F", "symbol": "\u0250" }, 593: { "value": "0251", "name": "LATIN SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT A", "comment": "", "uppercase_mapping": "2C6D", "lowercase_mapping": "", "titlecase_mapping": "2C6D", "symbol": "\u0251" }, 594: { "value": "0252", "name": "LATIN SMALL LETTER TURNED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED SCRIPT A", "comment": "", "uppercase_mapping": "2C70", "lowercase_mapping": "", "titlecase_mapping": "2C70", "symbol": "\u0252" }, 595: { "value": "0253", "name": "LATIN SMALL LETTER B WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B HOOK", "comment": "", "uppercase_mapping": "0181", "lowercase_mapping": "", "titlecase_mapping": "0181", "symbol": "\u0253" }, 596: { "value": "0254", "name": "LATIN SMALL LETTER OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0186", "lowercase_mapping": "", "titlecase_mapping": "0186", "symbol": "\u0254" }, 597: { "value": "0255", "name": "LATIN SMALL LETTER C WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0255" }, 598: { "value": "0256", "name": "LATIN SMALL LETTER D WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D RETROFLEX HOOK", "comment": "", "uppercase_mapping": "0189", "lowercase_mapping": "", "titlecase_mapping": "0189", "symbol": "\u0256" }, 599: { "value": "0257", "name": "LATIN SMALL LETTER D WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HOOK", "comment": "", "uppercase_mapping": "018A", "lowercase_mapping": "", "titlecase_mapping": "018A", "symbol": "\u0257" }, 600: { "value": "0258", "name": "LATIN SMALL LETTER REVERSED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0258" }, 601: { "value": "0259", "name": "LATIN SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018F", "lowercase_mapping": "", "titlecase_mapping": "018F", "symbol": "\u0259" }, 602: { "value": "025A", "name": "LATIN SMALL LETTER SCHWA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCHWA HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025A" }, 603: { "value": "025B", "name": "LATIN SMALL LETTER OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER EPSILON", "comment": "", "uppercase_mapping": "0190", "lowercase_mapping": "", "titlecase_mapping": "0190", "symbol": "\u025B" }, 604: { "value": "025C", "name": "LATIN SMALL LETTER REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON", "comment": "", "uppercase_mapping": "A7AB", "lowercase_mapping": "", "titlecase_mapping": "A7AB", "symbol": "\u025C" }, 605: { "value": "025D", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025D" }, 606: { "value": "025E", "name": "LATIN SMALL LETTER CLOSED REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED REVERSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025E" }, 607: { "value": "025F", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025F" }, 608: { "value": "0260", "name": "LATIN SMALL LETTER G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HOOK", "comment": "", "uppercase_mapping": "0193", "lowercase_mapping": "", "titlecase_mapping": "0193", "symbol": "\u0260" }, 609: { "value": "0261", "name": "LATIN SMALL LETTER SCRIPT G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AC", "lowercase_mapping": "", "titlecase_mapping": "A7AC", "symbol": "\u0261" }, 610: { "value": "0262", "name": "LATIN LETTER SMALL CAPITAL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0262" }, 611: { "value": "0263", "name": "LATIN SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0194", "lowercase_mapping": "", "titlecase_mapping": "0194", "symbol": "\u0263" }, 612: { "value": "0264", "name": "LATIN SMALL LETTER RAMS HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BABY GAMMA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0264" }, 613: { "value": "0265", "name": "LATIN SMALL LETTER TURNED H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78D", "lowercase_mapping": "", "titlecase_mapping": "A78D", "symbol": "\u0265" }, 614: { "value": "0266", "name": "LATIN SMALL LETTER H WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H HOOK", "comment": "", "uppercase_mapping": "A7AA", "lowercase_mapping": "", "titlecase_mapping": "A7AA", "symbol": "\u0266" }, 615: { "value": "0267", "name": "LATIN SMALL LETTER HENG WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER HENG HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0267" }, 616: { "value": "0268", "name": "LATIN SMALL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED I", "comment": "", "uppercase_mapping": "0197", "lowercase_mapping": "", "titlecase_mapping": "0197", "symbol": "\u0268" }, 617: { "value": "0269", "name": "LATIN SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0196", "lowercase_mapping": "", "titlecase_mapping": "0196", "symbol": "\u0269" }, 618: { "value": "026A", "name": "LATIN LETTER SMALL CAPITAL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AE", "lowercase_mapping": "", "titlecase_mapping": "A7AE", "symbol": "\u026A" }, 619: { "value": "026B", "name": "LATIN SMALL LETTER L WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C62", "lowercase_mapping": "", "titlecase_mapping": "2C62", "symbol": "\u026B" }, 620: { "value": "026C", "name": "LATIN SMALL LETTER L WITH BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L BELT", "comment": "", "uppercase_mapping": "A7AD", "lowercase_mapping": "", "titlecase_mapping": "A7AD", "symbol": "\u026C" }, 621: { "value": "026D", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026D" }, 622: { "value": "026E", "name": "LATIN SMALL LETTER LEZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026E" }, 623: { "value": "026F", "name": "LATIN SMALL LETTER TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019C", "lowercase_mapping": "", "titlecase_mapping": "019C", "symbol": "\u026F" }, 624: { "value": "0270", "name": "LATIN SMALL LETTER TURNED M WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0270" }, 625: { "value": "0271", "name": "LATIN SMALL LETTER M WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER M HOOK", "comment": "", "uppercase_mapping": "2C6E", "lowercase_mapping": "", "titlecase_mapping": "2C6E", "symbol": "\u0271" }, 626: { "value": "0272", "name": "LATIN SMALL LETTER N WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HOOK", "comment": "", "uppercase_mapping": "019D", "lowercase_mapping": "", "titlecase_mapping": "019D", "symbol": "\u0272" }, 627: { "value": "0273", "name": "LATIN SMALL LETTER N WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0273" }, 628: { "value": "0274", "name": "LATIN LETTER SMALL CAPITAL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0274" }, 629: { "value": "0275", "name": "LATIN SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019F", "lowercase_mapping": "", "titlecase_mapping": "019F", "symbol": "\u0275" }, 630: { "value": "0276", "name": "LATIN LETTER SMALL CAPITAL OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL O E", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0276" }, 631: { "value": "0277", "name": "LATIN SMALL LETTER CLOSED OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0277" }, 632: { "value": "0278", "name": "LATIN SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0278" }, 633: { "value": "0279", "name": "LATIN SMALL LETTER TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0279" }, 634: { "value": "027A", "name": "LATIN SMALL LETTER TURNED R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027A" }, 635: { "value": "027B", "name": "LATIN SMALL LETTER TURNED R WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED R HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027B" }, 636: { "value": "027C", "name": "LATIN SMALL LETTER R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027C" }, 637: { "value": "027D", "name": "LATIN SMALL LETTER R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HOOK", "comment": "", "uppercase_mapping": "2C64", "lowercase_mapping": "", "titlecase_mapping": "2C64", "symbol": "\u027D" }, 638: { "value": "027E", "name": "LATIN SMALL LETTER R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027E" }, 639: { "value": "027F", "name": "LATIN SMALL LETTER REVERSED R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027F" }, 640: { "value": "0280", "name": "LATIN LETTER SMALL CAPITAL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A6", "lowercase_mapping": "", "titlecase_mapping": "01A6", "symbol": "\u0280" }, 641: { "value": "0281", "name": "LATIN LETTER SMALL CAPITAL INVERTED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0281" }, 642: { "value": "0282", "name": "LATIN SMALL LETTER S WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0282" }, 643: { "value": "0283", "name": "LATIN SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A9", "lowercase_mapping": "", "titlecase_mapping": "01A9", "symbol": "\u0283" }, 644: { "value": "0284", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0284" }, 645: { "value": "0285", "name": "LATIN SMALL LETTER SQUAT REVERSED ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0285" }, 646: { "value": "0286", "name": "LATIN SMALL LETTER ESH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER ESH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0286" }, 647: { "value": "0287", "name": "LATIN SMALL LETTER TURNED T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B1", "lowercase_mapping": "", "titlecase_mapping": "A7B1", "symbol": "\u0287" }, 648: { "value": "0288", "name": "LATIN SMALL LETTER T WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T RETROFLEX HOOK", "comment": "", "uppercase_mapping": "01AE", "lowercase_mapping": "", "titlecase_mapping": "01AE", "symbol": "\u0288" }, 649: { "value": "0289", "name": "LATIN SMALL LETTER U BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0244", "lowercase_mapping": "", "titlecase_mapping": "0244", "symbol": "\u0289" }, 650: { "value": "028A", "name": "LATIN SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01B1", "lowercase_mapping": "", "titlecase_mapping": "01B1", "symbol": "\u028A" }, 651: { "value": "028B", "name": "LATIN SMALL LETTER V WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT V", "comment": "", "uppercase_mapping": "01B2", "lowercase_mapping": "", "titlecase_mapping": "01B2", "symbol": "\u028B" }, 652: { "value": "028C", "name": "LATIN SMALL LETTER TURNED V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0245", "lowercase_mapping": "", "titlecase_mapping": "0245", "symbol": "\u028C" }, 653: { "value": "028D", "name": "LATIN SMALL LETTER TURNED W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028D" }, 654: { "value": "028E", "name": "LATIN SMALL LETTER TURNED Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028E" }, 655: { "value": "028F", "name": "LATIN LETTER SMALL CAPITAL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028F" }, 656: { "value": "0290", "name": "LATIN SMALL LETTER Z WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0290" }, 657: { "value": "0291", "name": "LATIN SMALL LETTER Z WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0291" }, 658: { "value": "0292", "name": "LATIN SMALL LETTER EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH", "comment": "", "uppercase_mapping": "01B7", "lowercase_mapping": "", "titlecase_mapping": "01B7", "symbol": "\u0292" }, 659: { "value": "0293", "name": "LATIN SMALL LETTER EZH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0293" }, 661: { "value": "0295", "name": "LATIN LETTER PHARYNGEAL VOICED FRICATIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0295" }, 662: { "value": "0296", "name": "LATIN LETTER INVERTED GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0296" }, 663: { "value": "0297", "name": "LATIN LETTER STRETCHED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0297" }, 664: { "value": "0298", "name": "LATIN LETTER BILABIAL CLICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER BULLSEYE", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0298" }, 665: { "value": "0299", "name": "LATIN LETTER SMALL CAPITAL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0299" }, 666: { "value": "029A", "name": "LATIN SMALL LETTER CLOSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029A" }, 667: { "value": "029B", "name": "LATIN LETTER SMALL CAPITAL G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL G HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029B" }, 668: { "value": "029C", "name": "LATIN LETTER SMALL CAPITAL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029C" }, 669: { "value": "029D", "name": "LATIN SMALL LETTER J WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CROSSED-TAIL J", "comment": "", "uppercase_mapping": "A7B2", "lowercase_mapping": "", "titlecase_mapping": "A7B2", "symbol": "\u029D" }, 670: { "value": "029E", "name": "LATIN SMALL LETTER TURNED K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B0", "lowercase_mapping": "", "titlecase_mapping": "A7B0", "symbol": "\u029E" }, 671: { "value": "029F", "name": "LATIN LETTER SMALL CAPITAL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029F" }, 672: { "value": "02A0", "name": "LATIN SMALL LETTER Q WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Q HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A0" }, 673: { "value": "02A1", "name": "LATIN LETTER GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A1" }, 674: { "value": "02A2", "name": "LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A2" }, 675: { "value": "02A3", "name": "LATIN SMALL LETTER DZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A3" }, 676: { "value": "02A4", "name": "LATIN SMALL LETTER DEZH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A4" }, 677: { "value": "02A5", "name": "LATIN SMALL LETTER DZ DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A5" }, 678: { "value": "02A6", "name": "LATIN SMALL LETTER TS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T S", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A6" }, 679: { "value": "02A7", "name": "LATIN SMALL LETTER TESH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T ESH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A7" }, 680: { "value": "02A8", "name": "LATIN SMALL LETTER TC DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A8" }, 681: { "value": "02A9", "name": "LATIN SMALL LETTER FENG DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A9" }, 682: { "value": "02AA", "name": "LATIN SMALL LETTER LS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AA" }, 683: { "value": "02AB", "name": "LATIN SMALL LETTER LZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AB" }, 684: { "value": "02AC", "name": "LATIN LETTER BILABIAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AC" }, 685: { "value": "02AD", "name": "LATIN LETTER BIDENTAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AD" }, 686: { "value": "02AE", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AE" }, 687: { "value": "02AF", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AF" }, 881: { "value": "0371", "name": "GREEK SMALL LETTER HETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0370", "lowercase_mapping": "", "titlecase_mapping": "0370", "symbol": "\u0371" }, 883: { "value": "0373", "name": "GREEK SMALL LETTER ARCHAIC SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0372", "lowercase_mapping": "", "titlecase_mapping": "0372", "symbol": "\u0373" }, 887: { "value": "0377", "name": "GREEK SMALL LETTER PAMPHYLIAN DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0376", "lowercase_mapping": "", "titlecase_mapping": "0376", "symbol": "\u0377" }, 891: { "value": "037B", "name": "GREEK SMALL REVERSED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FD", "lowercase_mapping": "", "titlecase_mapping": "03FD", "symbol": "\u037B" }, 892: { "value": "037C", "name": "GREEK SMALL DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FE", "lowercase_mapping": "", "titlecase_mapping": "03FE", "symbol": "\u037C" }, 893: { "value": "037D", "name": "GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FF", "lowercase_mapping": "", "titlecase_mapping": "03FF", "symbol": "\u037D" }, 912: { "value": "0390", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0390" }, 940: { "value": "03AC", "name": "GREEK SMALL LETTER ALPHA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ALPHA TONOS", "comment": "", "uppercase_mapping": "0386", "lowercase_mapping": "", "titlecase_mapping": "0386", "symbol": "\u03AC" }, 941: { "value": "03AD", "name": "GREEK SMALL LETTER EPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER EPSILON TONOS", "comment": "", "uppercase_mapping": "0388", "lowercase_mapping": "", "titlecase_mapping": "0388", "symbol": "\u03AD" }, 942: { "value": "03AE", "name": "GREEK SMALL LETTER ETA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ETA TONOS", "comment": "", "uppercase_mapping": "0389", "lowercase_mapping": "", "titlecase_mapping": "0389", "symbol": "\u03AE" }, 943: { "value": "03AF", "name": "GREEK SMALL LETTER IOTA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA TONOS", "comment": "", "uppercase_mapping": "038A", "lowercase_mapping": "", "titlecase_mapping": "038A", "symbol": "\u03AF" }, 944: { "value": "03B0", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03B0" }, 945: { "value": "03B1", "name": "GREEK SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0391", "lowercase_mapping": "", "titlecase_mapping": "0391", "symbol": "\u03B1" }, 946: { "value": "03B2", "name": "GREEK SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03B2" }, 947: { "value": "03B3", "name": "GREEK SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0393", "lowercase_mapping": "", "titlecase_mapping": "0393", "symbol": "\u03B3" }, 948: { "value": "03B4", "name": "GREEK SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0394", "lowercase_mapping": "", "titlecase_mapping": "0394", "symbol": "\u03B4" }, 949: { "value": "03B5", "name": "GREEK SMALL LETTER EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03B5" }, 950: { "value": "03B6", "name": "GREEK SMALL LETTER ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0396", "lowercase_mapping": "", "titlecase_mapping": "0396", "symbol": "\u03B6" }, 951: { "value": "03B7", "name": "GREEK SMALL LETTER ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0397", "lowercase_mapping": "", "titlecase_mapping": "0397", "symbol": "\u03B7" }, 952: { "value": "03B8", "name": "GREEK SMALL LETTER THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03B8" }, 953: { "value": "03B9", "name": "GREEK SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u03B9" }, 954: { "value": "03BA", "name": "GREEK SMALL LETTER KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03BA" }, 955: { "value": "03BB", "name": "GREEK SMALL LETTER LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LAMBDA", "comment": "", "uppercase_mapping": "039B", "lowercase_mapping": "", "titlecase_mapping": "039B", "symbol": "\u03BB" }, 956: { "value": "03BC", "name": "GREEK SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\u03BC" }, 957: { "value": "03BD", "name": "GREEK SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039D", "lowercase_mapping": "", "titlecase_mapping": "039D", "symbol": "\u03BD" }, 958: { "value": "03BE", "name": "GREEK SMALL LETTER XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039E", "lowercase_mapping": "", "titlecase_mapping": "039E", "symbol": "\u03BE" }, 959: { "value": "03BF", "name": "GREEK SMALL LETTER OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039F", "lowercase_mapping": "", "titlecase_mapping": "039F", "symbol": "\u03BF" }, 960: { "value": "03C0", "name": "GREEK SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03C0" }, 961: { "value": "03C1", "name": "GREEK SMALL LETTER RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03C1" }, 962: { "value": "03C2", "name": "GREEK SMALL LETTER FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C2" }, 963: { "value": "03C3", "name": "GREEK SMALL LETTER SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C3" }, 964: { "value": "03C4", "name": "GREEK SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A4", "lowercase_mapping": "", "titlecase_mapping": "03A4", "symbol": "\u03C4" }, 965: { "value": "03C5", "name": "GREEK SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A5", "lowercase_mapping": "", "titlecase_mapping": "03A5", "symbol": "\u03C5" }, 966: { "value": "03C6", "name": "GREEK SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03C6" }, 967: { "value": "03C7", "name": "GREEK SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A7", "lowercase_mapping": "", "titlecase_mapping": "03A7", "symbol": "\u03C7" }, 968: { "value": "03C8", "name": "GREEK SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A8", "lowercase_mapping": "", "titlecase_mapping": "03A8", "symbol": "\u03C8" }, 969: { "value": "03C9", "name": "GREEK SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A9", "lowercase_mapping": "", "titlecase_mapping": "03A9", "symbol": "\u03C9" }, 970: { "value": "03CA", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS", "comment": "", "uppercase_mapping": "03AA", "lowercase_mapping": "", "titlecase_mapping": "03AA", "symbol": "\u03CA" }, 971: { "value": "03CB", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS", "comment": "", "uppercase_mapping": "03AB", "lowercase_mapping": "", "titlecase_mapping": "03AB", "symbol": "\u03CB" }, 972: { "value": "03CC", "name": "GREEK SMALL LETTER OMICRON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMICRON TONOS", "comment": "", "uppercase_mapping": "038C", "lowercase_mapping": "", "titlecase_mapping": "038C", "symbol": "\u03CC" }, 973: { "value": "03CD", "name": "GREEK SMALL LETTER UPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON TONOS", "comment": "", "uppercase_mapping": "038E", "lowercase_mapping": "", "titlecase_mapping": "038E", "symbol": "\u03CD" }, 974: { "value": "03CE", "name": "GREEK SMALL LETTER OMEGA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA TONOS", "comment": "", "uppercase_mapping": "038F", "lowercase_mapping": "", "titlecase_mapping": "038F", "symbol": "\u03CE" }, 976: { "value": "03D0", "name": "GREEK BETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER CURLED BETA", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03D0" }, 977: { "value": "03D1", "name": "GREEK THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT THETA", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03D1" }, 981: { "value": "03D5", "name": "GREEK PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT PHI", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03D5" }, 982: { "value": "03D6", "name": "GREEK PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA PI", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03D6" }, 983: { "value": "03D7", "name": "GREEK KAI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03CF", "lowercase_mapping": "", "titlecase_mapping": "03CF", "symbol": "\u03D7" }, 985: { "value": "03D9", "name": "GREEK SMALL LETTER ARCHAIC KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03D8", "lowercase_mapping": "", "titlecase_mapping": "03D8", "symbol": "\u03D9" }, 987: { "value": "03DB", "name": "GREEK SMALL LETTER STIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DA", "lowercase_mapping": "", "titlecase_mapping": "03DA", "symbol": "\u03DB" }, 989: { "value": "03DD", "name": "GREEK SMALL LETTER DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DC", "lowercase_mapping": "", "titlecase_mapping": "03DC", "symbol": "\u03DD" }, 991: { "value": "03DF", "name": "GREEK SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DE", "lowercase_mapping": "", "titlecase_mapping": "03DE", "symbol": "\u03DF" }, 993: { "value": "03E1", "name": "GREEK SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03E0", "lowercase_mapping": "", "titlecase_mapping": "03E0", "symbol": "\u03E1" }, 995: { "value": "03E3", "name": "COPTIC SMALL LETTER SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHEI", "comment": "", "uppercase_mapping": "03E2", "lowercase_mapping": "", "titlecase_mapping": "03E2", "symbol": "\u03E3" }, 997: { "value": "03E5", "name": "COPTIC SMALL LETTER FEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER FEI", "comment": "", "uppercase_mapping": "03E4", "lowercase_mapping": "", "titlecase_mapping": "03E4", "symbol": "\u03E5" }, 999: { "value": "03E7", "name": "COPTIC SMALL LETTER KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER KHEI", "comment": "", "uppercase_mapping": "03E6", "lowercase_mapping": "", "titlecase_mapping": "03E6", "symbol": "\u03E7" }, 1001: { "value": "03E9", "name": "COPTIC SMALL LETTER HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER HORI", "comment": "", "uppercase_mapping": "03E8", "lowercase_mapping": "", "titlecase_mapping": "03E8", "symbol": "\u03E9" }, 1003: { "value": "03EB", "name": "COPTIC SMALL LETTER GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER GANGIA", "comment": "", "uppercase_mapping": "03EA", "lowercase_mapping": "", "titlecase_mapping": "03EA", "symbol": "\u03EB" }, 1005: { "value": "03ED", "name": "COPTIC SMALL LETTER SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHIMA", "comment": "", "uppercase_mapping": "03EC", "lowercase_mapping": "", "titlecase_mapping": "03EC", "symbol": "\u03ED" }, 1007: { "value": "03EF", "name": "COPTIC SMALL LETTER DEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER DEI", "comment": "", "uppercase_mapping": "03EE", "lowercase_mapping": "", "titlecase_mapping": "03EE", "symbol": "\u03EF" }, 1008: { "value": "03F0", "name": "GREEK KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT KAPPA", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03F0" }, 1009: { "value": "03F1", "name": "GREEK RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER TAILED RHO", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03F1" }, 1010: { "value": "03F2", "name": "GREEK LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LUNATE SIGMA", "comment": "", "uppercase_mapping": "03F9", "lowercase_mapping": "", "titlecase_mapping": "03F9", "symbol": "\u03F2" }, 1011: { "value": "03F3", "name": "GREEK LETTER YOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "037F", "lowercase_mapping": "", "titlecase_mapping": "037F", "symbol": "\u03F3" }, 1013: { "value": "03F5", "name": "GREEK LUNATE EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03F5" }, 1016: { "value": "03F8", "name": "GREEK SMALL LETTER SHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03F7", "lowercase_mapping": "", "titlecase_mapping": "03F7", "symbol": "\u03F8" }, 1019: { "value": "03FB", "name": "GREEK SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FA", "lowercase_mapping": "", "titlecase_mapping": "03FA", "symbol": "\u03FB" }, 1020: { "value": "03FC", "name": "GREEK RHO WITH STROKE SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03FC" }, 1072: { "value": "0430", "name": "CYRILLIC SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0410", "lowercase_mapping": "", "titlecase_mapping": "0410", "symbol": "\u0430" }, 1073: { "value": "0431", "name": "CYRILLIC SMALL LETTER BE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0411", "lowercase_mapping": "", "titlecase_mapping": "0411", "symbol": "\u0431" }, 1074: { "value": "0432", "name": "CYRILLIC SMALL LETTER VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u0432" }, 1075: { "value": "0433", "name": "CYRILLIC SMALL LETTER GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE", "comment": "", "uppercase_mapping": "0413", "lowercase_mapping": "", "titlecase_mapping": "0413", "symbol": "\u0433" }, 1076: { "value": "0434", "name": "CYRILLIC SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u0434" }, 1077: { "value": "0435", "name": "CYRILLIC SMALL LETTER IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0415", "lowercase_mapping": "", "titlecase_mapping": "0415", "symbol": "\u0435" }, 1078: { "value": "0436", "name": "CYRILLIC SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0416", "lowercase_mapping": "", "titlecase_mapping": "0416", "symbol": "\u0436" }, 1079: { "value": "0437", "name": "CYRILLIC SMALL LETTER ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0417", "lowercase_mapping": "", "titlecase_mapping": "0417", "symbol": "\u0437" }, 1080: { "value": "0438", "name": "CYRILLIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER II", "comment": "", "uppercase_mapping": "0418", "lowercase_mapping": "", "titlecase_mapping": "0418", "symbol": "\u0438" }, 1081: { "value": "0439", "name": "CYRILLIC SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT II", "comment": "", "uppercase_mapping": "0419", "lowercase_mapping": "", "titlecase_mapping": "0419", "symbol": "\u0439" }, 1082: { "value": "043A", "name": "CYRILLIC SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041A", "lowercase_mapping": "", "titlecase_mapping": "041A", "symbol": "\u043A" }, 1083: { "value": "043B", "name": "CYRILLIC SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041B", "lowercase_mapping": "", "titlecase_mapping": "041B", "symbol": "\u043B" }, 1084: { "value": "043C", "name": "CYRILLIC SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041C", "lowercase_mapping": "", "titlecase_mapping": "041C", "symbol": "\u043C" }, 1085: { "value": "043D", "name": "CYRILLIC SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041D", "lowercase_mapping": "", "titlecase_mapping": "041D", "symbol": "\u043D" }, 1086: { "value": "043E", "name": "CYRILLIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u043E" }, 1087: { "value": "043F", "name": "CYRILLIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041F", "lowercase_mapping": "", "titlecase_mapping": "041F", "symbol": "\u043F" }, 1088: { "value": "0440", "name": "CYRILLIC SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0420", "lowercase_mapping": "", "titlecase_mapping": "0420", "symbol": "\u0440" }, 1089: { "value": "0441", "name": "CYRILLIC SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u0441" }, 1090: { "value": "0442", "name": "CYRILLIC SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u0442" }, 1091: { "value": "0443", "name": "CYRILLIC SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0423", "lowercase_mapping": "", "titlecase_mapping": "0423", "symbol": "\u0443" }, 1092: { "value": "0444", "name": "CYRILLIC SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0424", "lowercase_mapping": "", "titlecase_mapping": "0424", "symbol": "\u0444" }, 1093: { "value": "0445", "name": "CYRILLIC SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA", "comment": "", "uppercase_mapping": "0425", "lowercase_mapping": "", "titlecase_mapping": "0425", "symbol": "\u0445" }, 1094: { "value": "0446", "name": "CYRILLIC SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0426", "lowercase_mapping": "", "titlecase_mapping": "0426", "symbol": "\u0446" }, 1095: { "value": "0447", "name": "CYRILLIC SMALL LETTER CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0427", "lowercase_mapping": "", "titlecase_mapping": "0427", "symbol": "\u0447" }, 1096: { "value": "0448", "name": "CYRILLIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0428", "lowercase_mapping": "", "titlecase_mapping": "0428", "symbol": "\u0448" }, 1097: { "value": "0449", "name": "CYRILLIC SMALL LETTER SHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0429", "lowercase_mapping": "", "titlecase_mapping": "0429", "symbol": "\u0449" }, 1098: { "value": "044A", "name": "CYRILLIC SMALL LETTER HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u044A" }, 1099: { "value": "044B", "name": "CYRILLIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER YERI", "comment": "", "uppercase_mapping": "042B", "lowercase_mapping": "", "titlecase_mapping": "042B", "symbol": "\u044B" }, 1100: { "value": "044C", "name": "CYRILLIC SMALL LETTER SOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042C", "lowercase_mapping": "", "titlecase_mapping": "042C", "symbol": "\u044C" }, 1101: { "value": "044D", "name": "CYRILLIC SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED E", "comment": "", "uppercase_mapping": "042D", "lowercase_mapping": "", "titlecase_mapping": "042D", "symbol": "\u044D" }, 1102: { "value": "044E", "name": "CYRILLIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IU", "comment": "", "uppercase_mapping": "042E", "lowercase_mapping": "", "titlecase_mapping": "042E", "symbol": "\u044E" }, 1103: { "value": "044F", "name": "CYRILLIC SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IA", "comment": "", "uppercase_mapping": "042F", "lowercase_mapping": "", "titlecase_mapping": "042F", "symbol": "\u044F" }, 1104: { "value": "0450", "name": "CYRILLIC SMALL LETTER IE WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0400", "lowercase_mapping": "", "titlecase_mapping": "0400", "symbol": "\u0450" }, 1105: { "value": "0451", "name": "CYRILLIC SMALL LETTER IO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0401", "lowercase_mapping": "", "titlecase_mapping": "0401", "symbol": "\u0451" }, 1106: { "value": "0452", "name": "CYRILLIC SMALL LETTER DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0402", "lowercase_mapping": "", "titlecase_mapping": "0402", "symbol": "\u0452" }, 1107: { "value": "0453", "name": "CYRILLIC SMALL LETTER GJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0433 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0403", "lowercase_mapping": "", "titlecase_mapping": "0403", "symbol": "\u0453" }, 1108: { "value": "0454", "name": "CYRILLIC SMALL LETTER UKRAINIAN IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER E", "comment": "", "uppercase_mapping": "0404", "lowercase_mapping": "", "titlecase_mapping": "0404", "symbol": "\u0454" }, 1109: { "value": "0455", "name": "CYRILLIC SMALL LETTER DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0405", "lowercase_mapping": "", "titlecase_mapping": "0405", "symbol": "\u0455" }, 1110: { "value": "0456", "name": "CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER I", "comment": "", "uppercase_mapping": "0406", "lowercase_mapping": "", "titlecase_mapping": "0406", "symbol": "\u0456" }, 1111: { "value": "0457", "name": "CYRILLIC SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0456 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0407", "lowercase_mapping": "", "titlecase_mapping": "0407", "symbol": "\u0457" }, 1112: { "value": "0458", "name": "CYRILLIC SMALL LETTER JE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0408", "lowercase_mapping": "", "titlecase_mapping": "0408", "symbol": "\u0458" }, 1113: { "value": "0459", "name": "CYRILLIC SMALL LETTER LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0409", "lowercase_mapping": "", "titlecase_mapping": "0409", "symbol": "\u0459" }, 1114: { "value": "045A", "name": "CYRILLIC SMALL LETTER NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040A", "lowercase_mapping": "", "titlecase_mapping": "040A", "symbol": "\u045A" }, 1115: { "value": "045B", "name": "CYRILLIC SMALL LETTER TSHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040B", "lowercase_mapping": "", "titlecase_mapping": "040B", "symbol": "\u045B" }, 1116: { "value": "045C", "name": "CYRILLIC SMALL LETTER KJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040C", "lowercase_mapping": "", "titlecase_mapping": "040C", "symbol": "\u045C" }, 1117: { "value": "045D", "name": "CYRILLIC SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040D", "lowercase_mapping": "", "titlecase_mapping": "040D", "symbol": "\u045D" }, 1118: { "value": "045E", "name": "CYRILLIC SMALL LETTER SHORT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040E", "lowercase_mapping": "", "titlecase_mapping": "040E", "symbol": "\u045E" }, 1119: { "value": "045F", "name": "CYRILLIC SMALL LETTER DZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040F", "lowercase_mapping": "", "titlecase_mapping": "040F", "symbol": "\u045F" }, 1121: { "value": "0461", "name": "CYRILLIC SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0460", "lowercase_mapping": "", "titlecase_mapping": "0460", "symbol": "\u0461" }, 1123: { "value": "0463", "name": "CYRILLIC SMALL LETTER YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u0463" }, 1125: { "value": "0465", "name": "CYRILLIC SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0464", "lowercase_mapping": "", "titlecase_mapping": "0464", "symbol": "\u0465" }, 1127: { "value": "0467", "name": "CYRILLIC SMALL LETTER LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0466", "lowercase_mapping": "", "titlecase_mapping": "0466", "symbol": "\u0467" }, 1129: { "value": "0469", "name": "CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0468", "lowercase_mapping": "", "titlecase_mapping": "0468", "symbol": "\u0469" }, 1131: { "value": "046B", "name": "CYRILLIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046A", "lowercase_mapping": "", "titlecase_mapping": "046A", "symbol": "\u046B" }, 1133: { "value": "046D", "name": "CYRILLIC SMALL LETTER IOTIFIED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046C", "lowercase_mapping": "", "titlecase_mapping": "046C", "symbol": "\u046D" }, 1135: { "value": "046F", "name": "CYRILLIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046E", "lowercase_mapping": "", "titlecase_mapping": "046E", "symbol": "\u046F" }, 1137: { "value": "0471", "name": "CYRILLIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0470", "lowercase_mapping": "", "titlecase_mapping": "0470", "symbol": "\u0471" }, 1139: { "value": "0473", "name": "CYRILLIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0472", "lowercase_mapping": "", "titlecase_mapping": "0472", "symbol": "\u0473" }, 1141: { "value": "0475", "name": "CYRILLIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0474", "lowercase_mapping": "", "titlecase_mapping": "0474", "symbol": "\u0475" }, 1143: { "value": "0477", "name": "CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0475 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE", "comment": "", "uppercase_mapping": "0476", "lowercase_mapping": "", "titlecase_mapping": "0476", "symbol": "\u0477" }, 1145: { "value": "0479", "name": "CYRILLIC SMALL LETTER UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER UK DIGRAPH", "comment": "", "uppercase_mapping": "0478", "lowercase_mapping": "", "titlecase_mapping": "0478", "symbol": "\u0479" }, 1147: { "value": "047B", "name": "CYRILLIC SMALL LETTER ROUND OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047A", "lowercase_mapping": "", "titlecase_mapping": "047A", "symbol": "\u047B" }, 1149: { "value": "047D", "name": "CYRILLIC SMALL LETTER OMEGA WITH TITLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER OMEGA TITLO", "comment": "", "uppercase_mapping": "047C", "lowercase_mapping": "", "titlecase_mapping": "047C", "symbol": "\u047D" }, 1151: { "value": "047F", "name": "CYRILLIC SMALL LETTER OT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047E", "lowercase_mapping": "", "titlecase_mapping": "047E", "symbol": "\u047F" }, 1153: { "value": "0481", "name": "CYRILLIC SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0480", "lowercase_mapping": "", "titlecase_mapping": "0480", "symbol": "\u0481" }, 1163: { "value": "048B", "name": "CYRILLIC SMALL LETTER SHORT I WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048A", "lowercase_mapping": "", "titlecase_mapping": "048A", "symbol": "\u048B" }, 1165: { "value": "048D", "name": "CYRILLIC SMALL LETTER SEMISOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048C", "lowercase_mapping": "", "titlecase_mapping": "048C", "symbol": "\u048D" }, 1167: { "value": "048F", "name": "CYRILLIC SMALL LETTER ER WITH TICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048E", "lowercase_mapping": "", "titlecase_mapping": "048E", "symbol": "\u048F" }, 1169: { "value": "0491", "name": "CYRILLIC SMALL LETTER GHE WITH UPTURN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE WITH UPTURN", "comment": "", "uppercase_mapping": "0490", "lowercase_mapping": "", "titlecase_mapping": "0490", "symbol": "\u0491" }, 1171: { "value": "0493", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE BAR", "comment": "", "uppercase_mapping": "0492", "lowercase_mapping": "", "titlecase_mapping": "0492", "symbol": "\u0493" }, 1173: { "value": "0495", "name": "CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE HOOK", "comment": "", "uppercase_mapping": "0494", "lowercase_mapping": "", "titlecase_mapping": "0494", "symbol": "\u0495" }, 1175: { "value": "0497", "name": "CYRILLIC SMALL LETTER ZHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "0496", "lowercase_mapping": "", "titlecase_mapping": "0496", "symbol": "\u0497" }, 1177: { "value": "0499", "name": "CYRILLIC SMALL LETTER ZE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZE CEDILLA", "comment": "", "uppercase_mapping": "0498", "lowercase_mapping": "", "titlecase_mapping": "0498", "symbol": "\u0499" }, 1179: { "value": "049B", "name": "CYRILLIC SMALL LETTER KA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "049A", "lowercase_mapping": "", "titlecase_mapping": "049A", "symbol": "\u049B" }, 1181: { "value": "049D", "name": "CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA VERTICAL BAR", "comment": "", "uppercase_mapping": "049C", "lowercase_mapping": "", "titlecase_mapping": "049C", "symbol": "\u049D" }, 1183: { "value": "049F", "name": "CYRILLIC SMALL LETTER KA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA BAR", "comment": "", "uppercase_mapping": "049E", "lowercase_mapping": "", "titlecase_mapping": "049E", "symbol": "\u049F" }, 1185: { "value": "04A1", "name": "CYRILLIC SMALL LETTER BASHKIR KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED GE KA", "comment": "", "uppercase_mapping": "04A0", "lowercase_mapping": "", "titlecase_mapping": "04A0", "symbol": "\u04A1" }, 1187: { "value": "04A3", "name": "CYRILLIC SMALL LETTER EN WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04A2", "lowercase_mapping": "", "titlecase_mapping": "04A2", "symbol": "\u04A3" }, 1189: { "value": "04A5", "name": "CYRILLIC SMALL LIGATURE EN GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN GE", "comment": "", "uppercase_mapping": "04A4", "lowercase_mapping": "", "titlecase_mapping": "04A4", "symbol": "\u04A5" }, 1191: { "value": "04A7", "name": "CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER PE HOOK", "comment": "", "uppercase_mapping": "04A6", "lowercase_mapping": "", "titlecase_mapping": "04A6", "symbol": "\u04A7" }, 1193: { "value": "04A9", "name": "CYRILLIC SMALL LETTER ABKHASIAN HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER O HOOK", "comment": "", "uppercase_mapping": "04A8", "lowercase_mapping": "", "titlecase_mapping": "04A8", "symbol": "\u04A9" }, 1195: { "value": "04AB", "name": "CYRILLIC SMALL LETTER ES WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ES CEDILLA", "comment": "", "uppercase_mapping": "04AA", "lowercase_mapping": "", "titlecase_mapping": "04AA", "symbol": "\u04AB" }, 1197: { "value": "04AD", "name": "CYRILLIC SMALL LETTER TE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04AC", "lowercase_mapping": "", "titlecase_mapping": "04AC", "symbol": "\u04AD" }, 1199: { "value": "04AF", "name": "CYRILLIC SMALL LETTER STRAIGHT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04AE", "lowercase_mapping": "", "titlecase_mapping": "04AE", "symbol": "\u04AF" }, 1201: { "value": "04B1", "name": "CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER STRAIGHT U BAR", "comment": "", "uppercase_mapping": "04B0", "lowercase_mapping": "", "titlecase_mapping": "04B0", "symbol": "\u04B1" }, 1203: { "value": "04B3", "name": "CYRILLIC SMALL LETTER HA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B2", "lowercase_mapping": "", "titlecase_mapping": "04B2", "symbol": "\u04B3" }, 1205: { "value": "04B5", "name": "CYRILLIC SMALL LIGATURE TE TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE TSE", "comment": "", "uppercase_mapping": "04B4", "lowercase_mapping": "", "titlecase_mapping": "04B4", "symbol": "\u04B5" }, 1207: { "value": "04B7", "name": "CYRILLIC SMALL LETTER CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B6", "lowercase_mapping": "", "titlecase_mapping": "04B6", "symbol": "\u04B7" }, 1209: { "value": "04B9", "name": "CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE VERTICAL BAR", "comment": "", "uppercase_mapping": "04B8", "lowercase_mapping": "", "titlecase_mapping": "04B8", "symbol": "\u04B9" }, 1211: { "value": "04BB", "name": "CYRILLIC SMALL LETTER SHHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER H", "comment": "", "uppercase_mapping": "04BA", "lowercase_mapping": "", "titlecase_mapping": "04BA", "symbol": "\u04BB" }, 1213: { "value": "04BD", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK", "comment": "", "uppercase_mapping": "04BC", "lowercase_mapping": "", "titlecase_mapping": "04BC", "symbol": "\u04BD" }, 1215: { "value": "04BF", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK OGONEK", "comment": "", "uppercase_mapping": "04BE", "lowercase_mapping": "", "titlecase_mapping": "04BE", "symbol": "\u04BF" }, 1218: { "value": "04C2", "name": "CYRILLIC SMALL LETTER ZHE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT ZHE", "comment": "", "uppercase_mapping": "04C1", "lowercase_mapping": "", "titlecase_mapping": "04C1", "symbol": "\u04C2" }, 1220: { "value": "04C4", "name": "CYRILLIC SMALL LETTER KA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA HOOK", "comment": "", "uppercase_mapping": "04C3", "lowercase_mapping": "", "titlecase_mapping": "04C3", "symbol": "\u04C4" }, 1222: { "value": "04C6", "name": "CYRILLIC SMALL LETTER EL WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C5", "lowercase_mapping": "", "titlecase_mapping": "04C5", "symbol": "\u04C6" }, 1224: { "value": "04C8", "name": "CYRILLIC SMALL LETTER EN WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN HOOK", "comment": "", "uppercase_mapping": "04C7", "lowercase_mapping": "", "titlecase_mapping": "04C7", "symbol": "\u04C8" }, 1226: { "value": "04CA", "name": "CYRILLIC SMALL LETTER EN WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C9", "lowercase_mapping": "", "titlecase_mapping": "04C9", "symbol": "\u04CA" }, 1228: { "value": "04CC", "name": "CYRILLIC SMALL LETTER KHAKASSIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER", "comment": "", "uppercase_mapping": "04CB", "lowercase_mapping": "", "titlecase_mapping": "04CB", "symbol": "\u04CC" }, 1230: { "value": "04CE", "name": "CYRILLIC SMALL LETTER EM WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04CD", "lowercase_mapping": "", "titlecase_mapping": "04CD", "symbol": "\u04CE" }, 1231: { "value": "04CF", "name": "CYRILLIC SMALL LETTER PALOCHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C0", "lowercase_mapping": "", "titlecase_mapping": "04C0", "symbol": "\u04CF" }, 1233: { "value": "04D1", "name": "CYRILLIC SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D0", "lowercase_mapping": "", "titlecase_mapping": "04D0", "symbol": "\u04D1" }, 1235: { "value": "04D3", "name": "CYRILLIC SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D2", "lowercase_mapping": "", "titlecase_mapping": "04D2", "symbol": "\u04D3" }, 1237: { "value": "04D5", "name": "CYRILLIC SMALL LIGATURE A IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D4", "lowercase_mapping": "", "titlecase_mapping": "04D4", "symbol": "\u04D5" }, 1239: { "value": "04D7", "name": "CYRILLIC SMALL LETTER IE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D6", "lowercase_mapping": "", "titlecase_mapping": "04D6", "symbol": "\u04D7" }, 1241: { "value": "04D9", "name": "CYRILLIC SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D8", "lowercase_mapping": "", "titlecase_mapping": "04D8", "symbol": "\u04D9" }, 1243: { "value": "04DB", "name": "CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04D9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DA", "lowercase_mapping": "", "titlecase_mapping": "04DA", "symbol": "\u04DB" }, 1245: { "value": "04DD", "name": "CYRILLIC SMALL LETTER ZHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DC", "lowercase_mapping": "", "titlecase_mapping": "04DC", "symbol": "\u04DD" }, 1247: { "value": "04DF", "name": "CYRILLIC SMALL LETTER ZE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0437 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DE", "lowercase_mapping": "", "titlecase_mapping": "04DE", "symbol": "\u04DF" }, 1249: { "value": "04E1", "name": "CYRILLIC SMALL LETTER ABKHASIAN DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E0", "lowercase_mapping": "", "titlecase_mapping": "04E0", "symbol": "\u04E1" }, 1251: { "value": "04E3", "name": "CYRILLIC SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E2", "lowercase_mapping": "", "titlecase_mapping": "04E2", "symbol": "\u04E3" }, 1253: { "value": "04E5", "name": "CYRILLIC SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E4", "lowercase_mapping": "", "titlecase_mapping": "04E4", "symbol": "\u04E5" }, 1255: { "value": "04E7", "name": "CYRILLIC SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043E 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E6", "lowercase_mapping": "", "titlecase_mapping": "04E6", "symbol": "\u04E7" }, 1257: { "value": "04E9", "name": "CYRILLIC SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E8", "lowercase_mapping": "", "titlecase_mapping": "04E8", "symbol": "\u04E9" }, 1259: { "value": "04EB", "name": "CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04E9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EA", "lowercase_mapping": "", "titlecase_mapping": "04EA", "symbol": "\u04EB" }, 1261: { "value": "04ED", "name": "CYRILLIC SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044D 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EC", "lowercase_mapping": "", "titlecase_mapping": "04EC", "symbol": "\u04ED" }, 1263: { "value": "04EF", "name": "CYRILLIC SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EE", "lowercase_mapping": "", "titlecase_mapping": "04EE", "symbol": "\u04EF" }, 1265: { "value": "04F1", "name": "CYRILLIC SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F0", "lowercase_mapping": "", "titlecase_mapping": "04F0", "symbol": "\u04F1" }, 1267: { "value": "04F3", "name": "CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F2", "lowercase_mapping": "", "titlecase_mapping": "04F2", "symbol": "\u04F3" }, 1269: { "value": "04F5", "name": "CYRILLIC SMALL LETTER CHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0447 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F4", "lowercase_mapping": "", "titlecase_mapping": "04F4", "symbol": "\u04F5" }, 1271: { "value": "04F7", "name": "CYRILLIC SMALL LETTER GHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F6", "lowercase_mapping": "", "titlecase_mapping": "04F6", "symbol": "\u04F7" }, 1273: { "value": "04F9", "name": "CYRILLIC SMALL LETTER YERU WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F8", "lowercase_mapping": "", "titlecase_mapping": "04F8", "symbol": "\u04F9" }, 1275: { "value": "04FB", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FA", "lowercase_mapping": "", "titlecase_mapping": "04FA", "symbol": "\u04FB" }, 1277: { "value": "04FD", "name": "CYRILLIC SMALL LETTER HA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FC", "lowercase_mapping": "", "titlecase_mapping": "04FC", "symbol": "\u04FD" }, 1279: { "value": "04FF", "name": "CYRILLIC SMALL LETTER HA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FE", "lowercase_mapping": "", "titlecase_mapping": "04FE", "symbol": "\u04FF" }, 1281: { "value": "0501", "name": "CYRILLIC SMALL LETTER KOMI DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0500", "lowercase_mapping": "", "titlecase_mapping": "0500", "symbol": "\u0501" }, 1283: { "value": "0503", "name": "CYRILLIC SMALL LETTER KOMI DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0502", "lowercase_mapping": "", "titlecase_mapping": "0502", "symbol": "\u0503" }, 1285: { "value": "0505", "name": "CYRILLIC SMALL LETTER KOMI ZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0504", "lowercase_mapping": "", "titlecase_mapping": "0504", "symbol": "\u0505" }, 1287: { "value": "0507", "name": "CYRILLIC SMALL LETTER KOMI DZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0506", "lowercase_mapping": "", "titlecase_mapping": "0506", "symbol": "\u0507" }, 1289: { "value": "0509", "name": "CYRILLIC SMALL LETTER KOMI LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0508", "lowercase_mapping": "", "titlecase_mapping": "0508", "symbol": "\u0509" }, 1291: { "value": "050B", "name": "CYRILLIC SMALL LETTER KOMI NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050A", "lowercase_mapping": "", "titlecase_mapping": "050A", "symbol": "\u050B" }, 1293: { "value": "050D", "name": "CYRILLIC SMALL LETTER KOMI SJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050C", "lowercase_mapping": "", "titlecase_mapping": "050C", "symbol": "\u050D" }, 1295: { "value": "050F", "name": "CYRILLIC SMALL LETTER KOMI TJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050E", "lowercase_mapping": "", "titlecase_mapping": "050E", "symbol": "\u050F" }, 1297: { "value": "0511", "name": "CYRILLIC SMALL LETTER REVERSED ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0510", "lowercase_mapping": "", "titlecase_mapping": "0510", "symbol": "\u0511" }, 1299: { "value": "0513", "name": "CYRILLIC SMALL LETTER EL WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0512", "lowercase_mapping": "", "titlecase_mapping": "0512", "symbol": "\u0513" }, 1301: { "value": "0515", "name": "CYRILLIC SMALL LETTER LHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0514", "lowercase_mapping": "", "titlecase_mapping": "0514", "symbol": "\u0515" }, 1303: { "value": "0517", "name": "CYRILLIC SMALL LETTER RHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0516", "lowercase_mapping": "", "titlecase_mapping": "0516", "symbol": "\u0517" }, 1305: { "value": "0519", "name": "CYRILLIC SMALL LETTER YAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0518", "lowercase_mapping": "", "titlecase_mapping": "0518", "symbol": "\u0519" }, 1307: { "value": "051B", "name": "CYRILLIC SMALL LETTER QA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051A", "lowercase_mapping": "", "titlecase_mapping": "051A", "symbol": "\u051B" }, 1309: { "value": "051D", "name": "CYRILLIC SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051C", "lowercase_mapping": "", "titlecase_mapping": "051C", "symbol": "\u051D" }, 1311: { "value": "051F", "name": "CYRILLIC SMALL LETTER ALEUT KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051E", "lowercase_mapping": "", "titlecase_mapping": "051E", "symbol": "\u051F" }, 1313: { "value": "0521", "name": "CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0520", "lowercase_mapping": "", "titlecase_mapping": "0520", "symbol": "\u0521" }, 1315: { "value": "0523", "name": "CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0522", "lowercase_mapping": "", "titlecase_mapping": "0522", "symbol": "\u0523" }, 1317: { "value": "0525", "name": "CYRILLIC SMALL LETTER PE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0524", "lowercase_mapping": "", "titlecase_mapping": "0524", "symbol": "\u0525" }, 1319: { "value": "0527", "name": "CYRILLIC SMALL LETTER SHHA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0526", "lowercase_mapping": "", "titlecase_mapping": "0526", "symbol": "\u0527" }, 1321: { "value": "0529", "name": "CYRILLIC SMALL LETTER EN WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0528", "lowercase_mapping": "", "titlecase_mapping": "0528", "symbol": "\u0529" }, 1323: { "value": "052B", "name": "CYRILLIC SMALL LETTER DZZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052A", "lowercase_mapping": "", "titlecase_mapping": "052A", "symbol": "\u052B" }, 1325: { "value": "052D", "name": "CYRILLIC SMALL LETTER DCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052C", "lowercase_mapping": "", "titlecase_mapping": "052C", "symbol": "\u052D" }, 1327: { "value": "052F", "name": "CYRILLIC SMALL LETTER EL WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052E", "lowercase_mapping": "", "titlecase_mapping": "052E", "symbol": "\u052F" }, 1377: { "value": "0561", "name": "ARMENIAN SMALL LETTER AYB", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0531", "lowercase_mapping": "", "titlecase_mapping": "0531", "symbol": "\u0561" }, 1378: { "value": "0562", "name": "ARMENIAN SMALL LETTER BEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0532", "lowercase_mapping": "", "titlecase_mapping": "0532", "symbol": "\u0562" }, 1379: { "value": "0563", "name": "ARMENIAN SMALL LETTER GIM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0533", "lowercase_mapping": "", "titlecase_mapping": "0533", "symbol": "\u0563" }, 1380: { "value": "0564", "name": "ARMENIAN SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0534", "lowercase_mapping": "", "titlecase_mapping": "0534", "symbol": "\u0564" }, 1381: { "value": "0565", "name": "ARMENIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0535", "lowercase_mapping": "", "titlecase_mapping": "0535", "symbol": "\u0565" }, 1382: { "value": "0566", "name": "ARMENIAN SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0536", "lowercase_mapping": "", "titlecase_mapping": "0536", "symbol": "\u0566" }, 1383: { "value": "0567", "name": "ARMENIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0537", "lowercase_mapping": "", "titlecase_mapping": "0537", "symbol": "\u0567" }, 1384: { "value": "0568", "name": "ARMENIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0538", "lowercase_mapping": "", "titlecase_mapping": "0538", "symbol": "\u0568" }, 1385: { "value": "0569", "name": "ARMENIAN SMALL LETTER TO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0539", "lowercase_mapping": "", "titlecase_mapping": "0539", "symbol": "\u0569" }, 1386: { "value": "056A", "name": "ARMENIAN SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053A", "lowercase_mapping": "", "titlecase_mapping": "053A", "symbol": "\u056A" }, 1387: { "value": "056B", "name": "ARMENIAN SMALL LETTER INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053B", "lowercase_mapping": "", "titlecase_mapping": "053B", "symbol": "\u056B" }, 1388: { "value": "056C", "name": "ARMENIAN SMALL LETTER LIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053C", "lowercase_mapping": "", "titlecase_mapping": "053C", "symbol": "\u056C" }, 1389: { "value": "056D", "name": "ARMENIAN SMALL LETTER XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053D", "lowercase_mapping": "", "titlecase_mapping": "053D", "symbol": "\u056D" }, 1390: { "value": "056E", "name": "ARMENIAN SMALL LETTER CA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053E", "lowercase_mapping": "", "titlecase_mapping": "053E", "symbol": "\u056E" }, 1391: { "value": "056F", "name": "ARMENIAN SMALL LETTER KEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053F", "lowercase_mapping": "", "titlecase_mapping": "053F", "symbol": "\u056F" }, 1392: { "value": "0570", "name": "ARMENIAN SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0540", "lowercase_mapping": "", "titlecase_mapping": "0540", "symbol": "\u0570" }, 1393: { "value": "0571", "name": "ARMENIAN SMALL LETTER JA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0541", "lowercase_mapping": "", "titlecase_mapping": "0541", "symbol": "\u0571" }, 1394: { "value": "0572", "name": "ARMENIAN SMALL LETTER GHAD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "ARMENIAN SMALL LETTER LAD", "comment": "", "uppercase_mapping": "0542", "lowercase_mapping": "", "titlecase_mapping": "0542", "symbol": "\u0572" }, 1395: { "value": "0573", "name": "ARMENIAN SMALL LETTER CHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0543", "lowercase_mapping": "", "titlecase_mapping": "0543", "symbol": "\u0573" }, 1396: { "value": "0574", "name": "ARMENIAN SMALL LETTER MEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0544", "lowercase_mapping": "", "titlecase_mapping": "0544", "symbol": "\u0574" }, 1397: { "value": "0575", "name": "ARMENIAN SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0545", "lowercase_mapping": "", "titlecase_mapping": "0545", "symbol": "\u0575" }, 1398: { "value": "0576", "name": "ARMENIAN SMALL LETTER NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0546", "lowercase_mapping": "", "titlecase_mapping": "0546", "symbol": "\u0576" }, 1399: { "value": "0577", "name": "ARMENIAN SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0547", "lowercase_mapping": "", "titlecase_mapping": "0547", "symbol": "\u0577" }, 1400: { "value": "0578", "name": "ARMENIAN SMALL LETTER VO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0548", "lowercase_mapping": "", "titlecase_mapping": "0548", "symbol": "\u0578" }, 1401: { "value": "0579", "name": "ARMENIAN SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0549", "lowercase_mapping": "", "titlecase_mapping": "0549", "symbol": "\u0579" }, 1402: { "value": "057A", "name": "ARMENIAN SMALL LETTER PEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054A", "lowercase_mapping": "", "titlecase_mapping": "054A", "symbol": "\u057A" }, 1403: { "value": "057B", "name": "ARMENIAN SMALL LETTER JHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054B", "lowercase_mapping": "", "titlecase_mapping": "054B", "symbol": "\u057B" }, 1404: { "value": "057C", "name": "ARMENIAN SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054C", "lowercase_mapping": "", "titlecase_mapping": "054C", "symbol": "\u057C" }, 1405: { "value": "057D", "name": "ARMENIAN SMALL LETTER SEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054D", "lowercase_mapping": "", "titlecase_mapping": "054D", "symbol": "\u057D" }, 1406: { "value": "057E", "name": "ARMENIAN SMALL LETTER VEW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054E", "lowercase_mapping": "", "titlecase_mapping": "054E", "symbol": "\u057E" }, 1407: { "value": "057F", "name": "ARMENIAN SMALL LETTER TIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054F", "lowercase_mapping": "", "titlecase_mapping": "054F", "symbol": "\u057F" }, 1408: { "value": "0580", "name": "ARMENIAN SMALL LETTER REH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0550", "lowercase_mapping": "", "titlecase_mapping": "0550", "symbol": "\u0580" }, 1409: { "value": "0581", "name": "ARMENIAN SMALL LETTER CO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0551", "lowercase_mapping": "", "titlecase_mapping": "0551", "symbol": "\u0581" }, 1410: { "value": "0582", "name": "ARMENIAN SMALL LETTER YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0552", "lowercase_mapping": "", "titlecase_mapping": "0552", "symbol": "\u0582" }, 1411: { "value": "0583", "name": "ARMENIAN SMALL LETTER PIWR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0553", "lowercase_mapping": "", "titlecase_mapping": "0553", "symbol": "\u0583" }, 1412: { "value": "0584", "name": "ARMENIAN SMALL LETTER KEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0554", "lowercase_mapping": "", "titlecase_mapping": "0554", "symbol": "\u0584" }, 1413: { "value": "0585", "name": "ARMENIAN SMALL LETTER OH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0555", "lowercase_mapping": "", "titlecase_mapping": "0555", "symbol": "\u0585" }, 1414: { "value": "0586", "name": "ARMENIAN SMALL LETTER FEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0556", "lowercase_mapping": "", "titlecase_mapping": "0556", "symbol": "\u0586" }, 1415: { "value": "0587", "name": "ARMENIAN SMALL LIGATURE ECH YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0565 0582", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0587" }, 5112: { "value": "13F8", "name": "CHEROKEE SMALL LETTER YE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F0", "lowercase_mapping": "", "titlecase_mapping": "13F0", "symbol": "\u13F8" }, 5113: { "value": "13F9", "name": "CHEROKEE SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F1", "lowercase_mapping": "", "titlecase_mapping": "13F1", "symbol": "\u13F9" }, 5114: { "value": "13FA", "name": "CHEROKEE SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F2", "lowercase_mapping": "", "titlecase_mapping": "13F2", "symbol": "\u13FA" }, 5115: { "value": "13FB", "name": "CHEROKEE SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F3", "lowercase_mapping": "", "titlecase_mapping": "13F3", "symbol": "\u13FB" }, 5116: { "value": "13FC", "name": "CHEROKEE SMALL LETTER YV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F4", "lowercase_mapping": "", "titlecase_mapping": "13F4", "symbol": "\u13FC" }, 5117: { "value": "13FD", "name": "CHEROKEE SMALL LETTER MV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F5", "lowercase_mapping": "", "titlecase_mapping": "13F5", "symbol": "\u13FD" }, 7296: { "value": "1C80", "name": "CYRILLIC SMALL LETTER ROUNDED VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u1C80" }, 7297: { "value": "1C81", "name": "CYRILLIC SMALL LETTER LONG-LEGGED DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u1C81" }, 7298: { "value": "1C82", "name": "CYRILLIC SMALL LETTER NARROW O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u1C82" }, 7299: { "value": "1C83", "name": "CYRILLIC SMALL LETTER WIDE ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u1C83" }, 7300: { "value": "1C84", "name": "CYRILLIC SMALL LETTER TALL TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C84" }, 7301: { "value": "1C85", "name": "CYRILLIC SMALL LETTER THREE-LEGGED TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C85" }, 7302: { "value": "1C86", "name": "CYRILLIC SMALL LETTER TALL HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u1C86" }, 7303: { "value": "1C87", "name": "CYRILLIC SMALL LETTER TALL YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u1C87" }, 7304: { "value": "1C88", "name": "CYRILLIC SMALL LETTER UNBLENDED UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\u1C88" }, 7424: { "value": "1D00", "name": "LATIN LETTER SMALL CAPITAL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D00" }, 7425: { "value": "1D01", "name": "LATIN LETTER SMALL CAPITAL AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D01" }, 7426: { "value": "1D02", "name": "LATIN SMALL LETTER TURNED AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D02" }, 7427: { "value": "1D03", "name": "LATIN LETTER SMALL CAPITAL BARRED B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D03" }, 7428: { "value": "1D04", "name": "LATIN LETTER SMALL CAPITAL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D04" }, 7429: { "value": "1D05", "name": "LATIN LETTER SMALL CAPITAL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D05" }, 7430: { "value": "1D06", "name": "LATIN LETTER SMALL CAPITAL ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D06" }, 7431: { "value": "1D07", "name": "LATIN LETTER SMALL CAPITAL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D07" }, 7432: { "value": "1D08", "name": "LATIN SMALL LETTER TURNED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D08" }, 7433: { "value": "1D09", "name": "LATIN SMALL LETTER TURNED I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D09" }, 7434: { "value": "1D0A", "name": "LATIN LETTER SMALL CAPITAL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0A" }, 7435: { "value": "1D0B", "name": "LATIN LETTER SMALL CAPITAL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0B" }, 7436: { "value": "1D0C", "name": "LATIN LETTER SMALL CAPITAL L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0C" }, 7437: { "value": "1D0D", "name": "LATIN LETTER SMALL CAPITAL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0D" }, 7438: { "value": "1D0E", "name": "LATIN LETTER SMALL CAPITAL REVERSED N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0E" }, 7439: { "value": "1D0F", "name": "LATIN LETTER SMALL CAPITAL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0F" }, 7440: { "value": "1D10", "name": "LATIN LETTER SMALL CAPITAL OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D10" }, 7441: { "value": "1D11", "name": "LATIN SMALL LETTER SIDEWAYS O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D11" }, 7442: { "value": "1D12", "name": "LATIN SMALL LETTER SIDEWAYS OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D12" }, 7443: { "value": "1D13", "name": "LATIN SMALL LETTER SIDEWAYS O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D13" }, 7444: { "value": "1D14", "name": "LATIN SMALL LETTER TURNED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D14" }, 7445: { "value": "1D15", "name": "LATIN LETTER SMALL CAPITAL OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D15" }, 7446: { "value": "1D16", "name": "LATIN SMALL LETTER TOP HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D16" }, 7447: { "value": "1D17", "name": "LATIN SMALL LETTER BOTTOM HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D17" }, 7448: { "value": "1D18", "name": "LATIN LETTER SMALL CAPITAL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D18" }, 7449: { "value": "1D19", "name": "LATIN LETTER SMALL CAPITAL REVERSED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D19" }, 7450: { "value": "1D1A", "name": "LATIN LETTER SMALL CAPITAL TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1A" }, 7451: { "value": "1D1B", "name": "LATIN LETTER SMALL CAPITAL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1B" }, 7452: { "value": "1D1C", "name": "LATIN LETTER SMALL CAPITAL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1C" }, 7453: { "value": "1D1D", "name": "LATIN SMALL LETTER SIDEWAYS U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1D" }, 7454: { "value": "1D1E", "name": "LATIN SMALL LETTER SIDEWAYS DIAERESIZED U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1E" }, 7455: { "value": "1D1F", "name": "LATIN SMALL LETTER SIDEWAYS TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1F" }, 7456: { "value": "1D20", "name": "LATIN LETTER SMALL CAPITAL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D20" }, 7457: { "value": "1D21", "name": "LATIN LETTER SMALL CAPITAL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D21" }, 7458: { "value": "1D22", "name": "LATIN LETTER SMALL CAPITAL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D22" }, 7459: { "value": "1D23", "name": "LATIN LETTER SMALL CAPITAL EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D23" }, 7460: { "value": "1D24", "name": "LATIN LETTER VOICED LARYNGEAL SPIRANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D24" }, 7461: { "value": "1D25", "name": "LATIN LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D25" }, 7462: { "value": "1D26", "name": "GREEK LETTER SMALL CAPITAL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D26" }, 7463: { "value": "1D27", "name": "GREEK LETTER SMALL CAPITAL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D27" }, 7464: { "value": "1D28", "name": "GREEK LETTER SMALL CAPITAL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D28" }, 7465: { "value": "1D29", "name": "GREEK LETTER SMALL CAPITAL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D29" }, 7466: { "value": "1D2A", "name": "GREEK LETTER SMALL CAPITAL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2A" }, 7467: { "value": "1D2B", "name": "CYRILLIC LETTER SMALL CAPITAL EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2B" }, 7531: { "value": "1D6B", "name": "LATIN SMALL LETTER UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6B" }, 7532: { "value": "1D6C", "name": "LATIN SMALL LETTER B WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6C" }, 7533: { "value": "1D6D", "name": "LATIN SMALL LETTER D WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6D" }, 7534: { "value": "1D6E", "name": "LATIN SMALL LETTER F WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6E" }, 7535: { "value": "1D6F", "name": "LATIN SMALL LETTER M WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6F" }, 7536: { "value": "1D70", "name": "LATIN SMALL LETTER N WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D70" }, 7537: { "value": "1D71", "name": "LATIN SMALL LETTER P WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D71" }, 7538: { "value": "1D72", "name": "LATIN SMALL LETTER R WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D72" }, 7539: { "value": "1D73", "name": "LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D73" }, 7540: { "value": "1D74", "name": "LATIN SMALL LETTER S WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D74" }, 7541: { "value": "1D75", "name": "LATIN SMALL LETTER T WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D75" }, 7542: { "value": "1D76", "name": "LATIN SMALL LETTER Z WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D76" }, 7543: { "value": "1D77", "name": "LATIN SMALL LETTER TURNED G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D77" }, 7545: { "value": "1D79", "name": "LATIN SMALL LETTER INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77D", "lowercase_mapping": "", "titlecase_mapping": "A77D", "symbol": "\u1D79" }, 7546: { "value": "1D7A", "name": "LATIN SMALL LETTER TH WITH STRIKETHROUGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7A" }, 7547: { "value": "1D7B", "name": "LATIN SMALL CAPITAL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7B" }, 7548: { "value": "1D7C", "name": "LATIN SMALL LETTER IOTA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7C" }, 7549: { "value": "1D7D", "name": "LATIN SMALL LETTER P WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C63", "lowercase_mapping": "", "titlecase_mapping": "2C63", "symbol": "\u1D7D" }, 7550: { "value": "1D7E", "name": "LATIN SMALL CAPITAL LETTER U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7E" }, 7551: { "value": "1D7F", "name": "LATIN SMALL LETTER UPSILON WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7F" }, 7552: { "value": "1D80", "name": "LATIN SMALL LETTER B WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D80" }, 7553: { "value": "1D81", "name": "LATIN SMALL LETTER D WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D81" }, 7554: { "value": "1D82", "name": "LATIN SMALL LETTER F WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D82" }, 7555: { "value": "1D83", "name": "LATIN SMALL LETTER G WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D83" }, 7556: { "value": "1D84", "name": "LATIN SMALL LETTER K WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D84" }, 7557: { "value": "1D85", "name": "LATIN SMALL LETTER L WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D85" }, 7558: { "value": "1D86", "name": "LATIN SMALL LETTER M WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D86" }, 7559: { "value": "1D87", "name": "LATIN SMALL LETTER N WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D87" }, 7560: { "value": "1D88", "name": "LATIN SMALL LETTER P WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D88" }, 7561: { "value": "1D89", "name": "LATIN SMALL LETTER R WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D89" }, 7562: { "value": "1D8A", "name": "LATIN SMALL LETTER S WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8A" }, 7563: { "value": "1D8B", "name": "LATIN SMALL LETTER ESH WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8B" }, 7564: { "value": "1D8C", "name": "LATIN SMALL LETTER V WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8C" }, 7565: { "value": "1D8D", "name": "LATIN SMALL LETTER X WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8D" }, 7566: { "value": "1D8E", "name": "LATIN SMALL LETTER Z WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8E" }, 7567: { "value": "1D8F", "name": "LATIN SMALL LETTER A WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8F" }, 7568: { "value": "1D90", "name": "LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D90" }, 7569: { "value": "1D91", "name": "LATIN SMALL LETTER D WITH HOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D91" }, 7570: { "value": "1D92", "name": "LATIN SMALL LETTER E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D92" }, 7571: { "value": "1D93", "name": "LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D93" }, 7572: { "value": "1D94", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D94" }, 7573: { "value": "1D95", "name": "LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D95" }, 7574: { "value": "1D96", "name": "LATIN SMALL LETTER I WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D96" }, 7575: { "value": "1D97", "name": "LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D97" }, 7576: { "value": "1D98", "name": "LATIN SMALL LETTER ESH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D98" }, 7577: { "value": "1D99", "name": "LATIN SMALL LETTER U WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D99" }, 7578: { "value": "1D9A", "name": "LATIN SMALL LETTER EZH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D9A" }, 7681: { "value": "1E01", "name": "LATIN SMALL LETTER A WITH RING BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0325", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E00", "lowercase_mapping": "", "titlecase_mapping": "1E00", "symbol": "\u1E01" }, 7683: { "value": "1E03", "name": "LATIN SMALL LETTER B WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E02", "lowercase_mapping": "", "titlecase_mapping": "1E02", "symbol": "\u1E03" }, 7685: { "value": "1E05", "name": "LATIN SMALL LETTER B WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E04", "lowercase_mapping": "", "titlecase_mapping": "1E04", "symbol": "\u1E05" }, 7687: { "value": "1E07", "name": "LATIN SMALL LETTER B WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E06", "lowercase_mapping": "", "titlecase_mapping": "1E06", "symbol": "\u1E07" }, 7689: { "value": "1E09", "name": "LATIN SMALL LETTER C WITH CEDILLA AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E08", "lowercase_mapping": "", "titlecase_mapping": "1E08", "symbol": "\u1E09" }, 7691: { "value": "1E0B", "name": "LATIN SMALL LETTER D WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0A", "lowercase_mapping": "", "titlecase_mapping": "1E0A", "symbol": "\u1E0B" }, 7693: { "value": "1E0D", "name": "LATIN SMALL LETTER D WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0C", "lowercase_mapping": "", "titlecase_mapping": "1E0C", "symbol": "\u1E0D" }, 7695: { "value": "1E0F", "name": "LATIN SMALL LETTER D WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0E", "lowercase_mapping": "", "titlecase_mapping": "1E0E", "symbol": "\u1E0F" }, 7697: { "value": "1E11", "name": "LATIN SMALL LETTER D WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E10", "lowercase_mapping": "", "titlecase_mapping": "1E10", "symbol": "\u1E11" }, 7699: { "value": "1E13", "name": "LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E12", "lowercase_mapping": "", "titlecase_mapping": "1E12", "symbol": "\u1E13" }, 7701: { "value": "1E15", "name": "LATIN SMALL LETTER E WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E14", "lowercase_mapping": "", "titlecase_mapping": "1E14", "symbol": "\u1E15" }, 7703: { "value": "1E17", "name": "LATIN SMALL LETTER E WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E16", "lowercase_mapping": "", "titlecase_mapping": "1E16", "symbol": "\u1E17" }, 7705: { "value": "1E19", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E18", "lowercase_mapping": "", "titlecase_mapping": "1E18", "symbol": "\u1E19" }, 7707: { "value": "1E1B", "name": "LATIN SMALL LETTER E WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1A", "lowercase_mapping": "", "titlecase_mapping": "1E1A", "symbol": "\u1E1B" }, 7709: { "value": "1E1D", "name": "LATIN SMALL LETTER E WITH CEDILLA AND BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0229 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1C", "lowercase_mapping": "", "titlecase_mapping": "1E1C", "symbol": "\u1E1D" }, 7711: { "value": "1E1F", "name": "LATIN SMALL LETTER F WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0066 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1E", "lowercase_mapping": "", "titlecase_mapping": "1E1E", "symbol": "\u1E1F" }, 7713: { "value": "1E21", "name": "LATIN SMALL LETTER G WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E20", "lowercase_mapping": "", "titlecase_mapping": "1E20", "symbol": "\u1E21" }, 7715: { "value": "1E23", "name": "LATIN SMALL LETTER H WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E22", "lowercase_mapping": "", "titlecase_mapping": "1E22", "symbol": "\u1E23" }, 7717: { "value": "1E25", "name": "LATIN SMALL LETTER H WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E24", "lowercase_mapping": "", "titlecase_mapping": "1E24", "symbol": "\u1E25" }, 7719: { "value": "1E27", "name": "LATIN SMALL LETTER H WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E26", "lowercase_mapping": "", "titlecase_mapping": "1E26", "symbol": "\u1E27" }, 7721: { "value": "1E29", "name": "LATIN SMALL LETTER H WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E28", "lowercase_mapping": "", "titlecase_mapping": "1E28", "symbol": "\u1E29" }, 7723: { "value": "1E2B", "name": "LATIN SMALL LETTER H WITH BREVE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 032E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2A", "lowercase_mapping": "", "titlecase_mapping": "1E2A", "symbol": "\u1E2B" }, 7725: { "value": "1E2D", "name": "LATIN SMALL LETTER I WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2C", "lowercase_mapping": "", "titlecase_mapping": "1E2C", "symbol": "\u1E2D" }, 7727: { "value": "1E2F", "name": "LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2E", "lowercase_mapping": "", "titlecase_mapping": "1E2E", "symbol": "\u1E2F" }, 7729: { "value": "1E31", "name": "LATIN SMALL LETTER K WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E30", "lowercase_mapping": "", "titlecase_mapping": "1E30", "symbol": "\u1E31" }, 7731: { "value": "1E33", "name": "LATIN SMALL LETTER K WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E32", "lowercase_mapping": "", "titlecase_mapping": "1E32", "symbol": "\u1E33" }, 7733: { "value": "1E35", "name": "LATIN SMALL LETTER K WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E34", "lowercase_mapping": "", "titlecase_mapping": "1E34", "symbol": "\u1E35" }, 7735: { "value": "1E37", "name": "LATIN SMALL LETTER L WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E36", "lowercase_mapping": "", "titlecase_mapping": "1E36", "symbol": "\u1E37" }, 7737: { "value": "1E39", "name": "LATIN SMALL LETTER L WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E37 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E38", "lowercase_mapping": "", "titlecase_mapping": "1E38", "symbol": "\u1E39" }, 7739: { "value": "1E3B", "name": "LATIN SMALL LETTER L WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3A", "lowercase_mapping": "", "titlecase_mapping": "1E3A", "symbol": "\u1E3B" }, 7741: { "value": "1E3D", "name": "LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3C", "lowercase_mapping": "", "titlecase_mapping": "1E3C", "symbol": "\u1E3D" }, 7743: { "value": "1E3F", "name": "LATIN SMALL LETTER M WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3E", "lowercase_mapping": "", "titlecase_mapping": "1E3E", "symbol": "\u1E3F" }, 7745: { "value": "1E41", "name": "LATIN SMALL LETTER M WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E40", "lowercase_mapping": "", "titlecase_mapping": "1E40", "symbol": "\u1E41" }, 7747: { "value": "1E43", "name": "LATIN SMALL LETTER M WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E42", "lowercase_mapping": "", "titlecase_mapping": "1E42", "symbol": "\u1E43" }, 7749: { "value": "1E45", "name": "LATIN SMALL LETTER N WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E44", "lowercase_mapping": "", "titlecase_mapping": "1E44", "symbol": "\u1E45" }, 7751: { "value": "1E47", "name": "LATIN SMALL LETTER N WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E46", "lowercase_mapping": "", "titlecase_mapping": "1E46", "symbol": "\u1E47" }, 7753: { "value": "1E49", "name": "LATIN SMALL LETTER N WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E48", "lowercase_mapping": "", "titlecase_mapping": "1E48", "symbol": "\u1E49" }, 7755: { "value": "1E4B", "name": "LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4A", "lowercase_mapping": "", "titlecase_mapping": "1E4A", "symbol": "\u1E4B" }, 7757: { "value": "1E4D", "name": "LATIN SMALL LETTER O WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4C", "lowercase_mapping": "", "titlecase_mapping": "1E4C", "symbol": "\u1E4D" }, 7759: { "value": "1E4F", "name": "LATIN SMALL LETTER O WITH TILDE AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4E", "lowercase_mapping": "", "titlecase_mapping": "1E4E", "symbol": "\u1E4F" }, 7761: { "value": "1E51", "name": "LATIN SMALL LETTER O WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E50", "lowercase_mapping": "", "titlecase_mapping": "1E50", "symbol": "\u1E51" }, 7763: { "value": "1E53", "name": "LATIN SMALL LETTER O WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E52", "lowercase_mapping": "", "titlecase_mapping": "1E52", "symbol": "\u1E53" }, 7765: { "value": "1E55", "name": "LATIN SMALL LETTER P WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E54", "lowercase_mapping": "", "titlecase_mapping": "1E54", "symbol": "\u1E55" }, 7767: { "value": "1E57", "name": "LATIN SMALL LETTER P WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E56", "lowercase_mapping": "", "titlecase_mapping": "1E56", "symbol": "\u1E57" }, 7769: { "value": "1E59", "name": "LATIN SMALL LETTER R WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E58", "lowercase_mapping": "", "titlecase_mapping": "1E58", "symbol": "\u1E59" }, 7771: { "value": "1E5B", "name": "LATIN SMALL LETTER R WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5A", "lowercase_mapping": "", "titlecase_mapping": "1E5A", "symbol": "\u1E5B" }, 7773: { "value": "1E5D", "name": "LATIN SMALL LETTER R WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E5B 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5C", "lowercase_mapping": "", "titlecase_mapping": "1E5C", "symbol": "\u1E5D" }, 7775: { "value": "1E5F", "name": "LATIN SMALL LETTER R WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5E", "lowercase_mapping": "", "titlecase_mapping": "1E5E", "symbol": "\u1E5F" }, 7777: { "value": "1E61", "name": "LATIN SMALL LETTER S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E61" }, 7779: { "value": "1E63", "name": "LATIN SMALL LETTER S WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E62", "lowercase_mapping": "", "titlecase_mapping": "1E62", "symbol": "\u1E63" }, 7781: { "value": "1E65", "name": "LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "015B 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E64", "lowercase_mapping": "", "titlecase_mapping": "1E64", "symbol": "\u1E65" }, 7783: { "value": "1E67", "name": "LATIN SMALL LETTER S WITH CARON AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0161 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E66", "lowercase_mapping": "", "titlecase_mapping": "1E66", "symbol": "\u1E67" }, 7785: { "value": "1E69", "name": "LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E63 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E68", "lowercase_mapping": "", "titlecase_mapping": "1E68", "symbol": "\u1E69" }, 7787: { "value": "1E6B", "name": "LATIN SMALL LETTER T WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6A", "lowercase_mapping": "", "titlecase_mapping": "1E6A", "symbol": "\u1E6B" }, 7789: { "value": "1E6D", "name": "LATIN SMALL LETTER T WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6C", "lowercase_mapping": "", "titlecase_mapping": "1E6C", "symbol": "\u1E6D" }, 7791: { "value": "1E6F", "name": "LATIN SMALL LETTER T WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6E", "lowercase_mapping": "", "titlecase_mapping": "1E6E", "symbol": "\u1E6F" }, 7793: { "value": "1E71", "name": "LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E70", "lowercase_mapping": "", "titlecase_mapping": "1E70", "symbol": "\u1E71" }, 7795: { "value": "1E73", "name": "LATIN SMALL LETTER U WITH DIAERESIS BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0324", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E72", "lowercase_mapping": "", "titlecase_mapping": "1E72", "symbol": "\u1E73" }, 7797: { "value": "1E75", "name": "LATIN SMALL LETTER U WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E74", "lowercase_mapping": "", "titlecase_mapping": "1E74", "symbol": "\u1E75" }, 7799: { "value": "1E77", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E76", "lowercase_mapping": "", "titlecase_mapping": "1E76", "symbol": "\u1E77" }, 7801: { "value": "1E79", "name": "LATIN SMALL LETTER U WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0169 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E78", "lowercase_mapping": "", "titlecase_mapping": "1E78", "symbol": "\u1E79" }, 7803: { "value": "1E7B", "name": "LATIN SMALL LETTER U WITH MACRON AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "016B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7A", "lowercase_mapping": "", "titlecase_mapping": "1E7A", "symbol": "\u1E7B" }, 7805: { "value": "1E7D", "name": "LATIN SMALL LETTER V WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7C", "lowercase_mapping": "", "titlecase_mapping": "1E7C", "symbol": "\u1E7D" }, 7807: { "value": "1E7F", "name": "LATIN SMALL LETTER V WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7E", "lowercase_mapping": "", "titlecase_mapping": "1E7E", "symbol": "\u1E7F" }, 7809: { "value": "1E81", "name": "LATIN SMALL LETTER W WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E80", "lowercase_mapping": "", "titlecase_mapping": "1E80", "symbol": "\u1E81" }, 7811: { "value": "1E83", "name": "LATIN SMALL LETTER W WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E82", "lowercase_mapping": "", "titlecase_mapping": "1E82", "symbol": "\u1E83" }, 7813: { "value": "1E85", "name": "LATIN SMALL LETTER W WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E84", "lowercase_mapping": "", "titlecase_mapping": "1E84", "symbol": "\u1E85" }, 7815: { "value": "1E87", "name": "LATIN SMALL LETTER W WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E86", "lowercase_mapping": "", "titlecase_mapping": "1E86", "symbol": "\u1E87" }, 7817: { "value": "1E89", "name": "LATIN SMALL LETTER W WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E88", "lowercase_mapping": "", "titlecase_mapping": "1E88", "symbol": "\u1E89" }, 7819: { "value": "1E8B", "name": "LATIN SMALL LETTER X WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8A", "lowercase_mapping": "", "titlecase_mapping": "1E8A", "symbol": "\u1E8B" }, 7821: { "value": "1E8D", "name": "LATIN SMALL LETTER X WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8C", "lowercase_mapping": "", "titlecase_mapping": "1E8C", "symbol": "\u1E8D" }, 7823: { "value": "1E8F", "name": "LATIN SMALL LETTER Y WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8E", "lowercase_mapping": "", "titlecase_mapping": "1E8E", "symbol": "\u1E8F" }, 7825: { "value": "1E91", "name": "LATIN SMALL LETTER Z WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90", "lowercase_mapping": "", "titlecase_mapping": "1E90", "symbol": "\u1E91" }, 7827: { "value": "1E93", "name": "LATIN SMALL LETTER Z WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E92", "lowercase_mapping": "", "titlecase_mapping": "1E92", "symbol": "\u1E93" }, 7829: { "value": "1E95", "name": "LATIN SMALL LETTER Z WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E94", "lowercase_mapping": "", "titlecase_mapping": "1E94", "symbol": "\u1E95" }, 7830: { "value": "1E96", "name": "LATIN SMALL LETTER H WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E96" }, 7831: { "value": "1E97", "name": "LATIN SMALL LETTER T WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E97" }, 7832: { "value": "1E98", "name": "LATIN SMALL LETTER W WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E98" }, 7833: { "value": "1E99", "name": "LATIN SMALL LETTER Y WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E99" }, 7834: { "value": "1E9A", "name": "LATIN SMALL LETTER A WITH RIGHT HALF RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061 02BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9A" }, 7835: { "value": "1E9B", "name": "LATIN SMALL LETTER LONG S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "017F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E9B" }, 7836: { "value": "1E9C", "name": "LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9C" }, 7837: { "value": "1E9D", "name": "LATIN SMALL LETTER LONG S WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9D" }, 7839: { "value": "1E9F", "name": "LATIN SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9F" }, 7841: { "value": "1EA1", "name": "LATIN SMALL LETTER A WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA0", "lowercase_mapping": "", "titlecase_mapping": "1EA0", "symbol": "\u1EA1" }, 7843: { "value": "1EA3", "name": "LATIN SMALL LETTER A WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA2", "lowercase_mapping": "", "titlecase_mapping": "1EA2", "symbol": "\u1EA3" }, 7845: { "value": "1EA5", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA4", "lowercase_mapping": "", "titlecase_mapping": "1EA4", "symbol": "\u1EA5" }, 7847: { "value": "1EA7", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA6", "lowercase_mapping": "", "titlecase_mapping": "1EA6", "symbol": "\u1EA7" }, 7849: { "value": "1EA9", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA8", "lowercase_mapping": "", "titlecase_mapping": "1EA8", "symbol": "\u1EA9" }, 7851: { "value": "1EAB", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAA", "lowercase_mapping": "", "titlecase_mapping": "1EAA", "symbol": "\u1EAB" }, 7853: { "value": "1EAD", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAC", "lowercase_mapping": "", "titlecase_mapping": "1EAC", "symbol": "\u1EAD" }, 7855: { "value": "1EAF", "name": "LATIN SMALL LETTER A WITH BREVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAE", "lowercase_mapping": "", "titlecase_mapping": "1EAE", "symbol": "\u1EAF" }, 7857: { "value": "1EB1", "name": "LATIN SMALL LETTER A WITH BREVE AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB0", "lowercase_mapping": "", "titlecase_mapping": "1EB0", "symbol": "\u1EB1" }, 7859: { "value": "1EB3", "name": "LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB2", "lowercase_mapping": "", "titlecase_mapping": "1EB2", "symbol": "\u1EB3" }, 7861: { "value": "1EB5", "name": "LATIN SMALL LETTER A WITH BREVE AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB4", "lowercase_mapping": "", "titlecase_mapping": "1EB4", "symbol": "\u1EB5" }, 7863: { "value": "1EB7", "name": "LATIN SMALL LETTER A WITH BREVE AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB6", "lowercase_mapping": "", "titlecase_mapping": "1EB6", "symbol": "\u1EB7" }, 7865: { "value": "1EB9", "name": "LATIN SMALL LETTER E WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB8", "lowercase_mapping": "", "titlecase_mapping": "1EB8", "symbol": "\u1EB9" }, 7867: { "value": "1EBB", "name": "LATIN SMALL LETTER E WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBA", "lowercase_mapping": "", "titlecase_mapping": "1EBA", "symbol": "\u1EBB" }, 7869: { "value": "1EBD", "name": "LATIN SMALL LETTER E WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBC", "lowercase_mapping": "", "titlecase_mapping": "1EBC", "symbol": "\u1EBD" }, 7871: { "value": "1EBF", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBE", "lowercase_mapping": "", "titlecase_mapping": "1EBE", "symbol": "\u1EBF" }, 7873: { "value": "1EC1", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC0", "lowercase_mapping": "", "titlecase_mapping": "1EC0", "symbol": "\u1EC1" }, 7875: { "value": "1EC3", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC2", "lowercase_mapping": "", "titlecase_mapping": "1EC2", "symbol": "\u1EC3" }, 7877: { "value": "1EC5", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC4", "lowercase_mapping": "", "titlecase_mapping": "1EC4", "symbol": "\u1EC5" }, 7879: { "value": "1EC7", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EB9 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC6", "lowercase_mapping": "", "titlecase_mapping": "1EC6", "symbol": "\u1EC7" }, 7881: { "value": "1EC9", "name": "LATIN SMALL LETTER I WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC8", "lowercase_mapping": "", "titlecase_mapping": "1EC8", "symbol": "\u1EC9" }, 7883: { "value": "1ECB", "name": "LATIN SMALL LETTER I WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECA", "lowercase_mapping": "", "titlecase_mapping": "1ECA", "symbol": "\u1ECB" }, 7885: { "value": "1ECD", "name": "LATIN SMALL LETTER O WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECC", "lowercase_mapping": "", "titlecase_mapping": "1ECC", "symbol": "\u1ECD" }, 7887: { "value": "1ECF", "name": "LATIN SMALL LETTER O WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECE", "lowercase_mapping": "", "titlecase_mapping": "1ECE", "symbol": "\u1ECF" }, 7889: { "value": "1ED1", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED0", "lowercase_mapping": "", "titlecase_mapping": "1ED0", "symbol": "\u1ED1" }, 7891: { "value": "1ED3", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED2", "lowercase_mapping": "", "titlecase_mapping": "1ED2", "symbol": "\u1ED3" }, 7893: { "value": "1ED5", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED4", "lowercase_mapping": "", "titlecase_mapping": "1ED4", "symbol": "\u1ED5" }, 7895: { "value": "1ED7", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED6", "lowercase_mapping": "", "titlecase_mapping": "1ED6", "symbol": "\u1ED7" }, 7897: { "value": "1ED9", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1ECD 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED8", "lowercase_mapping": "", "titlecase_mapping": "1ED8", "symbol": "\u1ED9" }, 7899: { "value": "1EDB", "name": "LATIN SMALL LETTER O WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDA", "lowercase_mapping": "", "titlecase_mapping": "1EDA", "symbol": "\u1EDB" }, 7901: { "value": "1EDD", "name": "LATIN SMALL LETTER O WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDC", "lowercase_mapping": "", "titlecase_mapping": "1EDC", "symbol": "\u1EDD" }, 7903: { "value": "1EDF", "name": "LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDE", "lowercase_mapping": "", "titlecase_mapping": "1EDE", "symbol": "\u1EDF" }, 7905: { "value": "1EE1", "name": "LATIN SMALL LETTER O WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE0", "lowercase_mapping": "", "titlecase_mapping": "1EE0", "symbol": "\u1EE1" }, 7907: { "value": "1EE3", "name": "LATIN SMALL LETTER O WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE2", "lowercase_mapping": "", "titlecase_mapping": "1EE2", "symbol": "\u1EE3" }, 7909: { "value": "1EE5", "name": "LATIN SMALL LETTER U WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE4", "lowercase_mapping": "", "titlecase_mapping": "1EE4", "symbol": "\u1EE5" }, 7911: { "value": "1EE7", "name": "LATIN SMALL LETTER U WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE6", "lowercase_mapping": "", "titlecase_mapping": "1EE6", "symbol": "\u1EE7" }, 7913: { "value": "1EE9", "name": "LATIN SMALL LETTER U WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE8", "lowercase_mapping": "", "titlecase_mapping": "1EE8", "symbol": "\u1EE9" }, 7915: { "value": "1EEB", "name": "LATIN SMALL LETTER U WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEA", "lowercase_mapping": "", "titlecase_mapping": "1EEA", "symbol": "\u1EEB" }, 7917: { "value": "1EED", "name": "LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEC", "lowercase_mapping": "", "titlecase_mapping": "1EEC", "symbol": "\u1EED" }, 7919: { "value": "1EEF", "name": "LATIN SMALL LETTER U WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEE", "lowercase_mapping": "", "titlecase_mapping": "1EEE", "symbol": "\u1EEF" }, 7921: { "value": "1EF1", "name": "LATIN SMALL LETTER U WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF0", "lowercase_mapping": "", "titlecase_mapping": "1EF0", "symbol": "\u1EF1" }, 7923: { "value": "1EF3", "name": "LATIN SMALL LETTER Y WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF2", "lowercase_mapping": "", "titlecase_mapping": "1EF2", "symbol": "\u1EF3" }, 7925: { "value": "1EF5", "name": "LATIN SMALL LETTER Y WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF4", "lowercase_mapping": "", "titlecase_mapping": "1EF4", "symbol": "\u1EF5" }, 7927: { "value": "1EF7", "name": "LATIN SMALL LETTER Y WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF6", "lowercase_mapping": "", "titlecase_mapping": "1EF6", "symbol": "\u1EF7" }, 7929: { "value": "1EF9", "name": "LATIN SMALL LETTER Y WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF8", "lowercase_mapping": "", "titlecase_mapping": "1EF8", "symbol": "\u1EF9" }, 7931: { "value": "1EFB", "name": "LATIN SMALL LETTER MIDDLE-WELSH LL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFA", "lowercase_mapping": "", "titlecase_mapping": "1EFA", "symbol": "\u1EFB" }, 7933: { "value": "1EFD", "name": "LATIN SMALL LETTER MIDDLE-WELSH V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFC", "lowercase_mapping": "", "titlecase_mapping": "1EFC", "symbol": "\u1EFD" }, 7935: { "value": "1EFF", "name": "LATIN SMALL LETTER Y WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFE", "lowercase_mapping": "", "titlecase_mapping": "1EFE", "symbol": "\u1EFF" }, 7936: { "value": "1F00", "name": "GREEK SMALL LETTER ALPHA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F08", "lowercase_mapping": "", "titlecase_mapping": "1F08", "symbol": "\u1F00" }, 7937: { "value": "1F01", "name": "GREEK SMALL LETTER ALPHA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F09", "lowercase_mapping": "", "titlecase_mapping": "1F09", "symbol": "\u1F01" }, 7938: { "value": "1F02", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0A", "lowercase_mapping": "", "titlecase_mapping": "1F0A", "symbol": "\u1F02" }, 7939: { "value": "1F03", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0B", "lowercase_mapping": "", "titlecase_mapping": "1F0B", "symbol": "\u1F03" }, 7940: { "value": "1F04", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0C", "lowercase_mapping": "", "titlecase_mapping": "1F0C", "symbol": "\u1F04" }, 7941: { "value": "1F05", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0D", "lowercase_mapping": "", "titlecase_mapping": "1F0D", "symbol": "\u1F05" }, 7942: { "value": "1F06", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0E", "lowercase_mapping": "", "titlecase_mapping": "1F0E", "symbol": "\u1F06" }, 7943: { "value": "1F07", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0F", "lowercase_mapping": "", "titlecase_mapping": "1F0F", "symbol": "\u1F07" }, 7952: { "value": "1F10", "name": "GREEK SMALL LETTER EPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F18", "lowercase_mapping": "", "titlecase_mapping": "1F18", "symbol": "\u1F10" }, 7953: { "value": "1F11", "name": "GREEK SMALL LETTER EPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F19", "lowercase_mapping": "", "titlecase_mapping": "1F19", "symbol": "\u1F11" }, 7954: { "value": "1F12", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1A", "lowercase_mapping": "", "titlecase_mapping": "1F1A", "symbol": "\u1F12" }, 7955: { "value": "1F13", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1B", "lowercase_mapping": "", "titlecase_mapping": "1F1B", "symbol": "\u1F13" }, 7956: { "value": "1F14", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1C", "lowercase_mapping": "", "titlecase_mapping": "1F1C", "symbol": "\u1F14" }, 7957: { "value": "1F15", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1D", "lowercase_mapping": "", "titlecase_mapping": "1F1D", "symbol": "\u1F15" }, 7968: { "value": "1F20", "name": "GREEK SMALL LETTER ETA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F28", "lowercase_mapping": "", "titlecase_mapping": "1F28", "symbol": "\u1F20" }, 7969: { "value": "1F21", "name": "GREEK SMALL LETTER ETA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F29", "lowercase_mapping": "", "titlecase_mapping": "1F29", "symbol": "\u1F21" }, 7970: { "value": "1F22", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2A", "lowercase_mapping": "", "titlecase_mapping": "1F2A", "symbol": "\u1F22" }, 7971: { "value": "1F23", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2B", "lowercase_mapping": "", "titlecase_mapping": "1F2B", "symbol": "\u1F23" }, 7972: { "value": "1F24", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2C", "lowercase_mapping": "", "titlecase_mapping": "1F2C", "symbol": "\u1F24" }, 7973: { "value": "1F25", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2D", "lowercase_mapping": "", "titlecase_mapping": "1F2D", "symbol": "\u1F25" }, 7974: { "value": "1F26", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2E", "lowercase_mapping": "", "titlecase_mapping": "1F2E", "symbol": "\u1F26" }, 7975: { "value": "1F27", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2F", "lowercase_mapping": "", "titlecase_mapping": "1F2F", "symbol": "\u1F27" }, 7984: { "value": "1F30", "name": "GREEK SMALL LETTER IOTA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F38", "lowercase_mapping": "", "titlecase_mapping": "1F38", "symbol": "\u1F30" }, 7985: { "value": "1F31", "name": "GREEK SMALL LETTER IOTA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F39", "lowercase_mapping": "", "titlecase_mapping": "1F39", "symbol": "\u1F31" }, 7986: { "value": "1F32", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3A", "lowercase_mapping": "", "titlecase_mapping": "1F3A", "symbol": "\u1F32" }, 7987: { "value": "1F33", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3B", "lowercase_mapping": "", "titlecase_mapping": "1F3B", "symbol": "\u1F33" }, 7988: { "value": "1F34", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3C", "lowercase_mapping": "", "titlecase_mapping": "1F3C", "symbol": "\u1F34" }, 7989: { "value": "1F35", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3D", "lowercase_mapping": "", "titlecase_mapping": "1F3D", "symbol": "\u1F35" }, 7990: { "value": "1F36", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3E", "lowercase_mapping": "", "titlecase_mapping": "1F3E", "symbol": "\u1F36" }, 7991: { "value": "1F37", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3F", "lowercase_mapping": "", "titlecase_mapping": "1F3F", "symbol": "\u1F37" }, 8000: { "value": "1F40", "name": "GREEK SMALL LETTER OMICRON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F48", "lowercase_mapping": "", "titlecase_mapping": "1F48", "symbol": "\u1F40" }, 8001: { "value": "1F41", "name": "GREEK SMALL LETTER OMICRON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F49", "lowercase_mapping": "", "titlecase_mapping": "1F49", "symbol": "\u1F41" }, 8002: { "value": "1F42", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4A", "lowercase_mapping": "", "titlecase_mapping": "1F4A", "symbol": "\u1F42" }, 8003: { "value": "1F43", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4B", "lowercase_mapping": "", "titlecase_mapping": "1F4B", "symbol": "\u1F43" }, 8004: { "value": "1F44", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4C", "lowercase_mapping": "", "titlecase_mapping": "1F4C", "symbol": "\u1F44" }, 8005: { "value": "1F45", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4D", "lowercase_mapping": "", "titlecase_mapping": "1F4D", "symbol": "\u1F45" }, 8016: { "value": "1F50", "name": "GREEK SMALL LETTER UPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F50" }, 8017: { "value": "1F51", "name": "GREEK SMALL LETTER UPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F59", "lowercase_mapping": "", "titlecase_mapping": "1F59", "symbol": "\u1F51" }, 8018: { "value": "1F52", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F52" }, 8019: { "value": "1F53", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5B", "lowercase_mapping": "", "titlecase_mapping": "1F5B", "symbol": "\u1F53" }, 8020: { "value": "1F54", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F54" }, 8021: { "value": "1F55", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5D", "lowercase_mapping": "", "titlecase_mapping": "1F5D", "symbol": "\u1F55" }, 8022: { "value": "1F56", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F56" }, 8023: { "value": "1F57", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5F", "lowercase_mapping": "", "titlecase_mapping": "1F5F", "symbol": "\u1F57" }, 8032: { "value": "1F60", "name": "GREEK SMALL LETTER OMEGA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F68", "lowercase_mapping": "", "titlecase_mapping": "1F68", "symbol": "\u1F60" }, 8033: { "value": "1F61", "name": "GREEK SMALL LETTER OMEGA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F69", "lowercase_mapping": "", "titlecase_mapping": "1F69", "symbol": "\u1F61" }, 8034: { "value": "1F62", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6A", "lowercase_mapping": "", "titlecase_mapping": "1F6A", "symbol": "\u1F62" }, 8035: { "value": "1F63", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6B", "lowercase_mapping": "", "titlecase_mapping": "1F6B", "symbol": "\u1F63" }, 8036: { "value": "1F64", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6C", "lowercase_mapping": "", "titlecase_mapping": "1F6C", "symbol": "\u1F64" }, 8037: { "value": "1F65", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6D", "lowercase_mapping": "", "titlecase_mapping": "1F6D", "symbol": "\u1F65" }, 8038: { "value": "1F66", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6E", "lowercase_mapping": "", "titlecase_mapping": "1F6E", "symbol": "\u1F66" }, 8039: { "value": "1F67", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6F", "lowercase_mapping": "", "titlecase_mapping": "1F6F", "symbol": "\u1F67" }, 8048: { "value": "1F70", "name": "GREEK SMALL LETTER ALPHA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBA", "lowercase_mapping": "", "titlecase_mapping": "1FBA", "symbol": "\u1F70" }, 8049: { "value": "1F71", "name": "GREEK SMALL LETTER ALPHA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBB", "lowercase_mapping": "", "titlecase_mapping": "1FBB", "symbol": "\u1F71" }, 8050: { "value": "1F72", "name": "GREEK SMALL LETTER EPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC8", "lowercase_mapping": "", "titlecase_mapping": "1FC8", "symbol": "\u1F72" }, 8051: { "value": "1F73", "name": "GREEK SMALL LETTER EPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC9", "lowercase_mapping": "", "titlecase_mapping": "1FC9", "symbol": "\u1F73" }, 8052: { "value": "1F74", "name": "GREEK SMALL LETTER ETA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCA", "lowercase_mapping": "", "titlecase_mapping": "1FCA", "symbol": "\u1F74" }, 8053: { "value": "1F75", "name": "GREEK SMALL LETTER ETA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCB", "lowercase_mapping": "", "titlecase_mapping": "1FCB", "symbol": "\u1F75" }, 8054: { "value": "1F76", "name": "GREEK SMALL LETTER IOTA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDA", "lowercase_mapping": "", "titlecase_mapping": "1FDA", "symbol": "\u1F76" }, 8055: { "value": "1F77", "name": "GREEK SMALL LETTER IOTA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDB", "lowercase_mapping": "", "titlecase_mapping": "1FDB", "symbol": "\u1F77" }, 8056: { "value": "1F78", "name": "GREEK SMALL LETTER OMICRON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF8", "lowercase_mapping": "", "titlecase_mapping": "1FF8", "symbol": "\u1F78" }, 8057: { "value": "1F79", "name": "GREEK SMALL LETTER OMICRON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF9", "lowercase_mapping": "", "titlecase_mapping": "1FF9", "symbol": "\u1F79" }, 8058: { "value": "1F7A", "name": "GREEK SMALL LETTER UPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEA", "lowercase_mapping": "", "titlecase_mapping": "1FEA", "symbol": "\u1F7A" }, 8059: { "value": "1F7B", "name": "GREEK SMALL LETTER UPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEB", "lowercase_mapping": "", "titlecase_mapping": "1FEB", "symbol": "\u1F7B" }, 8060: { "value": "1F7C", "name": "GREEK SMALL LETTER OMEGA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFA", "lowercase_mapping": "", "titlecase_mapping": "1FFA", "symbol": "\u1F7C" }, 8061: { "value": "1F7D", "name": "GREEK SMALL LETTER OMEGA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFB", "lowercase_mapping": "", "titlecase_mapping": "1FFB", "symbol": "\u1F7D" }, 8064: { "value": "1F80", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F88", "lowercase_mapping": "", "titlecase_mapping": "1F88", "symbol": "\u1F80" }, 8065: { "value": "1F81", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F89", "lowercase_mapping": "", "titlecase_mapping": "1F89", "symbol": "\u1F81" }, 8066: { "value": "1F82", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F02 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8A", "lowercase_mapping": "", "titlecase_mapping": "1F8A", "symbol": "\u1F82" }, 8067: { "value": "1F83", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F03 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8B", "lowercase_mapping": "", "titlecase_mapping": "1F8B", "symbol": "\u1F83" }, 8068: { "value": "1F84", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F04 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8C", "lowercase_mapping": "", "titlecase_mapping": "1F8C", "symbol": "\u1F84" }, 8069: { "value": "1F85", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F05 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8D", "lowercase_mapping": "", "titlecase_mapping": "1F8D", "symbol": "\u1F85" }, 8070: { "value": "1F86", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F06 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8E", "lowercase_mapping": "", "titlecase_mapping": "1F8E", "symbol": "\u1F86" }, 8071: { "value": "1F87", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F07 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8F", "lowercase_mapping": "", "titlecase_mapping": "1F8F", "symbol": "\u1F87" }, 8080: { "value": "1F90", "name": "GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F98", "lowercase_mapping": "", "titlecase_mapping": "1F98", "symbol": "\u1F90" }, 8081: { "value": "1F91", "name": "GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F99", "lowercase_mapping": "", "titlecase_mapping": "1F99", "symbol": "\u1F91" }, 8082: { "value": "1F92", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F22 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9A", "lowercase_mapping": "", "titlecase_mapping": "1F9A", "symbol": "\u1F92" }, 8083: { "value": "1F93", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F23 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9B", "lowercase_mapping": "", "titlecase_mapping": "1F9B", "symbol": "\u1F93" }, 8084: { "value": "1F94", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F24 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9C", "lowercase_mapping": "", "titlecase_mapping": "1F9C", "symbol": "\u1F94" }, 8085: { "value": "1F95", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F25 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9D", "lowercase_mapping": "", "titlecase_mapping": "1F9D", "symbol": "\u1F95" }, 8086: { "value": "1F96", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F26 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9E", "lowercase_mapping": "", "titlecase_mapping": "1F9E", "symbol": "\u1F96" }, 8087: { "value": "1F97", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F27 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9F", "lowercase_mapping": "", "titlecase_mapping": "1F9F", "symbol": "\u1F97" }, 8096: { "value": "1FA0", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA8", "lowercase_mapping": "", "titlecase_mapping": "1FA8", "symbol": "\u1FA0" }, 8097: { "value": "1FA1", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA9", "lowercase_mapping": "", "titlecase_mapping": "1FA9", "symbol": "\u1FA1" }, 8098: { "value": "1FA2", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F62 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAA", "lowercase_mapping": "", "titlecase_mapping": "1FAA", "symbol": "\u1FA2" }, 8099: { "value": "1FA3", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F63 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAB", "lowercase_mapping": "", "titlecase_mapping": "1FAB", "symbol": "\u1FA3" }, 8100: { "value": "1FA4", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F64 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAC", "lowercase_mapping": "", "titlecase_mapping": "1FAC", "symbol": "\u1FA4" }, 8101: { "value": "1FA5", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F65 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAD", "lowercase_mapping": "", "titlecase_mapping": "1FAD", "symbol": "\u1FA5" }, 8102: { "value": "1FA6", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F66 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAE", "lowercase_mapping": "", "titlecase_mapping": "1FAE", "symbol": "\u1FA6" }, 8103: { "value": "1FA7", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F67 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAF", "lowercase_mapping": "", "titlecase_mapping": "1FAF", "symbol": "\u1FA7" }, 8112: { "value": "1FB0", "name": "GREEK SMALL LETTER ALPHA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB8", "lowercase_mapping": "", "titlecase_mapping": "1FB8", "symbol": "\u1FB0" }, 8113: { "value": "1FB1", "name": "GREEK SMALL LETTER ALPHA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB9", "lowercase_mapping": "", "titlecase_mapping": "1FB9", "symbol": "\u1FB1" }, 8114: { "value": "1FB2", "name": "GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F70 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB2" }, 8115: { "value": "1FB3", "name": "GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBC", "lowercase_mapping": "", "titlecase_mapping": "1FBC", "symbol": "\u1FB3" }, 8116: { "value": "1FB4", "name": "GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB4" }, 8118: { "value": "1FB6", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB6" }, 8119: { "value": "1FB7", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FB6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB7" }, 8126: { "value": "1FBE", "name": "GREEK PROSGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u1FBE" }, 8130: { "value": "1FC2", "name": "GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F74 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC2" }, 8131: { "value": "1FC3", "name": "GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCC", "lowercase_mapping": "", "titlecase_mapping": "1FCC", "symbol": "\u1FC3" }, 8132: { "value": "1FC4", "name": "GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC4" }, 8134: { "value": "1FC6", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC6" }, 8135: { "value": "1FC7", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FC6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC7" }, 8144: { "value": "1FD0", "name": "GREEK SMALL LETTER IOTA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD8", "lowercase_mapping": "", "titlecase_mapping": "1FD8", "symbol": "\u1FD0" }, 8145: { "value": "1FD1", "name": "GREEK SMALL LETTER IOTA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD9", "lowercase_mapping": "", "titlecase_mapping": "1FD9", "symbol": "\u1FD1" }, 8146: { "value": "1FD2", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD2" }, 8147: { "value": "1FD3", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0390", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD3" }, 8150: { "value": "1FD6", "name": "GREEK SMALL LETTER IOTA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD6" }, 8151: { "value": "1FD7", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD7" }, 8160: { "value": "1FE0", "name": "GREEK SMALL LETTER UPSILON WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE8", "lowercase_mapping": "", "titlecase_mapping": "1FE8", "symbol": "\u1FE0" }, 8161: { "value": "1FE1", "name": "GREEK SMALL LETTER UPSILON WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE9", "lowercase_mapping": "", "titlecase_mapping": "1FE9", "symbol": "\u1FE1" }, 8162: { "value": "1FE2", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE2" }, 8163: { "value": "1FE3", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE3" }, 8164: { "value": "1FE4", "name": "GREEK SMALL LETTER RHO WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE4" }, 8165: { "value": "1FE5", "name": "GREEK SMALL LETTER RHO WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEC", "lowercase_mapping": "", "titlecase_mapping": "1FEC", "symbol": "\u1FE5" }, 8166: { "value": "1FE6", "name": "GREEK SMALL LETTER UPSILON WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE6" }, 8167: { "value": "1FE7", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE7" }, 8178: { "value": "1FF2", "name": "GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F7C 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF2" }, 8179: { "value": "1FF3", "name": "GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFC", "lowercase_mapping": "", "titlecase_mapping": "1FFC", "symbol": "\u1FF3" }, 8180: { "value": "1FF4", "name": "GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF4" }, 8182: { "value": "1FF6", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF6" }, 8183: { "value": "1FF7", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FF6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF7" }, 8458: { "value": "210A", "name": "SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210A" }, 8462: { "value": "210E", "name": "PLANCK CONSTANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210E" }, 8463: { "value": "210F", "name": "PLANCK CONSTANT OVER TWO PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0127", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "PLANCK CONSTANT OVER 2 PI", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210F" }, 8467: { "value": "2113", "name": "SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2113" }, 8495: { "value": "212F", "name": "SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u212F" }, 8500: { "value": "2134", "name": "SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2134" }, 8505: { "value": "2139", "name": "INFORMATION SOURCE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2139" }, 8508: { "value": "213C", "name": "DOUBLE-STRUCK SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213C" }, 8509: { "value": "213D", "name": "DOUBLE-STRUCK SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213D" }, 8518: { "value": "2146", "name": "DOUBLE-STRUCK ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2146" }, 8519: { "value": "2147", "name": "DOUBLE-STRUCK ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2147" }, 8520: { "value": "2148", "name": "DOUBLE-STRUCK ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2148" }, 8521: { "value": "2149", "name": "DOUBLE-STRUCK ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2149" }, 8526: { "value": "214E", "name": "TURNED SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2132", "lowercase_mapping": "", "titlecase_mapping": "2132", "symbol": "\u214E" }, 8580: { "value": "2184", "name": "LATIN SMALL LETTER REVERSED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2183", "lowercase_mapping": "", "titlecase_mapping": "2183", "symbol": "\u2184" }, 11312: { "value": "2C30", "name": "GLAGOLITIC SMALL LETTER AZU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C00", "lowercase_mapping": "", "titlecase_mapping": "2C00", "symbol": "\u2C30" }, 11313: { "value": "2C31", "name": "GLAGOLITIC SMALL LETTER BUKY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C01", "lowercase_mapping": "", "titlecase_mapping": "2C01", "symbol": "\u2C31" }, 11314: { "value": "2C32", "name": "GLAGOLITIC SMALL LETTER VEDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C02", "lowercase_mapping": "", "titlecase_mapping": "2C02", "symbol": "\u2C32" }, 11315: { "value": "2C33", "name": "GLAGOLITIC SMALL LETTER GLAGOLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C03", "lowercase_mapping": "", "titlecase_mapping": "2C03", "symbol": "\u2C33" }, 11316: { "value": "2C34", "name": "GLAGOLITIC SMALL LETTER DOBRO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C04", "lowercase_mapping": "", "titlecase_mapping": "2C04", "symbol": "\u2C34" }, 11317: { "value": "2C35", "name": "GLAGOLITIC SMALL LETTER YESTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C05", "lowercase_mapping": "", "titlecase_mapping": "2C05", "symbol": "\u2C35" }, 11318: { "value": "2C36", "name": "GLAGOLITIC SMALL LETTER ZHIVETE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C06", "lowercase_mapping": "", "titlecase_mapping": "2C06", "symbol": "\u2C36" }, 11319: { "value": "2C37", "name": "GLAGOLITIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C07", "lowercase_mapping": "", "titlecase_mapping": "2C07", "symbol": "\u2C37" }, 11320: { "value": "2C38", "name": "GLAGOLITIC SMALL LETTER ZEMLJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C08", "lowercase_mapping": "", "titlecase_mapping": "2C08", "symbol": "\u2C38" }, 11321: { "value": "2C39", "name": "GLAGOLITIC SMALL LETTER IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C09", "lowercase_mapping": "", "titlecase_mapping": "2C09", "symbol": "\u2C39" }, 11322: { "value": "2C3A", "name": "GLAGOLITIC SMALL LETTER INITIAL IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0A", "lowercase_mapping": "", "titlecase_mapping": "2C0A", "symbol": "\u2C3A" }, 11323: { "value": "2C3B", "name": "GLAGOLITIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0B", "lowercase_mapping": "", "titlecase_mapping": "2C0B", "symbol": "\u2C3B" }, 11324: { "value": "2C3C", "name": "GLAGOLITIC SMALL LETTER DJERVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0C", "lowercase_mapping": "", "titlecase_mapping": "2C0C", "symbol": "\u2C3C" }, 11325: { "value": "2C3D", "name": "GLAGOLITIC SMALL LETTER KAKO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0D", "lowercase_mapping": "", "titlecase_mapping": "2C0D", "symbol": "\u2C3D" }, 11326: { "value": "2C3E", "name": "GLAGOLITIC SMALL LETTER LJUDIJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0E", "lowercase_mapping": "", "titlecase_mapping": "2C0E", "symbol": "\u2C3E" }, 11327: { "value": "2C3F", "name": "GLAGOLITIC SMALL LETTER MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0F", "lowercase_mapping": "", "titlecase_mapping": "2C0F", "symbol": "\u2C3F" }, 11328: { "value": "2C40", "name": "GLAGOLITIC SMALL LETTER NASHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C10", "lowercase_mapping": "", "titlecase_mapping": "2C10", "symbol": "\u2C40" }, 11329: { "value": "2C41", "name": "GLAGOLITIC SMALL LETTER ONU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C11", "lowercase_mapping": "", "titlecase_mapping": "2C11", "symbol": "\u2C41" }, 11330: { "value": "2C42", "name": "GLAGOLITIC SMALL LETTER POKOJI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C12", "lowercase_mapping": "", "titlecase_mapping": "2C12", "symbol": "\u2C42" }, 11331: { "value": "2C43", "name": "GLAGOLITIC SMALL LETTER RITSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C13", "lowercase_mapping": "", "titlecase_mapping": "2C13", "symbol": "\u2C43" }, 11332: { "value": "2C44", "name": "GLAGOLITIC SMALL LETTER SLOVO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C14", "lowercase_mapping": "", "titlecase_mapping": "2C14", "symbol": "\u2C44" }, 11333: { "value": "2C45", "name": "GLAGOLITIC SMALL LETTER TVRIDO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C15", "lowercase_mapping": "", "titlecase_mapping": "2C15", "symbol": "\u2C45" }, 11334: { "value": "2C46", "name": "GLAGOLITIC SMALL LETTER UKU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C16", "lowercase_mapping": "", "titlecase_mapping": "2C16", "symbol": "\u2C46" }, 11335: { "value": "2C47", "name": "GLAGOLITIC SMALL LETTER FRITU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C17", "lowercase_mapping": "", "titlecase_mapping": "2C17", "symbol": "\u2C47" }, 11336: { "value": "2C48", "name": "GLAGOLITIC SMALL LETTER HERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C18", "lowercase_mapping": "", "titlecase_mapping": "2C18", "symbol": "\u2C48" }, 11337: { "value": "2C49", "name": "GLAGOLITIC SMALL LETTER OTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C19", "lowercase_mapping": "", "titlecase_mapping": "2C19", "symbol": "\u2C49" }, 11338: { "value": "2C4A", "name": "GLAGOLITIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1A", "lowercase_mapping": "", "titlecase_mapping": "2C1A", "symbol": "\u2C4A" }, 11339: { "value": "2C4B", "name": "GLAGOLITIC SMALL LETTER SHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1B", "lowercase_mapping": "", "titlecase_mapping": "2C1B", "symbol": "\u2C4B" }, 11340: { "value": "2C4C", "name": "GLAGOLITIC SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1C", "lowercase_mapping": "", "titlecase_mapping": "2C1C", "symbol": "\u2C4C" }, 11341: { "value": "2C4D", "name": "GLAGOLITIC SMALL LETTER CHRIVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1D", "lowercase_mapping": "", "titlecase_mapping": "2C1D", "symbol": "\u2C4D" }, 11342: { "value": "2C4E", "name": "GLAGOLITIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1E", "lowercase_mapping": "", "titlecase_mapping": "2C1E", "symbol": "\u2C4E" }, 11343: { "value": "2C4F", "name": "GLAGOLITIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1F", "lowercase_mapping": "", "titlecase_mapping": "2C1F", "symbol": "\u2C4F" }, 11344: { "value": "2C50", "name": "GLAGOLITIC SMALL LETTER YERI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C20", "lowercase_mapping": "", "titlecase_mapping": "2C20", "symbol": "\u2C50" }, 11345: { "value": "2C51", "name": "GLAGOLITIC SMALL LETTER YATI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C21", "lowercase_mapping": "", "titlecase_mapping": "2C21", "symbol": "\u2C51" }, 11346: { "value": "2C52", "name": "GLAGOLITIC SMALL LETTER SPIDERY HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C22", "lowercase_mapping": "", "titlecase_mapping": "2C22", "symbol": "\u2C52" }, 11347: { "value": "2C53", "name": "GLAGOLITIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C23", "lowercase_mapping": "", "titlecase_mapping": "2C23", "symbol": "\u2C53" }, 11348: { "value": "2C54", "name": "GLAGOLITIC SMALL LETTER SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C24", "lowercase_mapping": "", "titlecase_mapping": "2C24", "symbol": "\u2C54" }, 11349: { "value": "2C55", "name": "GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C25", "lowercase_mapping": "", "titlecase_mapping": "2C25", "symbol": "\u2C55" }, 11350: { "value": "2C56", "name": "GLAGOLITIC SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C26", "lowercase_mapping": "", "titlecase_mapping": "2C26", "symbol": "\u2C56" }, 11351: { "value": "2C57", "name": "GLAGOLITIC SMALL LETTER IOTATED SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C27", "lowercase_mapping": "", "titlecase_mapping": "2C27", "symbol": "\u2C57" }, 11352: { "value": "2C58", "name": "GLAGOLITIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C28", "lowercase_mapping": "", "titlecase_mapping": "2C28", "symbol": "\u2C58" }, 11353: { "value": "2C59", "name": "GLAGOLITIC SMALL LETTER IOTATED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C29", "lowercase_mapping": "", "titlecase_mapping": "2C29", "symbol": "\u2C59" }, 11354: { "value": "2C5A", "name": "GLAGOLITIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2A", "lowercase_mapping": "", "titlecase_mapping": "2C2A", "symbol": "\u2C5A" }, 11355: { "value": "2C5B", "name": "GLAGOLITIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2B", "lowercase_mapping": "", "titlecase_mapping": "2C2B", "symbol": "\u2C5B" }, 11356: { "value": "2C5C", "name": "GLAGOLITIC SMALL LETTER SHTAPIC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2C", "lowercase_mapping": "", "titlecase_mapping": "2C2C", "symbol": "\u2C5C" }, 11357: { "value": "2C5D", "name": "GLAGOLITIC SMALL LETTER TROKUTASTI A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2D", "lowercase_mapping": "", "titlecase_mapping": "2C2D", "symbol": "\u2C5D" }, 11358: { "value": "2C5E", "name": "GLAGOLITIC SMALL LETTER LATINATE MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2E", "lowercase_mapping": "", "titlecase_mapping": "2C2E", "symbol": "\u2C5E" }, 11361: { "value": "2C61", "name": "LATIN SMALL LETTER L WITH DOUBLE BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C60", "lowercase_mapping": "", "titlecase_mapping": "2C60", "symbol": "\u2C61" }, 11365: { "value": "2C65", "name": "LATIN SMALL LETTER A WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023A", "lowercase_mapping": "", "titlecase_mapping": "023A", "symbol": "\u2C65" }, 11366: { "value": "2C66", "name": "LATIN SMALL LETTER T WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023E", "lowercase_mapping": "", "titlecase_mapping": "023E", "symbol": "\u2C66" }, 11368: { "value": "2C68", "name": "LATIN SMALL LETTER H WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C67", "lowercase_mapping": "", "titlecase_mapping": "2C67", "symbol": "\u2C68" }, 11370: { "value": "2C6A", "name": "LATIN SMALL LETTER K WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C69", "lowercase_mapping": "", "titlecase_mapping": "2C69", "symbol": "\u2C6A" }, 11372: { "value": "2C6C", "name": "LATIN SMALL LETTER Z WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6B", "lowercase_mapping": "", "titlecase_mapping": "2C6B", "symbol": "\u2C6C" }, 11377: { "value": "2C71", "name": "LATIN SMALL LETTER V WITH RIGHT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C71" }, 11379: { "value": "2C73", "name": "LATIN SMALL LETTER W WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C72", "lowercase_mapping": "", "titlecase_mapping": "2C72", "symbol": "\u2C73" }, 11380: { "value": "2C74", "name": "LATIN SMALL LETTER V WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C74" }, 11382: { "value": "2C76", "name": "LATIN SMALL LETTER HALF H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C75", "lowercase_mapping": "", "titlecase_mapping": "2C75", "symbol": "\u2C76" }, 11383: { "value": "2C77", "name": "LATIN SMALL LETTER TAILLESS PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C77" }, 11384: { "value": "2C78", "name": "LATIN SMALL LETTER E WITH NOTCH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C78" }, 11385: { "value": "2C79", "name": "LATIN SMALL LETTER TURNED R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C79" }, 11386: { "value": "2C7A", "name": "LATIN SMALL LETTER O WITH LOW RING INSIDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7A" }, 11387: { "value": "2C7B", "name": "LATIN LETTER SMALL CAPITAL TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7B" }, 11393: { "value": "2C81", "name": "COPTIC SMALL LETTER ALFA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C80", "lowercase_mapping": "", "titlecase_mapping": "2C80", "symbol": "\u2C81" }, 11395: { "value": "2C83", "name": "COPTIC SMALL LETTER VIDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C82", "lowercase_mapping": "", "titlecase_mapping": "2C82", "symbol": "\u2C83" }, 11397: { "value": "2C85", "name": "COPTIC SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C84", "lowercase_mapping": "", "titlecase_mapping": "2C84", "symbol": "\u2C85" }, 11399: { "value": "2C87", "name": "COPTIC SMALL LETTER DALDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C86", "lowercase_mapping": "", "titlecase_mapping": "2C86", "symbol": "\u2C87" }, 11401: { "value": "2C89", "name": "COPTIC SMALL LETTER EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C88", "lowercase_mapping": "", "titlecase_mapping": "2C88", "symbol": "\u2C89" }, 11403: { "value": "2C8B", "name": "COPTIC SMALL LETTER SOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8A", "lowercase_mapping": "", "titlecase_mapping": "2C8A", "symbol": "\u2C8B" }, 11405: { "value": "2C8D", "name": "COPTIC SMALL LETTER ZATA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8C", "lowercase_mapping": "", "titlecase_mapping": "2C8C", "symbol": "\u2C8D" }, 11407: { "value": "2C8F", "name": "COPTIC SMALL LETTER HATE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8E", "lowercase_mapping": "", "titlecase_mapping": "2C8E", "symbol": "\u2C8F" }, 11409: { "value": "2C91", "name": "COPTIC SMALL LETTER THETHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C90", "lowercase_mapping": "", "titlecase_mapping": "2C90", "symbol": "\u2C91" }, 11411: { "value": "2C93", "name": "COPTIC SMALL LETTER IAUDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C92", "lowercase_mapping": "", "titlecase_mapping": "2C92", "symbol": "\u2C93" }, 11413: { "value": "2C95", "name": "COPTIC SMALL LETTER KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C94", "lowercase_mapping": "", "titlecase_mapping": "2C94", "symbol": "\u2C95" }, 11415: { "value": "2C97", "name": "COPTIC SMALL LETTER LAULA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C96", "lowercase_mapping": "", "titlecase_mapping": "2C96", "symbol": "\u2C97" }, 11417: { "value": "2C99", "name": "COPTIC SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C98", "lowercase_mapping": "", "titlecase_mapping": "2C98", "symbol": "\u2C99" }, 11419: { "value": "2C9B", "name": "COPTIC SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9A", "lowercase_mapping": "", "titlecase_mapping": "2C9A", "symbol": "\u2C9B" }, 11421: { "value": "2C9D", "name": "COPTIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9C", "lowercase_mapping": "", "titlecase_mapping": "2C9C", "symbol": "\u2C9D" }, 11423: { "value": "2C9F", "name": "COPTIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9E", "lowercase_mapping": "", "titlecase_mapping": "2C9E", "symbol": "\u2C9F" }, 11425: { "value": "2CA1", "name": "COPTIC SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA0", "lowercase_mapping": "", "titlecase_mapping": "2CA0", "symbol": "\u2CA1" }, 11427: { "value": "2CA3", "name": "COPTIC SMALL LETTER RO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA2", "lowercase_mapping": "", "titlecase_mapping": "2CA2", "symbol": "\u2CA3" }, 11429: { "value": "2CA5", "name": "COPTIC SMALL LETTER SIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA4", "lowercase_mapping": "", "titlecase_mapping": "2CA4", "symbol": "\u2CA5" }, 11431: { "value": "2CA7", "name": "COPTIC SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA6", "lowercase_mapping": "", "titlecase_mapping": "2CA6", "symbol": "\u2CA7" }, 11433: { "value": "2CA9", "name": "COPTIC SMALL LETTER UA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA8", "lowercase_mapping": "", "titlecase_mapping": "2CA8", "symbol": "\u2CA9" }, 11435: { "value": "2CAB", "name": "COPTIC SMALL LETTER FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAA", "lowercase_mapping": "", "titlecase_mapping": "2CAA", "symbol": "\u2CAB" }, 11437: { "value": "2CAD", "name": "COPTIC SMALL LETTER KHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAC", "lowercase_mapping": "", "titlecase_mapping": "2CAC", "symbol": "\u2CAD" }, 11439: { "value": "2CAF", "name": "COPTIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAE", "lowercase_mapping": "", "titlecase_mapping": "2CAE", "symbol": "\u2CAF" }, 11441: { "value": "2CB1", "name": "COPTIC SMALL LETTER OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB0", "lowercase_mapping": "", "titlecase_mapping": "2CB0", "symbol": "\u2CB1" }, 11443: { "value": "2CB3", "name": "COPTIC SMALL LETTER DIALECT-P ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB2", "lowercase_mapping": "", "titlecase_mapping": "2CB2", "symbol": "\u2CB3" }, 11445: { "value": "2CB5", "name": "COPTIC SMALL LETTER OLD COPTIC AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB4", "lowercase_mapping": "", "titlecase_mapping": "2CB4", "symbol": "\u2CB5" }, 11447: { "value": "2CB7", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB6", "lowercase_mapping": "", "titlecase_mapping": "2CB6", "symbol": "\u2CB7" }, 11449: { "value": "2CB9", "name": "COPTIC SMALL LETTER DIALECT-P KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB8", "lowercase_mapping": "", "titlecase_mapping": "2CB8", "symbol": "\u2CB9" }, 11451: { "value": "2CBB", "name": "COPTIC SMALL LETTER DIALECT-P NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBA", "lowercase_mapping": "", "titlecase_mapping": "2CBA", "symbol": "\u2CBB" }, 11453: { "value": "2CBD", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBC", "lowercase_mapping": "", "titlecase_mapping": "2CBC", "symbol": "\u2CBD" }, 11455: { "value": "2CBF", "name": "COPTIC SMALL LETTER OLD COPTIC OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBE", "lowercase_mapping": "", "titlecase_mapping": "2CBE", "symbol": "\u2CBF" }, 11457: { "value": "2CC1", "name": "COPTIC SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC0", "lowercase_mapping": "", "titlecase_mapping": "2CC0", "symbol": "\u2CC1" }, 11459: { "value": "2CC3", "name": "COPTIC SMALL LETTER CROSSED SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC2", "lowercase_mapping": "", "titlecase_mapping": "2CC2", "symbol": "\u2CC3" }, 11461: { "value": "2CC5", "name": "COPTIC SMALL LETTER OLD COPTIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC4", "lowercase_mapping": "", "titlecase_mapping": "2CC4", "symbol": "\u2CC5" }, 11463: { "value": "2CC7", "name": "COPTIC SMALL LETTER OLD COPTIC ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC6", "lowercase_mapping": "", "titlecase_mapping": "2CC6", "symbol": "\u2CC7" }, 11465: { "value": "2CC9", "name": "COPTIC SMALL LETTER AKHMIMIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC8", "lowercase_mapping": "", "titlecase_mapping": "2CC8", "symbol": "\u2CC9" }, 11467: { "value": "2CCB", "name": "COPTIC SMALL LETTER DIALECT-P HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCA", "lowercase_mapping": "", "titlecase_mapping": "2CCA", "symbol": "\u2CCB" }, 11469: { "value": "2CCD", "name": "COPTIC SMALL LETTER OLD COPTIC HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCC", "lowercase_mapping": "", "titlecase_mapping": "2CCC", "symbol": "\u2CCD" }, 11471: { "value": "2CCF", "name": "COPTIC SMALL LETTER OLD COPTIC HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCE", "lowercase_mapping": "", "titlecase_mapping": "2CCE", "symbol": "\u2CCF" }, 11473: { "value": "2CD1", "name": "COPTIC SMALL LETTER L-SHAPED HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD0", "lowercase_mapping": "", "titlecase_mapping": "2CD0", "symbol": "\u2CD1" }, 11475: { "value": "2CD3", "name": "COPTIC SMALL LETTER OLD COPTIC HEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD2", "lowercase_mapping": "", "titlecase_mapping": "2CD2", "symbol": "\u2CD3" }, 11477: { "value": "2CD5", "name": "COPTIC SMALL LETTER OLD COPTIC HAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD4", "lowercase_mapping": "", "titlecase_mapping": "2CD4", "symbol": "\u2CD5" }, 11479: { "value": "2CD7", "name": "COPTIC SMALL LETTER OLD COPTIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD6", "lowercase_mapping": "", "titlecase_mapping": "2CD6", "symbol": "\u2CD7" }, 11481: { "value": "2CD9", "name": "COPTIC SMALL LETTER OLD COPTIC DJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD8", "lowercase_mapping": "", "titlecase_mapping": "2CD8", "symbol": "\u2CD9" }, 11483: { "value": "2CDB", "name": "COPTIC SMALL LETTER OLD COPTIC SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDA", "lowercase_mapping": "", "titlecase_mapping": "2CDA", "symbol": "\u2CDB" }, 11485: { "value": "2CDD", "name": "COPTIC SMALL LETTER OLD NUBIAN SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDC", "lowercase_mapping": "", "titlecase_mapping": "2CDC", "symbol": "\u2CDD" }, 11487: { "value": "2CDF", "name": "COPTIC SMALL LETTER OLD NUBIAN NGI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDE", "lowercase_mapping": "", "titlecase_mapping": "2CDE", "symbol": "\u2CDF" }, 11489: { "value": "2CE1", "name": "COPTIC SMALL LETTER OLD NUBIAN NYI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE0", "lowercase_mapping": "", "titlecase_mapping": "2CE0", "symbol": "\u2CE1" }, 11491: { "value": "2CE3", "name": "COPTIC SMALL LETTER OLD NUBIAN WAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE2", "lowercase_mapping": "", "titlecase_mapping": "2CE2", "symbol": "\u2CE3" }, 11492: { "value": "2CE4", "name": "COPTIC SYMBOL KAI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2CE4" }, 11500: { "value": "2CEC", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CEB", "lowercase_mapping": "", "titlecase_mapping": "2CEB", "symbol": "\u2CEC" }, 11502: { "value": "2CEE", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CED", "lowercase_mapping": "", "titlecase_mapping": "2CED", "symbol": "\u2CEE" }, 11507: { "value": "2CF3", "name": "COPTIC SMALL LETTER BOHAIRIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CF2", "lowercase_mapping": "", "titlecase_mapping": "2CF2", "symbol": "\u2CF3" }, 11520: { "value": "2D00", "name": "GEORGIAN SMALL LETTER AN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A0", "lowercase_mapping": "", "titlecase_mapping": "10A0", "symbol": "\u2D00" }, 11521: { "value": "2D01", "name": "GEORGIAN SMALL LETTER BAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A1", "lowercase_mapping": "", "titlecase_mapping": "10A1", "symbol": "\u2D01" }, 11522: { "value": "2D02", "name": "GEORGIAN SMALL LETTER GAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A2", "lowercase_mapping": "", "titlecase_mapping": "10A2", "symbol": "\u2D02" }, 11523: { "value": "2D03", "name": "GEORGIAN SMALL LETTER DON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A3", "lowercase_mapping": "", "titlecase_mapping": "10A3", "symbol": "\u2D03" }, 11524: { "value": "2D04", "name": "GEORGIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A4", "lowercase_mapping": "", "titlecase_mapping": "10A4", "symbol": "\u2D04" }, 11525: { "value": "2D05", "name": "GEORGIAN SMALL LETTER VIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A5", "lowercase_mapping": "", "titlecase_mapping": "10A5", "symbol": "\u2D05" }, 11526: { "value": "2D06", "name": "GEORGIAN SMALL LETTER ZEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A6", "lowercase_mapping": "", "titlecase_mapping": "10A6", "symbol": "\u2D06" }, 11527: { "value": "2D07", "name": "GEORGIAN SMALL LETTER TAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A7", "lowercase_mapping": "", "titlecase_mapping": "10A7", "symbol": "\u2D07" }, 11528: { "value": "2D08", "name": "GEORGIAN SMALL LETTER IN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A8", "lowercase_mapping": "", "titlecase_mapping": "10A8", "symbol": "\u2D08" }, 11529: { "value": "2D09", "name": "GEORGIAN SMALL LETTER KAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A9", "lowercase_mapping": "", "titlecase_mapping": "10A9", "symbol": "\u2D09" }, 11530: { "value": "2D0A", "name": "GEORGIAN SMALL LETTER LAS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AA", "lowercase_mapping": "", "titlecase_mapping": "10AA", "symbol": "\u2D0A" }, 11531: { "value": "2D0B", "name": "GEORGIAN SMALL LETTER MAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AB", "lowercase_mapping": "", "titlecase_mapping": "10AB", "symbol": "\u2D0B" }, 11532: { "value": "2D0C", "name": "GEORGIAN SMALL LETTER NAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AC", "lowercase_mapping": "", "titlecase_mapping": "10AC", "symbol": "\u2D0C" }, 11533: { "value": "2D0D", "name": "GEORGIAN SMALL LETTER ON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AD", "lowercase_mapping": "", "titlecase_mapping": "10AD", "symbol": "\u2D0D" }, 11534: { "value": "2D0E", "name": "GEORGIAN SMALL LETTER PAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AE", "lowercase_mapping": "", "titlecase_mapping": "10AE", "symbol": "\u2D0E" }, 11535: { "value": "2D0F", "name": "GEORGIAN SMALL LETTER ZHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AF", "lowercase_mapping": "", "titlecase_mapping": "10AF", "symbol": "\u2D0F" }, 11536: { "value": "2D10", "name": "GEORGIAN SMALL LETTER RAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B0", "lowercase_mapping": "", "titlecase_mapping": "10B0", "symbol": "\u2D10" }, 11537: { "value": "2D11", "name": "GEORGIAN SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B1", "lowercase_mapping": "", "titlecase_mapping": "10B1", "symbol": "\u2D11" }, 11538: { "value": "2D12", "name": "GEORGIAN SMALL LETTER TAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B2", "lowercase_mapping": "", "titlecase_mapping": "10B2", "symbol": "\u2D12" }, 11539: { "value": "2D13", "name": "GEORGIAN SMALL LETTER UN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B3", "lowercase_mapping": "", "titlecase_mapping": "10B3", "symbol": "\u2D13" }, 11540: { "value": "2D14", "name": "GEORGIAN SMALL LETTER PHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B4", "lowercase_mapping": "", "titlecase_mapping": "10B4", "symbol": "\u2D14" }, 11541: { "value": "2D15", "name": "GEORGIAN SMALL LETTER KHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B5", "lowercase_mapping": "", "titlecase_mapping": "10B5", "symbol": "\u2D15" }, 11542: { "value": "2D16", "name": "GEORGIAN SMALL LETTER GHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B6", "lowercase_mapping": "", "titlecase_mapping": "10B6", "symbol": "\u2D16" }, 11543: { "value": "2D17", "name": "GEORGIAN SMALL LETTER QAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B7", "lowercase_mapping": "", "titlecase_mapping": "10B7", "symbol": "\u2D17" }, 11544: { "value": "2D18", "name": "GEORGIAN SMALL LETTER SHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B8", "lowercase_mapping": "", "titlecase_mapping": "10B8", "symbol": "\u2D18" }, 11545: { "value": "2D19", "name": "GEORGIAN SMALL LETTER CHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B9", "lowercase_mapping": "", "titlecase_mapping": "10B9", "symbol": "\u2D19" }, 11546: { "value": "2D1A", "name": "GEORGIAN SMALL LETTER CAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BA", "lowercase_mapping": "", "titlecase_mapping": "10BA", "symbol": "\u2D1A" }, 11547: { "value": "2D1B", "name": "GEORGIAN SMALL LETTER JIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BB", "lowercase_mapping": "", "titlecase_mapping": "10BB", "symbol": "\u2D1B" }, 11548: { "value": "2D1C", "name": "GEORGIAN SMALL LETTER CIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BC", "lowercase_mapping": "", "titlecase_mapping": "10BC", "symbol": "\u2D1C" }, 11549: { "value": "2D1D", "name": "GEORGIAN SMALL LETTER CHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BD", "lowercase_mapping": "", "titlecase_mapping": "10BD", "symbol": "\u2D1D" }, 11550: { "value": "2D1E", "name": "GEORGIAN SMALL LETTER XAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BE", "lowercase_mapping": "", "titlecase_mapping": "10BE", "symbol": "\u2D1E" }, 11551: { "value": "2D1F", "name": "GEORGIAN SMALL LETTER JHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BF", "lowercase_mapping": "", "titlecase_mapping": "10BF", "symbol": "\u2D1F" }, 11552: { "value": "2D20", "name": "GEORGIAN SMALL LETTER HAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C0", "lowercase_mapping": "", "titlecase_mapping": "10C0", "symbol": "\u2D20" }, 11553: { "value": "2D21", "name": "GEORGIAN SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C1", "lowercase_mapping": "", "titlecase_mapping": "10C1", "symbol": "\u2D21" }, 11554: { "value": "2D22", "name": "GEORGIAN SMALL LETTER HIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C2", "lowercase_mapping": "", "titlecase_mapping": "10C2", "symbol": "\u2D22" }, 11555: { "value": "2D23", "name": "GEORGIAN SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C3", "lowercase_mapping": "", "titlecase_mapping": "10C3", "symbol": "\u2D23" }, 11556: { "value": "2D24", "name": "GEORGIAN SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C4", "lowercase_mapping": "", "titlecase_mapping": "10C4", "symbol": "\u2D24" }, 11557: { "value": "2D25", "name": "GEORGIAN SMALL LETTER HOE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C5", "lowercase_mapping": "", "titlecase_mapping": "10C5", "symbol": "\u2D25" }, 11559: { "value": "2D27", "name": "GEORGIAN SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C7", "lowercase_mapping": "", "titlecase_mapping": "10C7", "symbol": "\u2D27" }, 11565: { "value": "2D2D", "name": "GEORGIAN SMALL LETTER AEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CD", "lowercase_mapping": "", "titlecase_mapping": "10CD", "symbol": "\u2D2D" }, 42561: { "value": "A641", "name": "CYRILLIC SMALL LETTER ZEMLYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A640", "lowercase_mapping": "", "titlecase_mapping": "A640", "symbol": "\uA641" }, 42563: { "value": "A643", "name": "CYRILLIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A642", "lowercase_mapping": "", "titlecase_mapping": "A642", "symbol": "\uA643" }, 42565: { "value": "A645", "name": "CYRILLIC SMALL LETTER REVERSED DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A644", "lowercase_mapping": "", "titlecase_mapping": "A644", "symbol": "\uA645" }, 42567: { "value": "A647", "name": "CYRILLIC SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A646", "lowercase_mapping": "", "titlecase_mapping": "A646", "symbol": "\uA647" }, 42569: { "value": "A649", "name": "CYRILLIC SMALL LETTER DJERV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A648", "lowercase_mapping": "", "titlecase_mapping": "A648", "symbol": "\uA649" }, 42571: { "value": "A64B", "name": "CYRILLIC SMALL LETTER MONOGRAPH UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\uA64B" }, 42573: { "value": "A64D", "name": "CYRILLIC SMALL LETTER BROAD OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64C", "lowercase_mapping": "", "titlecase_mapping": "A64C", "symbol": "\uA64D" }, 42575: { "value": "A64F", "name": "CYRILLIC SMALL LETTER NEUTRAL YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64E", "lowercase_mapping": "", "titlecase_mapping": "A64E", "symbol": "\uA64F" }, 42577: { "value": "A651", "name": "CYRILLIC SMALL LETTER YERU WITH BACK YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A650", "lowercase_mapping": "", "titlecase_mapping": "A650", "symbol": "\uA651" }, 42579: { "value": "A653", "name": "CYRILLIC SMALL LETTER IOTIFIED YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A652", "lowercase_mapping": "", "titlecase_mapping": "A652", "symbol": "\uA653" }, 42581: { "value": "A655", "name": "CYRILLIC SMALL LETTER REVERSED YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A654", "lowercase_mapping": "", "titlecase_mapping": "A654", "symbol": "\uA655" }, 42583: { "value": "A657", "name": "CYRILLIC SMALL LETTER IOTIFIED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A656", "lowercase_mapping": "", "titlecase_mapping": "A656", "symbol": "\uA657" }, 42585: { "value": "A659", "name": "CYRILLIC SMALL LETTER CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A658", "lowercase_mapping": "", "titlecase_mapping": "A658", "symbol": "\uA659" }, 42587: { "value": "A65B", "name": "CYRILLIC SMALL LETTER BLENDED YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65A", "lowercase_mapping": "", "titlecase_mapping": "A65A", "symbol": "\uA65B" }, 42589: { "value": "A65D", "name": "CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65C", "lowercase_mapping": "", "titlecase_mapping": "A65C", "symbol": "\uA65D" }, 42591: { "value": "A65F", "name": "CYRILLIC SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65E", "lowercase_mapping": "", "titlecase_mapping": "A65E", "symbol": "\uA65F" }, 42593: { "value": "A661", "name": "CYRILLIC SMALL LETTER REVERSED TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A660", "lowercase_mapping": "", "titlecase_mapping": "A660", "symbol": "\uA661" }, 42595: { "value": "A663", "name": "CYRILLIC SMALL LETTER SOFT DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A662", "lowercase_mapping": "", "titlecase_mapping": "A662", "symbol": "\uA663" }, 42597: { "value": "A665", "name": "CYRILLIC SMALL LETTER SOFT EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A664", "lowercase_mapping": "", "titlecase_mapping": "A664", "symbol": "\uA665" }, 42599: { "value": "A667", "name": "CYRILLIC SMALL LETTER SOFT EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A666", "lowercase_mapping": "", "titlecase_mapping": "A666", "symbol": "\uA667" }, 42601: { "value": "A669", "name": "CYRILLIC SMALL LETTER MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A668", "lowercase_mapping": "", "titlecase_mapping": "A668", "symbol": "\uA669" }, 42603: { "value": "A66B", "name": "CYRILLIC SMALL LETTER BINOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66A", "lowercase_mapping": "", "titlecase_mapping": "A66A", "symbol": "\uA66B" }, 42605: { "value": "A66D", "name": "CYRILLIC SMALL LETTER DOUBLE MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66C", "lowercase_mapping": "", "titlecase_mapping": "A66C", "symbol": "\uA66D" }, 42625: { "value": "A681", "name": "CYRILLIC SMALL LETTER DWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A680", "lowercase_mapping": "", "titlecase_mapping": "A680", "symbol": "\uA681" }, 42627: { "value": "A683", "name": "CYRILLIC SMALL LETTER DZWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A682", "lowercase_mapping": "", "titlecase_mapping": "A682", "symbol": "\uA683" }, 42629: { "value": "A685", "name": "CYRILLIC SMALL LETTER ZHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A684", "lowercase_mapping": "", "titlecase_mapping": "A684", "symbol": "\uA685" }, 42631: { "value": "A687", "name": "CYRILLIC SMALL LETTER CCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A686", "lowercase_mapping": "", "titlecase_mapping": "A686", "symbol": "\uA687" }, 42633: { "value": "A689", "name": "CYRILLIC SMALL LETTER DZZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A688", "lowercase_mapping": "", "titlecase_mapping": "A688", "symbol": "\uA689" }, 42635: { "value": "A68B", "name": "CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68A", "lowercase_mapping": "", "titlecase_mapping": "A68A", "symbol": "\uA68B" }, 42637: { "value": "A68D", "name": "CYRILLIC SMALL LETTER TWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68C", "lowercase_mapping": "", "titlecase_mapping": "A68C", "symbol": "\uA68D" }, 42639: { "value": "A68F", "name": "CYRILLIC SMALL LETTER TSWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68E", "lowercase_mapping": "", "titlecase_mapping": "A68E", "symbol": "\uA68F" }, 42641: { "value": "A691", "name": "CYRILLIC SMALL LETTER TSSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A690", "lowercase_mapping": "", "titlecase_mapping": "A690", "symbol": "\uA691" }, 42643: { "value": "A693", "name": "CYRILLIC SMALL LETTER TCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A692", "lowercase_mapping": "", "titlecase_mapping": "A692", "symbol": "\uA693" }, 42645: { "value": "A695", "name": "CYRILLIC SMALL LETTER HWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A694", "lowercase_mapping": "", "titlecase_mapping": "A694", "symbol": "\uA695" }, 42647: { "value": "A697", "name": "CYRILLIC SMALL LETTER SHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A696", "lowercase_mapping": "", "titlecase_mapping": "A696", "symbol": "\uA697" }, 42649: { "value": "A699", "name": "CYRILLIC SMALL LETTER DOUBLE O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A698", "lowercase_mapping": "", "titlecase_mapping": "A698", "symbol": "\uA699" }, 42651: { "value": "A69B", "name": "CYRILLIC SMALL LETTER CROSSED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A69A", "lowercase_mapping": "", "titlecase_mapping": "A69A", "symbol": "\uA69B" }, 42787: { "value": "A723", "name": "LATIN SMALL LETTER EGYPTOLOGICAL ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A722", "lowercase_mapping": "", "titlecase_mapping": "A722", "symbol": "\uA723" }, 42789: { "value": "A725", "name": "LATIN SMALL LETTER EGYPTOLOGICAL AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A724", "lowercase_mapping": "", "titlecase_mapping": "A724", "symbol": "\uA725" }, 42791: { "value": "A727", "name": "LATIN SMALL LETTER HENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A726", "lowercase_mapping": "", "titlecase_mapping": "A726", "symbol": "\uA727" }, 42793: { "value": "A729", "name": "LATIN SMALL LETTER TZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A728", "lowercase_mapping": "", "titlecase_mapping": "A728", "symbol": "\uA729" }, 42795: { "value": "A72B", "name": "LATIN SMALL LETTER TRESILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72A", "lowercase_mapping": "", "titlecase_mapping": "A72A", "symbol": "\uA72B" }, 42797: { "value": "A72D", "name": "LATIN SMALL LETTER CUATRILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72C", "lowercase_mapping": "", "titlecase_mapping": "A72C", "symbol": "\uA72D" }, 42799: { "value": "A72F", "name": "LATIN SMALL LETTER CUATRILLO WITH COMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72E", "lowercase_mapping": "", "titlecase_mapping": "A72E", "symbol": "\uA72F" }, 42800: { "value": "A730", "name": "LATIN LETTER SMALL CAPITAL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA730" }, 42801: { "value": "A731", "name": "LATIN LETTER SMALL CAPITAL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA731" }, 42803: { "value": "A733", "name": "LATIN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A732", "lowercase_mapping": "", "titlecase_mapping": "A732", "symbol": "\uA733" }, 42805: { "value": "A735", "name": "LATIN SMALL LETTER AO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A734", "lowercase_mapping": "", "titlecase_mapping": "A734", "symbol": "\uA735" }, 42807: { "value": "A737", "name": "LATIN SMALL LETTER AU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A736", "lowercase_mapping": "", "titlecase_mapping": "A736", "symbol": "\uA737" }, 42809: { "value": "A739", "name": "LATIN SMALL LETTER AV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A738", "lowercase_mapping": "", "titlecase_mapping": "A738", "symbol": "\uA739" }, 42811: { "value": "A73B", "name": "LATIN SMALL LETTER AV WITH HORIZONTAL BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73A", "lowercase_mapping": "", "titlecase_mapping": "A73A", "symbol": "\uA73B" }, 42813: { "value": "A73D", "name": "LATIN SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73C", "lowercase_mapping": "", "titlecase_mapping": "A73C", "symbol": "\uA73D" }, 42815: { "value": "A73F", "name": "LATIN SMALL LETTER REVERSED C WITH DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73E", "lowercase_mapping": "", "titlecase_mapping": "A73E", "symbol": "\uA73F" }, 42817: { "value": "A741", "name": "LATIN SMALL LETTER K WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A740", "lowercase_mapping": "", "titlecase_mapping": "A740", "symbol": "\uA741" }, 42819: { "value": "A743", "name": "LATIN SMALL LETTER K WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A742", "lowercase_mapping": "", "titlecase_mapping": "A742", "symbol": "\uA743" }, 42821: { "value": "A745", "name": "LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A744", "lowercase_mapping": "", "titlecase_mapping": "A744", "symbol": "\uA745" }, 42823: { "value": "A747", "name": "LATIN SMALL LETTER BROKEN L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A746", "lowercase_mapping": "", "titlecase_mapping": "A746", "symbol": "\uA747" }, 42825: { "value": "A749", "name": "LATIN SMALL LETTER L WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A748", "lowercase_mapping": "", "titlecase_mapping": "A748", "symbol": "\uA749" }, 42827: { "value": "A74B", "name": "LATIN SMALL LETTER O WITH LONG STROKE OVERLAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74A", "lowercase_mapping": "", "titlecase_mapping": "A74A", "symbol": "\uA74B" }, 42829: { "value": "A74D", "name": "LATIN SMALL LETTER O WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74C", "lowercase_mapping": "", "titlecase_mapping": "A74C", "symbol": "\uA74D" }, 42831: { "value": "A74F", "name": "LATIN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74E", "lowercase_mapping": "", "titlecase_mapping": "A74E", "symbol": "\uA74F" }, 42833: { "value": "A751", "name": "LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A750", "lowercase_mapping": "", "titlecase_mapping": "A750", "symbol": "\uA751" }, 42835: { "value": "A753", "name": "LATIN SMALL LETTER P WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A752", "lowercase_mapping": "", "titlecase_mapping": "A752", "symbol": "\uA753" }, 42837: { "value": "A755", "name": "LATIN SMALL LETTER P WITH SQUIRREL TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A754", "lowercase_mapping": "", "titlecase_mapping": "A754", "symbol": "\uA755" }, 42839: { "value": "A757", "name": "LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A756", "lowercase_mapping": "", "titlecase_mapping": "A756", "symbol": "\uA757" }, 42841: { "value": "A759", "name": "LATIN SMALL LETTER Q WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A758", "lowercase_mapping": "", "titlecase_mapping": "A758", "symbol": "\uA759" }, 42843: { "value": "A75B", "name": "LATIN SMALL LETTER R ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75A", "lowercase_mapping": "", "titlecase_mapping": "A75A", "symbol": "\uA75B" }, 42845: { "value": "A75D", "name": "LATIN SMALL LETTER RUM ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75C", "lowercase_mapping": "", "titlecase_mapping": "A75C", "symbol": "\uA75D" }, 42847: { "value": "A75F", "name": "LATIN SMALL LETTER V WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75E", "lowercase_mapping": "", "titlecase_mapping": "A75E", "symbol": "\uA75F" }, 42849: { "value": "A761", "name": "LATIN SMALL LETTER VY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A760", "lowercase_mapping": "", "titlecase_mapping": "A760", "symbol": "\uA761" }, 42851: { "value": "A763", "name": "LATIN SMALL LETTER VISIGOTHIC Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A762", "lowercase_mapping": "", "titlecase_mapping": "A762", "symbol": "\uA763" }, 42853: { "value": "A765", "name": "LATIN SMALL LETTER THORN WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A764", "lowercase_mapping": "", "titlecase_mapping": "A764", "symbol": "\uA765" }, 42855: { "value": "A767", "name": "LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A766", "lowercase_mapping": "", "titlecase_mapping": "A766", "symbol": "\uA767" }, 42857: { "value": "A769", "name": "LATIN SMALL LETTER VEND", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A768", "lowercase_mapping": "", "titlecase_mapping": "A768", "symbol": "\uA769" }, 42859: { "value": "A76B", "name": "LATIN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76A", "lowercase_mapping": "", "titlecase_mapping": "A76A", "symbol": "\uA76B" }, 42861: { "value": "A76D", "name": "LATIN SMALL LETTER IS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76C", "lowercase_mapping": "", "titlecase_mapping": "A76C", "symbol": "\uA76D" }, 42863: { "value": "A76F", "name": "LATIN SMALL LETTER CON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76E", "lowercase_mapping": "", "titlecase_mapping": "A76E", "symbol": "\uA76F" }, 42865: { "value": "A771", "name": "LATIN SMALL LETTER DUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA771" }, 42866: { "value": "A772", "name": "LATIN SMALL LETTER LUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA772" }, 42867: { "value": "A773", "name": "LATIN SMALL LETTER MUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA773" }, 42868: { "value": "A774", "name": "LATIN SMALL LETTER NUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA774" }, 42869: { "value": "A775", "name": "LATIN SMALL LETTER RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA775" }, 42870: { "value": "A776", "name": "LATIN LETTER SMALL CAPITAL RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA776" }, 42871: { "value": "A777", "name": "LATIN SMALL LETTER TUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA777" }, 42872: { "value": "A778", "name": "LATIN SMALL LETTER UM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA778" }, 42874: { "value": "A77A", "name": "LATIN SMALL LETTER INSULAR D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A779", "lowercase_mapping": "", "titlecase_mapping": "A779", "symbol": "\uA77A" }, 42876: { "value": "A77C", "name": "LATIN SMALL LETTER INSULAR F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77B", "lowercase_mapping": "", "titlecase_mapping": "A77B", "symbol": "\uA77C" }, 42879: { "value": "A77F", "name": "LATIN SMALL LETTER TURNED INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77E", "lowercase_mapping": "", "titlecase_mapping": "A77E", "symbol": "\uA77F" }, 42881: { "value": "A781", "name": "LATIN SMALL LETTER TURNED L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A780", "lowercase_mapping": "", "titlecase_mapping": "A780", "symbol": "\uA781" }, 42883: { "value": "A783", "name": "LATIN SMALL LETTER INSULAR R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A782", "lowercase_mapping": "", "titlecase_mapping": "A782", "symbol": "\uA783" }, 42885: { "value": "A785", "name": "LATIN SMALL LETTER INSULAR S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A784", "lowercase_mapping": "", "titlecase_mapping": "A784", "symbol": "\uA785" }, 42887: { "value": "A787", "name": "LATIN SMALL LETTER INSULAR T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A786", "lowercase_mapping": "", "titlecase_mapping": "A786", "symbol": "\uA787" }, 42892: { "value": "A78C", "name": "LATIN SMALL LETTER SALTILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78B", "lowercase_mapping": "", "titlecase_mapping": "A78B", "symbol": "\uA78C" }, 42894: { "value": "A78E", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA78E" }, 42897: { "value": "A791", "name": "LATIN SMALL LETTER N WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A790", "lowercase_mapping": "", "titlecase_mapping": "A790", "symbol": "\uA791" }, 42899: { "value": "A793", "name": "LATIN SMALL LETTER C WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A792", "lowercase_mapping": "", "titlecase_mapping": "A792", "symbol": "\uA793" }, 42900: { "value": "A794", "name": "LATIN SMALL LETTER C WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA794" }, 42901: { "value": "A795", "name": "LATIN SMALL LETTER H WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA795" }, 42903: { "value": "A797", "name": "LATIN SMALL LETTER B WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A796", "lowercase_mapping": "", "titlecase_mapping": "A796", "symbol": "\uA797" }, 42905: { "value": "A799", "name": "LATIN SMALL LETTER F WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A798", "lowercase_mapping": "", "titlecase_mapping": "A798", "symbol": "\uA799" }, 42907: { "value": "A79B", "name": "LATIN SMALL LETTER VOLAPUK AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79A", "lowercase_mapping": "", "titlecase_mapping": "A79A", "symbol": "\uA79B" }, 42909: { "value": "A79D", "name": "LATIN SMALL LETTER VOLAPUK OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79C", "lowercase_mapping": "", "titlecase_mapping": "A79C", "symbol": "\uA79D" }, 42911: { "value": "A79F", "name": "LATIN SMALL LETTER VOLAPUK UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79E", "lowercase_mapping": "", "titlecase_mapping": "A79E", "symbol": "\uA79F" }, 42913: { "value": "A7A1", "name": "LATIN SMALL LETTER G WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A0", "lowercase_mapping": "", "titlecase_mapping": "A7A0", "symbol": "\uA7A1" }, 42915: { "value": "A7A3", "name": "LATIN SMALL LETTER K WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A2", "lowercase_mapping": "", "titlecase_mapping": "A7A2", "symbol": "\uA7A3" }, 42917: { "value": "A7A5", "name": "LATIN SMALL LETTER N WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A4", "lowercase_mapping": "", "titlecase_mapping": "A7A4", "symbol": "\uA7A5" }, 42919: { "value": "A7A7", "name": "LATIN SMALL LETTER R WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A6", "lowercase_mapping": "", "titlecase_mapping": "A7A6", "symbol": "\uA7A7" }, 42921: { "value": "A7A9", "name": "LATIN SMALL LETTER S WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A8", "lowercase_mapping": "", "titlecase_mapping": "A7A8", "symbol": "\uA7A9" }, 42933: { "value": "A7B5", "name": "LATIN SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B4", "lowercase_mapping": "", "titlecase_mapping": "A7B4", "symbol": "\uA7B5" }, 42935: { "value": "A7B7", "name": "LATIN SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B6", "lowercase_mapping": "", "titlecase_mapping": "A7B6", "symbol": "\uA7B7" }, 43002: { "value": "A7FA", "name": "LATIN LETTER SMALL CAPITAL TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA7FA" }, 43824: { "value": "AB30", "name": "LATIN SMALL LETTER BARRED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB30" }, 43825: { "value": "AB31", "name": "LATIN SMALL LETTER A REVERSED-SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB31" }, 43826: { "value": "AB32", "name": "LATIN SMALL LETTER BLACKLETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB32" }, 43827: { "value": "AB33", "name": "LATIN SMALL LETTER BARRED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB33" }, 43828: { "value": "AB34", "name": "LATIN SMALL LETTER E WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB34" }, 43829: { "value": "AB35", "name": "LATIN SMALL LETTER LENIS F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB35" }, 43830: { "value": "AB36", "name": "LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB36" }, 43831: { "value": "AB37", "name": "LATIN SMALL LETTER L WITH INVERTED LAZY S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB37" }, 43832: { "value": "AB38", "name": "LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB38" }, 43833: { "value": "AB39", "name": "LATIN SMALL LETTER L WITH MIDDLE RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB39" }, 43834: { "value": "AB3A", "name": "LATIN SMALL LETTER M WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3A" }, 43835: { "value": "AB3B", "name": "LATIN SMALL LETTER N WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3B" }, 43836: { "value": "AB3C", "name": "LATIN SMALL LETTER ENG WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3C" }, 43837: { "value": "AB3D", "name": "LATIN SMALL LETTER BLACKLETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3D" }, 43838: { "value": "AB3E", "name": "LATIN SMALL LETTER BLACKLETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3E" }, 43839: { "value": "AB3F", "name": "LATIN SMALL LETTER OPEN O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3F" }, 43840: { "value": "AB40", "name": "LATIN SMALL LETTER INVERTED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB40" }, 43841: { "value": "AB41", "name": "LATIN SMALL LETTER TURNED OE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB41" }, 43842: { "value": "AB42", "name": "LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB42" }, 43843: { "value": "AB43", "name": "LATIN SMALL LETTER TURNED O OPEN-O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB43" }, 43844: { "value": "AB44", "name": "LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB44" }, 43845: { "value": "AB45", "name": "LATIN SMALL LETTER STIRRUP R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB45" }, 43846: { "value": "AB46", "name": "LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB46" }, 43847: { "value": "AB47", "name": "LATIN SMALL LETTER R WITHOUT HANDLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB47" }, 43848: { "value": "AB48", "name": "LATIN SMALL LETTER DOUBLE R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB48" }, 43849: { "value": "AB49", "name": "LATIN SMALL LETTER R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB49" }, 43850: { "value": "AB4A", "name": "LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4A" }, 43851: { "value": "AB4B", "name": "LATIN SMALL LETTER SCRIPT R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4B" }, 43852: { "value": "AB4C", "name": "LATIN SMALL LETTER SCRIPT R WITH RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4C" }, 43853: { "value": "AB4D", "name": "LATIN SMALL LETTER BASELINE ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4D" }, 43854: { "value": "AB4E", "name": "LATIN SMALL LETTER U WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4E" }, 43855: { "value": "AB4F", "name": "LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4F" }, 43856: { "value": "AB50", "name": "LATIN SMALL LETTER UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB50" }, 43857: { "value": "AB51", "name": "LATIN SMALL LETTER TURNED UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB51" }, 43858: { "value": "AB52", "name": "LATIN SMALL LETTER U WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB52" }, 43859: { "value": "AB53", "name": "LATIN SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B3", "lowercase_mapping": "", "titlecase_mapping": "A7B3", "symbol": "\uAB53" }, 43860: { "value": "AB54", "name": "LATIN SMALL LETTER CHI WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB54" }, 43861: { "value": "AB55", "name": "LATIN SMALL LETTER CHI WITH LOW LEFT SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB55" }, 43862: { "value": "AB56", "name": "LATIN SMALL LETTER X WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB56" }, 43863: { "value": "AB57", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB57" }, 43864: { "value": "AB58", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB58" }, 43865: { "value": "AB59", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB59" }, 43866: { "value": "AB5A", "name": "LATIN SMALL LETTER Y WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB5A" }, 43872: { "value": "AB60", "name": "LATIN SMALL LETTER SAKHA YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB60" }, 43873: { "value": "AB61", "name": "LATIN SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB61" }, 43874: { "value": "AB62", "name": "LATIN SMALL LETTER OPEN OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB62" }, 43875: { "value": "AB63", "name": "LATIN SMALL LETTER UO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB63" }, 43876: { "value": "AB64", "name": "LATIN SMALL LETTER INVERTED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB64" }, 43877: { "value": "AB65", "name": "GREEK LETTER SMALL CAPITAL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB65" }, 43888: { "value": "AB70", "name": "CHEROKEE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A0", "lowercase_mapping": "", "titlecase_mapping": "13A0", "symbol": "\uAB70" }, 43889: { "value": "AB71", "name": "CHEROKEE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A1", "lowercase_mapping": "", "titlecase_mapping": "13A1", "symbol": "\uAB71" }, 43890: { "value": "AB72", "name": "CHEROKEE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A2", "lowercase_mapping": "", "titlecase_mapping": "13A2", "symbol": "\uAB72" }, 43891: { "value": "AB73", "name": "CHEROKEE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A3", "lowercase_mapping": "", "titlecase_mapping": "13A3", "symbol": "\uAB73" }, 43892: { "value": "AB74", "name": "CHEROKEE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A4", "lowercase_mapping": "", "titlecase_mapping": "13A4", "symbol": "\uAB74" }, 43893: { "value": "AB75", "name": "CHEROKEE SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A5", "lowercase_mapping": "", "titlecase_mapping": "13A5", "symbol": "\uAB75" }, 43894: { "value": "AB76", "name": "CHEROKEE SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A6", "lowercase_mapping": "", "titlecase_mapping": "13A6", "symbol": "\uAB76" }, 43895: { "value": "AB77", "name": "CHEROKEE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A7", "lowercase_mapping": "", "titlecase_mapping": "13A7", "symbol": "\uAB77" }, 43896: { "value": "AB78", "name": "CHEROKEE SMALL LETTER GE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A8", "lowercase_mapping": "", "titlecase_mapping": "13A8", "symbol": "\uAB78" }, 43897: { "value": "AB79", "name": "CHEROKEE SMALL LETTER GI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A9", "lowercase_mapping": "", "titlecase_mapping": "13A9", "symbol": "\uAB79" }, 43898: { "value": "AB7A", "name": "CHEROKEE SMALL LETTER GO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AA", "lowercase_mapping": "", "titlecase_mapping": "13AA", "symbol": "\uAB7A" }, 43899: { "value": "AB7B", "name": "CHEROKEE SMALL LETTER GU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AB", "lowercase_mapping": "", "titlecase_mapping": "13AB", "symbol": "\uAB7B" }, 43900: { "value": "AB7C", "name": "CHEROKEE SMALL LETTER GV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AC", "lowercase_mapping": "", "titlecase_mapping": "13AC", "symbol": "\uAB7C" }, 43901: { "value": "AB7D", "name": "CHEROKEE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AD", "lowercase_mapping": "", "titlecase_mapping": "13AD", "symbol": "\uAB7D" }, 43902: { "value": "AB7E", "name": "CHEROKEE SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AE", "lowercase_mapping": "", "titlecase_mapping": "13AE", "symbol": "\uAB7E" }, 43903: { "value": "AB7F", "name": "CHEROKEE SMALL LETTER HI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AF", "lowercase_mapping": "", "titlecase_mapping": "13AF", "symbol": "\uAB7F" }, 43904: { "value": "AB80", "name": "CHEROKEE SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B0", "lowercase_mapping": "", "titlecase_mapping": "13B0", "symbol": "\uAB80" }, 43905: { "value": "AB81", "name": "CHEROKEE SMALL LETTER HU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B1", "lowercase_mapping": "", "titlecase_mapping": "13B1", "symbol": "\uAB81" }, 43906: { "value": "AB82", "name": "CHEROKEE SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B2", "lowercase_mapping": "", "titlecase_mapping": "13B2", "symbol": "\uAB82" }, 43907: { "value": "AB83", "name": "CHEROKEE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B3", "lowercase_mapping": "", "titlecase_mapping": "13B3", "symbol": "\uAB83" }, 43908: { "value": "AB84", "name": "CHEROKEE SMALL LETTER LE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B4", "lowercase_mapping": "", "titlecase_mapping": "13B4", "symbol": "\uAB84" }, 43909: { "value": "AB85", "name": "CHEROKEE SMALL LETTER LI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B5", "lowercase_mapping": "", "titlecase_mapping": "13B5", "symbol": "\uAB85" }, 43910: { "value": "AB86", "name": "CHEROKEE SMALL LETTER LO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B6", "lowercase_mapping": "", "titlecase_mapping": "13B6", "symbol": "\uAB86" }, 43911: { "value": "AB87", "name": "CHEROKEE SMALL LETTER LU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B7", "lowercase_mapping": "", "titlecase_mapping": "13B7", "symbol": "\uAB87" }, 43912: { "value": "AB88", "name": "CHEROKEE SMALL LETTER LV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B8", "lowercase_mapping": "", "titlecase_mapping": "13B8", "symbol": "\uAB88" }, 43913: { "value": "AB89", "name": "CHEROKEE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B9", "lowercase_mapping": "", "titlecase_mapping": "13B9", "symbol": "\uAB89" }, 43914: { "value": "AB8A", "name": "CHEROKEE SMALL LETTER ME", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BA", "lowercase_mapping": "", "titlecase_mapping": "13BA", "symbol": "\uAB8A" }, 43915: { "value": "AB8B", "name": "CHEROKEE SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BB", "lowercase_mapping": "", "titlecase_mapping": "13BB", "symbol": "\uAB8B" }, 43916: { "value": "AB8C", "name": "CHEROKEE SMALL LETTER MO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BC", "lowercase_mapping": "", "titlecase_mapping": "13BC", "symbol": "\uAB8C" }, 43917: { "value": "AB8D", "name": "CHEROKEE SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BD", "lowercase_mapping": "", "titlecase_mapping": "13BD", "symbol": "\uAB8D" }, 43918: { "value": "AB8E", "name": "CHEROKEE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BE", "lowercase_mapping": "", "titlecase_mapping": "13BE", "symbol": "\uAB8E" }, 43919: { "value": "AB8F", "name": "CHEROKEE SMALL LETTER HNA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BF", "lowercase_mapping": "", "titlecase_mapping": "13BF", "symbol": "\uAB8F" }, 43920: { "value": "AB90", "name": "CHEROKEE SMALL LETTER NAH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C0", "lowercase_mapping": "", "titlecase_mapping": "13C0", "symbol": "\uAB90" }, 43921: { "value": "AB91", "name": "CHEROKEE SMALL LETTER NE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C1", "lowercase_mapping": "", "titlecase_mapping": "13C1", "symbol": "\uAB91" }, 43922: { "value": "AB92", "name": "CHEROKEE SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C2", "lowercase_mapping": "", "titlecase_mapping": "13C2", "symbol": "\uAB92" }, 43923: { "value": "AB93", "name": "CHEROKEE SMALL LETTER NO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C3", "lowercase_mapping": "", "titlecase_mapping": "13C3", "symbol": "\uAB93" }, 43924: { "value": "AB94", "name": "CHEROKEE SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C4", "lowercase_mapping": "", "titlecase_mapping": "13C4", "symbol": "\uAB94" }, 43925: { "value": "AB95", "name": "CHEROKEE SMALL LETTER NV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C5", "lowercase_mapping": "", "titlecase_mapping": "13C5", "symbol": "\uAB95" }, 43926: { "value": "AB96", "name": "CHEROKEE SMALL LETTER QUA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C6", "lowercase_mapping": "", "titlecase_mapping": "13C6", "symbol": "\uAB96" }, 43927: { "value": "AB97", "name": "CHEROKEE SMALL LETTER QUE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C7", "lowercase_mapping": "", "titlecase_mapping": "13C7", "symbol": "\uAB97" }, 43928: { "value": "AB98", "name": "CHEROKEE SMALL LETTER QUI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C8", "lowercase_mapping": "", "titlecase_mapping": "13C8", "symbol": "\uAB98" }, 43929: { "value": "AB99", "name": "CHEROKEE SMALL LETTER QUO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C9", "lowercase_mapping": "", "titlecase_mapping": "13C9", "symbol": "\uAB99" }, 43930: { "value": "AB9A", "name": "CHEROKEE SMALL LETTER QUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CA", "lowercase_mapping": "", "titlecase_mapping": "13CA", "symbol": "\uAB9A" }, 43931: { "value": "AB9B", "name": "CHEROKEE SMALL LETTER QUV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CB", "lowercase_mapping": "", "titlecase_mapping": "13CB", "symbol": "\uAB9B" }, 43932: { "value": "AB9C", "name": "CHEROKEE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CC", "lowercase_mapping": "", "titlecase_mapping": "13CC", "symbol": "\uAB9C" }, 43933: { "value": "AB9D", "name": "CHEROKEE SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CD", "lowercase_mapping": "", "titlecase_mapping": "13CD", "symbol": "\uAB9D" }, 43934: { "value": "AB9E", "name": "CHEROKEE SMALL LETTER SE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CE", "lowercase_mapping": "", "titlecase_mapping": "13CE", "symbol": "\uAB9E" }, 43935: { "value": "AB9F", "name": "CHEROKEE SMALL LETTER SI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CF", "lowercase_mapping": "", "titlecase_mapping": "13CF", "symbol": "\uAB9F" }, 43936: { "value": "ABA0", "name": "CHEROKEE SMALL LETTER SO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D0", "lowercase_mapping": "", "titlecase_mapping": "13D0", "symbol": "\uABA0" }, 43937: { "value": "ABA1", "name": "CHEROKEE SMALL LETTER SU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D1", "lowercase_mapping": "", "titlecase_mapping": "13D1", "symbol": "\uABA1" }, 43938: { "value": "ABA2", "name": "CHEROKEE SMALL LETTER SV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D2", "lowercase_mapping": "", "titlecase_mapping": "13D2", "symbol": "\uABA2" }, 43939: { "value": "ABA3", "name": "CHEROKEE SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D3", "lowercase_mapping": "", "titlecase_mapping": "13D3", "symbol": "\uABA3" }, 43940: { "value": "ABA4", "name": "CHEROKEE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D4", "lowercase_mapping": "", "titlecase_mapping": "13D4", "symbol": "\uABA4" }, 43941: { "value": "ABA5", "name": "CHEROKEE SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D5", "lowercase_mapping": "", "titlecase_mapping": "13D5", "symbol": "\uABA5" }, 43942: { "value": "ABA6", "name": "CHEROKEE SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D6", "lowercase_mapping": "", "titlecase_mapping": "13D6", "symbol": "\uABA6" }, 43943: { "value": "ABA7", "name": "CHEROKEE SMALL LETTER DI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D7", "lowercase_mapping": "", "titlecase_mapping": "13D7", "symbol": "\uABA7" }, 43944: { "value": "ABA8", "name": "CHEROKEE SMALL LETTER TI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D8", "lowercase_mapping": "", "titlecase_mapping": "13D8", "symbol": "\uABA8" }, 43945: { "value": "ABA9", "name": "CHEROKEE SMALL LETTER DO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D9", "lowercase_mapping": "", "titlecase_mapping": "13D9", "symbol": "\uABA9" }, 43946: { "value": "ABAA", "name": "CHEROKEE SMALL LETTER DU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DA", "lowercase_mapping": "", "titlecase_mapping": "13DA", "symbol": "\uABAA" }, 43947: { "value": "ABAB", "name": "CHEROKEE SMALL LETTER DV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DB", "lowercase_mapping": "", "titlecase_mapping": "13DB", "symbol": "\uABAB" }, 43948: { "value": "ABAC", "name": "CHEROKEE SMALL LETTER DLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DC", "lowercase_mapping": "", "titlecase_mapping": "13DC", "symbol": "\uABAC" }, 43949: { "value": "ABAD", "name": "CHEROKEE SMALL LETTER TLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DD", "lowercase_mapping": "", "titlecase_mapping": "13DD", "symbol": "\uABAD" }, 43950: { "value": "ABAE", "name": "CHEROKEE SMALL LETTER TLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DE", "lowercase_mapping": "", "titlecase_mapping": "13DE", "symbol": "\uABAE" }, 43951: { "value": "ABAF", "name": "CHEROKEE SMALL LETTER TLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DF", "lowercase_mapping": "", "titlecase_mapping": "13DF", "symbol": "\uABAF" }, 43952: { "value": "ABB0", "name": "CHEROKEE SMALL LETTER TLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E0", "lowercase_mapping": "", "titlecase_mapping": "13E0", "symbol": "\uABB0" }, 43953: { "value": "ABB1", "name": "CHEROKEE SMALL LETTER TLU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E1", "lowercase_mapping": "", "titlecase_mapping": "13E1", "symbol": "\uABB1" }, 43954: { "value": "ABB2", "name": "CHEROKEE SMALL LETTER TLV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E2", "lowercase_mapping": "", "titlecase_mapping": "13E2", "symbol": "\uABB2" }, 43955: { "value": "ABB3", "name": "CHEROKEE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E3", "lowercase_mapping": "", "titlecase_mapping": "13E3", "symbol": "\uABB3" }, 43956: { "value": "ABB4", "name": "CHEROKEE SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E4", "lowercase_mapping": "", "titlecase_mapping": "13E4", "symbol": "\uABB4" }, 43957: { "value": "ABB5", "name": "CHEROKEE SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E5", "lowercase_mapping": "", "titlecase_mapping": "13E5", "symbol": "\uABB5" }, 43958: { "value": "ABB6", "name": "CHEROKEE SMALL LETTER TSO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E6", "lowercase_mapping": "", "titlecase_mapping": "13E6", "symbol": "\uABB6" }, 43959: { "value": "ABB7", "name": "CHEROKEE SMALL LETTER TSU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E7", "lowercase_mapping": "", "titlecase_mapping": "13E7", "symbol": "\uABB7" }, 43960: { "value": "ABB8", "name": "CHEROKEE SMALL LETTER TSV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E8", "lowercase_mapping": "", "titlecase_mapping": "13E8", "symbol": "\uABB8" }, 43961: { "value": "ABB9", "name": "CHEROKEE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E9", "lowercase_mapping": "", "titlecase_mapping": "13E9", "symbol": "\uABB9" }, 43962: { "value": "ABBA", "name": "CHEROKEE SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EA", "lowercase_mapping": "", "titlecase_mapping": "13EA", "symbol": "\uABBA" }, 43963: { "value": "ABBB", "name": "CHEROKEE SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EB", "lowercase_mapping": "", "titlecase_mapping": "13EB", "symbol": "\uABBB" }, 43964: { "value": "ABBC", "name": "CHEROKEE SMALL LETTER WO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EC", "lowercase_mapping": "", "titlecase_mapping": "13EC", "symbol": "\uABBC" }, 43965: { "value": "ABBD", "name": "CHEROKEE SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13ED", "lowercase_mapping": "", "titlecase_mapping": "13ED", "symbol": "\uABBD" }, 43966: { "value": "ABBE", "name": "CHEROKEE SMALL LETTER WV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EE", "lowercase_mapping": "", "titlecase_mapping": "13EE", "symbol": "\uABBE" }, 43967: { "value": "ABBF", "name": "CHEROKEE SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EF", "lowercase_mapping": "", "titlecase_mapping": "13EF", "symbol": "\uABBF" }, 64256: { "value": "FB00", "name": "LATIN SMALL LIGATURE FF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB00" }, 64257: { "value": "FB01", "name": "LATIN SMALL LIGATURE FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB01" }, 64258: { "value": "FB02", "name": "LATIN SMALL LIGATURE FL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB02" }, 64259: { "value": "FB03", "name": "LATIN SMALL LIGATURE FFI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB03" }, 64260: { "value": "FB04", "name": "LATIN SMALL LIGATURE FFL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB04" }, 64261: { "value": "FB05", "name": "LATIN SMALL LIGATURE LONG S T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 017F 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB05" }, 64262: { "value": "FB06", "name": "LATIN SMALL LIGATURE ST", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB06" }, 64275: { "value": "FB13", "name": "ARMENIAN SMALL LIGATURE MEN NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB13" }, 64276: { "value": "FB14", "name": "ARMENIAN SMALL LIGATURE MEN ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0565", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB14" }, 64277: { "value": "FB15", "name": "ARMENIAN SMALL LIGATURE MEN INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB15" }, 64278: { "value": "FB16", "name": "ARMENIAN SMALL LIGATURE VEW NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 057E 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB16" }, 64279: { "value": "FB17", "name": "ARMENIAN SMALL LIGATURE MEN XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB17" }, 65345: { "value": "FF41", "name": "FULLWIDTH LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF21", "lowercase_mapping": "", "titlecase_mapping": "FF21", "symbol": "\uFF41" }, 65346: { "value": "FF42", "name": "FULLWIDTH LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF22", "lowercase_mapping": "", "titlecase_mapping": "FF22", "symbol": "\uFF42" }, 65347: { "value": "FF43", "name": "FULLWIDTH LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF23", "lowercase_mapping": "", "titlecase_mapping": "FF23", "symbol": "\uFF43" }, 65348: { "value": "FF44", "name": "FULLWIDTH LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF24", "lowercase_mapping": "", "titlecase_mapping": "FF24", "symbol": "\uFF44" }, 65349: { "value": "FF45", "name": "FULLWIDTH LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF25", "lowercase_mapping": "", "titlecase_mapping": "FF25", "symbol": "\uFF45" }, 65350: { "value": "FF46", "name": "FULLWIDTH LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF26", "lowercase_mapping": "", "titlecase_mapping": "FF26", "symbol": "\uFF46" }, 65351: { "value": "FF47", "name": "FULLWIDTH LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF27", "lowercase_mapping": "", "titlecase_mapping": "FF27", "symbol": "\uFF47" }, 65352: { "value": "FF48", "name": "FULLWIDTH LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF28", "lowercase_mapping": "", "titlecase_mapping": "FF28", "symbol": "\uFF48" }, 65353: { "value": "FF49", "name": "FULLWIDTH LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF29", "lowercase_mapping": "", "titlecase_mapping": "FF29", "symbol": "\uFF49" }, 65354: { "value": "FF4A", "name": "FULLWIDTH LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2A", "lowercase_mapping": "", "titlecase_mapping": "FF2A", "symbol": "\uFF4A" }, 65355: { "value": "FF4B", "name": "FULLWIDTH LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2B", "lowercase_mapping": "", "titlecase_mapping": "FF2B", "symbol": "\uFF4B" }, 65356: { "value": "FF4C", "name": "FULLWIDTH LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2C", "lowercase_mapping": "", "titlecase_mapping": "FF2C", "symbol": "\uFF4C" }, 65357: { "value": "FF4D", "name": "FULLWIDTH LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2D", "lowercase_mapping": "", "titlecase_mapping": "FF2D", "symbol": "\uFF4D" }, 65358: { "value": "FF4E", "name": "FULLWIDTH LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2E", "lowercase_mapping": "", "titlecase_mapping": "FF2E", "symbol": "\uFF4E" }, 65359: { "value": "FF4F", "name": "FULLWIDTH LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2F", "lowercase_mapping": "", "titlecase_mapping": "FF2F", "symbol": "\uFF4F" }, 65360: { "value": "FF50", "name": "FULLWIDTH LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF30", "lowercase_mapping": "", "titlecase_mapping": "FF30", "symbol": "\uFF50" }, 65361: { "value": "FF51", "name": "FULLWIDTH LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF31", "lowercase_mapping": "", "titlecase_mapping": "FF31", "symbol": "\uFF51" }, 65362: { "value": "FF52", "name": "FULLWIDTH LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF32", "lowercase_mapping": "", "titlecase_mapping": "FF32", "symbol": "\uFF52" }, 65363: { "value": "FF53", "name": "FULLWIDTH LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF33", "lowercase_mapping": "", "titlecase_mapping": "FF33", "symbol": "\uFF53" }, 65364: { "value": "FF54", "name": "FULLWIDTH LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF34", "lowercase_mapping": "", "titlecase_mapping": "FF34", "symbol": "\uFF54" }, 65365: { "value": "FF55", "name": "FULLWIDTH LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF35", "lowercase_mapping": "", "titlecase_mapping": "FF35", "symbol": "\uFF55" }, 65366: { "value": "FF56", "name": "FULLWIDTH LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF36", "lowercase_mapping": "", "titlecase_mapping": "FF36", "symbol": "\uFF56" }, 65367: { "value": "FF57", "name": "FULLWIDTH LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF37", "lowercase_mapping": "", "titlecase_mapping": "FF37", "symbol": "\uFF57" }, 65368: { "value": "FF58", "name": "FULLWIDTH LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF38", "lowercase_mapping": "", "titlecase_mapping": "FF38", "symbol": "\uFF58" }, 65369: { "value": "FF59", "name": "FULLWIDTH LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF39", "lowercase_mapping": "", "titlecase_mapping": "FF39", "symbol": "\uFF59" }, 65370: { "value": "FF5A", "name": "FULLWIDTH LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF3A", "lowercase_mapping": "", "titlecase_mapping": "FF3A", "symbol": "\uFF5A" }, 66600: { "value": "10428", "name": "DESERET SMALL LETTER LONG I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10400", "lowercase_mapping": "", "titlecase_mapping": "10400", "symbol": "\u0428" }, 66601: { "value": "10429", "name": "DESERET SMALL LETTER LONG E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10401", "lowercase_mapping": "", "titlecase_mapping": "10401", "symbol": "\u0429" }, 66602: { "value": "1042A", "name": "DESERET SMALL LETTER LONG A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10402", "lowercase_mapping": "", "titlecase_mapping": "10402", "symbol": "\u042A" }, 66603: { "value": "1042B", "name": "DESERET SMALL LETTER LONG AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10403", "lowercase_mapping": "", "titlecase_mapping": "10403", "symbol": "\u042B" }, 66604: { "value": "1042C", "name": "DESERET SMALL LETTER LONG O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10404", "lowercase_mapping": "", "titlecase_mapping": "10404", "symbol": "\u042C" }, 66605: { "value": "1042D", "name": "DESERET SMALL LETTER LONG OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10405", "lowercase_mapping": "", "titlecase_mapping": "10405", "symbol": "\u042D" }, 66606: { "value": "1042E", "name": "DESERET SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10406", "lowercase_mapping": "", "titlecase_mapping": "10406", "symbol": "\u042E" }, 66607: { "value": "1042F", "name": "DESERET SMALL LETTER SHORT E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10407", "lowercase_mapping": "", "titlecase_mapping": "10407", "symbol": "\u042F" }, 66608: { "value": "10430", "name": "DESERET SMALL LETTER SHORT A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10408", "lowercase_mapping": "", "titlecase_mapping": "10408", "symbol": "\u0430" }, 66609: { "value": "10431", "name": "DESERET SMALL LETTER SHORT AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10409", "lowercase_mapping": "", "titlecase_mapping": "10409", "symbol": "\u0431" }, 66610: { "value": "10432", "name": "DESERET SMALL LETTER SHORT O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040A", "lowercase_mapping": "", "titlecase_mapping": "1040A", "symbol": "\u0432" }, 66611: { "value": "10433", "name": "DESERET SMALL LETTER SHORT OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040B", "lowercase_mapping": "", "titlecase_mapping": "1040B", "symbol": "\u0433" }, 66612: { "value": "10434", "name": "DESERET SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040C", "lowercase_mapping": "", "titlecase_mapping": "1040C", "symbol": "\u0434" }, 66613: { "value": "10435", "name": "DESERET SMALL LETTER OW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040D", "lowercase_mapping": "", "titlecase_mapping": "1040D", "symbol": "\u0435" }, 66614: { "value": "10436", "name": "DESERET SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040E", "lowercase_mapping": "", "titlecase_mapping": "1040E", "symbol": "\u0436" }, 66615: { "value": "10437", "name": "DESERET SMALL LETTER YEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040F", "lowercase_mapping": "", "titlecase_mapping": "1040F", "symbol": "\u0437" }, 66616: { "value": "10438", "name": "DESERET SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10410", "lowercase_mapping": "", "titlecase_mapping": "10410", "symbol": "\u0438" }, 66617: { "value": "10439", "name": "DESERET SMALL LETTER PEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10411", "lowercase_mapping": "", "titlecase_mapping": "10411", "symbol": "\u0439" }, 66618: { "value": "1043A", "name": "DESERET SMALL LETTER BEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10412", "lowercase_mapping": "", "titlecase_mapping": "10412", "symbol": "\u043A" }, 66619: { "value": "1043B", "name": "DESERET SMALL LETTER TEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10413", "lowercase_mapping": "", "titlecase_mapping": "10413", "symbol": "\u043B" }, 66620: { "value": "1043C", "name": "DESERET SMALL LETTER DEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10414", "lowercase_mapping": "", "titlecase_mapping": "10414", "symbol": "\u043C" }, 66621: { "value": "1043D", "name": "DESERET SMALL LETTER CHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10415", "lowercase_mapping": "", "titlecase_mapping": "10415", "symbol": "\u043D" }, 66622: { "value": "1043E", "name": "DESERET SMALL LETTER JEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10416", "lowercase_mapping": "", "titlecase_mapping": "10416", "symbol": "\u043E" }, 66623: { "value": "1043F", "name": "DESERET SMALL LETTER KAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10417", "lowercase_mapping": "", "titlecase_mapping": "10417", "symbol": "\u043F" }, 66624: { "value": "10440", "name": "DESERET SMALL LETTER GAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10418", "lowercase_mapping": "", "titlecase_mapping": "10418", "symbol": "\u0440" }, 66625: { "value": "10441", "name": "DESERET SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10419", "lowercase_mapping": "", "titlecase_mapping": "10419", "symbol": "\u0441" }, 66626: { "value": "10442", "name": "DESERET SMALL LETTER VEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041A", "lowercase_mapping": "", "titlecase_mapping": "1041A", "symbol": "\u0442" }, 66627: { "value": "10443", "name": "DESERET SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041B", "lowercase_mapping": "", "titlecase_mapping": "1041B", "symbol": "\u0443" }, 66628: { "value": "10444", "name": "DESERET SMALL LETTER THEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041C", "lowercase_mapping": "", "titlecase_mapping": "1041C", "symbol": "\u0444" }, 66629: { "value": "10445", "name": "DESERET SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041D", "lowercase_mapping": "", "titlecase_mapping": "1041D", "symbol": "\u0445" }, 66630: { "value": "10446", "name": "DESERET SMALL LETTER ZEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041E", "lowercase_mapping": "", "titlecase_mapping": "1041E", "symbol": "\u0446" }, 66631: { "value": "10447", "name": "DESERET SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041F", "lowercase_mapping": "", "titlecase_mapping": "1041F", "symbol": "\u0447" }, 66632: { "value": "10448", "name": "DESERET SMALL LETTER ZHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10420", "lowercase_mapping": "", "titlecase_mapping": "10420", "symbol": "\u0448" }, 66633: { "value": "10449", "name": "DESERET SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10421", "lowercase_mapping": "", "titlecase_mapping": "10421", "symbol": "\u0449" }, 66634: { "value": "1044A", "name": "DESERET SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10422", "lowercase_mapping": "", "titlecase_mapping": "10422", "symbol": "\u044A" }, 66635: { "value": "1044B", "name": "DESERET SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10423", "lowercase_mapping": "", "titlecase_mapping": "10423", "symbol": "\u044B" }, 66636: { "value": "1044C", "name": "DESERET SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10424", "lowercase_mapping": "", "titlecase_mapping": "10424", "symbol": "\u044C" }, 66637: { "value": "1044D", "name": "DESERET SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10425", "lowercase_mapping": "", "titlecase_mapping": "10425", "symbol": "\u044D" }, 66638: { "value": "1044E", "name": "DESERET SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10426", "lowercase_mapping": "", "titlecase_mapping": "10426", "symbol": "\u044E" }, 66639: { "value": "1044F", "name": "DESERET SMALL LETTER EW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10427", "lowercase_mapping": "", "titlecase_mapping": "10427", "symbol": "\u044F" }, 66776: { "value": "104D8", "name": "OSAGE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B0", "lowercase_mapping": "", "titlecase_mapping": "104B0", "symbol": "\u04D8" }, 66777: { "value": "104D9", "name": "OSAGE SMALL LETTER AI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B1", "lowercase_mapping": "", "titlecase_mapping": "104B1", "symbol": "\u04D9" }, 66778: { "value": "104DA", "name": "OSAGE SMALL LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B2", "lowercase_mapping": "", "titlecase_mapping": "104B2", "symbol": "\u04DA" }, 66779: { "value": "104DB", "name": "OSAGE SMALL LETTER AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B3", "lowercase_mapping": "", "titlecase_mapping": "104B3", "symbol": "\u04DB" }, 66780: { "value": "104DC", "name": "OSAGE SMALL LETTER BRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B4", "lowercase_mapping": "", "titlecase_mapping": "104B4", "symbol": "\u04DC" }, 66781: { "value": "104DD", "name": "OSAGE SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B5", "lowercase_mapping": "", "titlecase_mapping": "104B5", "symbol": "\u04DD" }, 66782: { "value": "104DE", "name": "OSAGE SMALL LETTER EHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B6", "lowercase_mapping": "", "titlecase_mapping": "104B6", "symbol": "\u04DE" }, 66783: { "value": "104DF", "name": "OSAGE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B7", "lowercase_mapping": "", "titlecase_mapping": "104B7", "symbol": "\u04DF" }, 66784: { "value": "104E0", "name": "OSAGE SMALL LETTER EIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B8", "lowercase_mapping": "", "titlecase_mapping": "104B8", "symbol": "\u04E0" }, 66785: { "value": "104E1", "name": "OSAGE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B9", "lowercase_mapping": "", "titlecase_mapping": "104B9", "symbol": "\u04E1" }, 66786: { "value": "104E2", "name": "OSAGE SMALL LETTER HYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BA", "lowercase_mapping": "", "titlecase_mapping": "104BA", "symbol": "\u04E2" }, 66787: { "value": "104E3", "name": "OSAGE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BB", "lowercase_mapping": "", "titlecase_mapping": "104BB", "symbol": "\u04E3" }, 66788: { "value": "104E4", "name": "OSAGE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BC", "lowercase_mapping": "", "titlecase_mapping": "104BC", "symbol": "\u04E4" }, 66789: { "value": "104E5", "name": "OSAGE SMALL LETTER EHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BD", "lowercase_mapping": "", "titlecase_mapping": "104BD", "symbol": "\u04E5" }, 66790: { "value": "104E6", "name": "OSAGE SMALL LETTER KYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BE", "lowercase_mapping": "", "titlecase_mapping": "104BE", "symbol": "\u04E6" }, 66791: { "value": "104E7", "name": "OSAGE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BF", "lowercase_mapping": "", "titlecase_mapping": "104BF", "symbol": "\u04E7" }, 66792: { "value": "104E8", "name": "OSAGE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C0", "lowercase_mapping": "", "titlecase_mapping": "104C0", "symbol": "\u04E8" }, 66793: { "value": "104E9", "name": "OSAGE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C1", "lowercase_mapping": "", "titlecase_mapping": "104C1", "symbol": "\u04E9" }, 66794: { "value": "104EA", "name": "OSAGE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C2", "lowercase_mapping": "", "titlecase_mapping": "104C2", "symbol": "\u04EA" }, 66795: { "value": "104EB", "name": "OSAGE SMALL LETTER OIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C3", "lowercase_mapping": "", "titlecase_mapping": "104C3", "symbol": "\u04EB" }, 66796: { "value": "104EC", "name": "OSAGE SMALL LETTER PA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C4", "lowercase_mapping": "", "titlecase_mapping": "104C4", "symbol": "\u04EC" }, 66797: { "value": "104ED", "name": "OSAGE SMALL LETTER EHPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C5", "lowercase_mapping": "", "titlecase_mapping": "104C5", "symbol": "\u04ED" }, 66798: { "value": "104EE", "name": "OSAGE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C6", "lowercase_mapping": "", "titlecase_mapping": "104C6", "symbol": "\u04EE" }, 66799: { "value": "104EF", "name": "OSAGE SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C7", "lowercase_mapping": "", "titlecase_mapping": "104C7", "symbol": "\u04EF" }, 66800: { "value": "104F0", "name": "OSAGE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C8", "lowercase_mapping": "", "titlecase_mapping": "104C8", "symbol": "\u04F0" }, 66801: { "value": "104F1", "name": "OSAGE SMALL LETTER EHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C9", "lowercase_mapping": "", "titlecase_mapping": "104C9", "symbol": "\u04F1" }, 66802: { "value": "104F2", "name": "OSAGE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CA", "lowercase_mapping": "", "titlecase_mapping": "104CA", "symbol": "\u04F2" }, 66803: { "value": "104F3", "name": "OSAGE SMALL LETTER EHTSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CB", "lowercase_mapping": "", "titlecase_mapping": "104CB", "symbol": "\u04F3" }, 66804: { "value": "104F4", "name": "OSAGE SMALL LETTER TSHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CC", "lowercase_mapping": "", "titlecase_mapping": "104CC", "symbol": "\u04F4" }, 66805: { "value": "104F5", "name": "OSAGE SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CD", "lowercase_mapping": "", "titlecase_mapping": "104CD", "symbol": "\u04F5" }, 66806: { "value": "104F6", "name": "OSAGE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CE", "lowercase_mapping": "", "titlecase_mapping": "104CE", "symbol": "\u04F6" }, 66807: { "value": "104F7", "name": "OSAGE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CF", "lowercase_mapping": "", "titlecase_mapping": "104CF", "symbol": "\u04F7" }, 66808: { "value": "104F8", "name": "OSAGE SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D0", "lowercase_mapping": "", "titlecase_mapping": "104D0", "symbol": "\u04F8" }, 66809: { "value": "104F9", "name": "OSAGE SMALL LETTER GHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D1", "lowercase_mapping": "", "titlecase_mapping": "104D1", "symbol": "\u04F9" }, 66810: { "value": "104FA", "name": "OSAGE SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D2", "lowercase_mapping": "", "titlecase_mapping": "104D2", "symbol": "\u04FA" }, 66811: { "value": "104FB", "name": "OSAGE SMALL LETTER ZHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D3", "lowercase_mapping": "", "titlecase_mapping": "104D3", "symbol": "\u04FB" }, 68800: { "value": "10CC0", "name": "OLD HUNGARIAN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C80", "lowercase_mapping": "", "titlecase_mapping": "10C80", "symbol": "\u0CC0" }, 68801: { "value": "10CC1", "name": "OLD HUNGARIAN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C81", "lowercase_mapping": "", "titlecase_mapping": "10C81", "symbol": "\u0CC1" }, 68802: { "value": "10CC2", "name": "OLD HUNGARIAN SMALL LETTER EB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C82", "lowercase_mapping": "", "titlecase_mapping": "10C82", "symbol": "\u0CC2" }, 68803: { "value": "10CC3", "name": "OLD HUNGARIAN SMALL LETTER AMB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C83", "lowercase_mapping": "", "titlecase_mapping": "10C83", "symbol": "\u0CC3" }, 68804: { "value": "10CC4", "name": "OLD HUNGARIAN SMALL LETTER EC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C84", "lowercase_mapping": "", "titlecase_mapping": "10C84", "symbol": "\u0CC4" }, 68805: { "value": "10CC5", "name": "OLD HUNGARIAN SMALL LETTER ENC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C85", "lowercase_mapping": "", "titlecase_mapping": "10C85", "symbol": "\u0CC5" }, 68806: { "value": "10CC6", "name": "OLD HUNGARIAN SMALL LETTER ECS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C86", "lowercase_mapping": "", "titlecase_mapping": "10C86", "symbol": "\u0CC6" }, 68807: { "value": "10CC7", "name": "OLD HUNGARIAN SMALL LETTER ED", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C87", "lowercase_mapping": "", "titlecase_mapping": "10C87", "symbol": "\u0CC7" }, 68808: { "value": "10CC8", "name": "OLD HUNGARIAN SMALL LETTER AND", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C88", "lowercase_mapping": "", "titlecase_mapping": "10C88", "symbol": "\u0CC8" }, 68809: { "value": "10CC9", "name": "OLD HUNGARIAN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C89", "lowercase_mapping": "", "titlecase_mapping": "10C89", "symbol": "\u0CC9" }, 68810: { "value": "10CCA", "name": "OLD HUNGARIAN SMALL LETTER CLOSE E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8A", "lowercase_mapping": "", "titlecase_mapping": "10C8A", "symbol": "\u0CCA" }, 68811: { "value": "10CCB", "name": "OLD HUNGARIAN SMALL LETTER EE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8B", "lowercase_mapping": "", "titlecase_mapping": "10C8B", "symbol": "\u0CCB" }, 68812: { "value": "10CCC", "name": "OLD HUNGARIAN SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8C", "lowercase_mapping": "", "titlecase_mapping": "10C8C", "symbol": "\u0CCC" }, 68813: { "value": "10CCD", "name": "OLD HUNGARIAN SMALL LETTER EG", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8D", "lowercase_mapping": "", "titlecase_mapping": "10C8D", "symbol": "\u0CCD" }, 68814: { "value": "10CCE", "name": "OLD HUNGARIAN SMALL LETTER EGY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8E", "lowercase_mapping": "", "titlecase_mapping": "10C8E", "symbol": "\u0CCE" }, 68815: { "value": "10CCF", "name": "OLD HUNGARIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8F", "lowercase_mapping": "", "titlecase_mapping": "10C8F", "symbol": "\u0CCF" }, 68816: { "value": "10CD0", "name": "OLD HUNGARIAN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C90", "lowercase_mapping": "", "titlecase_mapping": "10C90", "symbol": "\u0CD0" }, 68817: { "value": "10CD1", "name": "OLD HUNGARIAN SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C91", "lowercase_mapping": "", "titlecase_mapping": "10C91", "symbol": "\u0CD1" }, 68818: { "value": "10CD2", "name": "OLD HUNGARIAN SMALL LETTER EJ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C92", "lowercase_mapping": "", "titlecase_mapping": "10C92", "symbol": "\u0CD2" }, 68819: { "value": "10CD3", "name": "OLD HUNGARIAN SMALL LETTER EK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C93", "lowercase_mapping": "", "titlecase_mapping": "10C93", "symbol": "\u0CD3" }, 68820: { "value": "10CD4", "name": "OLD HUNGARIAN SMALL LETTER AK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C94", "lowercase_mapping": "", "titlecase_mapping": "10C94", "symbol": "\u0CD4" }, 68821: { "value": "10CD5", "name": "OLD HUNGARIAN SMALL LETTER UNK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C95", "lowercase_mapping": "", "titlecase_mapping": "10C95", "symbol": "\u0CD5" }, 68822: { "value": "10CD6", "name": "OLD HUNGARIAN SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C96", "lowercase_mapping": "", "titlecase_mapping": "10C96", "symbol": "\u0CD6" }, 68823: { "value": "10CD7", "name": "OLD HUNGARIAN SMALL LETTER ELY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C97", "lowercase_mapping": "", "titlecase_mapping": "10C97", "symbol": "\u0CD7" }, 68824: { "value": "10CD8", "name": "OLD HUNGARIAN SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C98", "lowercase_mapping": "", "titlecase_mapping": "10C98", "symbol": "\u0CD8" }, 68825: { "value": "10CD9", "name": "OLD HUNGARIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C99", "lowercase_mapping": "", "titlecase_mapping": "10C99", "symbol": "\u0CD9" }, 68826: { "value": "10CDA", "name": "OLD HUNGARIAN SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9A", "lowercase_mapping": "", "titlecase_mapping": "10C9A", "symbol": "\u0CDA" }, 68827: { "value": "10CDB", "name": "OLD HUNGARIAN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9B", "lowercase_mapping": "", "titlecase_mapping": "10C9B", "symbol": "\u0CDB" }, 68828: { "value": "10CDC", "name": "OLD HUNGARIAN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9C", "lowercase_mapping": "", "titlecase_mapping": "10C9C", "symbol": "\u0CDC" }, 68829: { "value": "10CDD", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9D", "lowercase_mapping": "", "titlecase_mapping": "10C9D", "symbol": "\u0CDD" }, 68830: { "value": "10CDE", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9E", "lowercase_mapping": "", "titlecase_mapping": "10C9E", "symbol": "\u0CDE" }, 68831: { "value": "10CDF", "name": "OLD HUNGARIAN SMALL LETTER OEE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9F", "lowercase_mapping": "", "titlecase_mapping": "10C9F", "symbol": "\u0CDF" }, 68832: { "value": "10CE0", "name": "OLD HUNGARIAN SMALL LETTER EP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA0", "lowercase_mapping": "", "titlecase_mapping": "10CA0", "symbol": "\u0CE0" }, 68833: { "value": "10CE1", "name": "OLD HUNGARIAN SMALL LETTER EMP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA1", "lowercase_mapping": "", "titlecase_mapping": "10CA1", "symbol": "\u0CE1" }, 68834: { "value": "10CE2", "name": "OLD HUNGARIAN SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA2", "lowercase_mapping": "", "titlecase_mapping": "10CA2", "symbol": "\u0CE2" }, 68835: { "value": "10CE3", "name": "OLD HUNGARIAN SMALL LETTER SHORT ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA3", "lowercase_mapping": "", "titlecase_mapping": "10CA3", "symbol": "\u0CE3" }, 68836: { "value": "10CE4", "name": "OLD HUNGARIAN SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA4", "lowercase_mapping": "", "titlecase_mapping": "10CA4", "symbol": "\u0CE4" }, 68837: { "value": "10CE5", "name": "OLD HUNGARIAN SMALL LETTER ESZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA5", "lowercase_mapping": "", "titlecase_mapping": "10CA5", "symbol": "\u0CE5" }, 68838: { "value": "10CE6", "name": "OLD HUNGARIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA6", "lowercase_mapping": "", "titlecase_mapping": "10CA6", "symbol": "\u0CE6" }, 68839: { "value": "10CE7", "name": "OLD HUNGARIAN SMALL LETTER ENT", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA7", "lowercase_mapping": "", "titlecase_mapping": "10CA7", "symbol": "\u0CE7" }, 68840: { "value": "10CE8", "name": "OLD HUNGARIAN SMALL LETTER ETY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA8", "lowercase_mapping": "", "titlecase_mapping": "10CA8", "symbol": "\u0CE8" }, 68841: { "value": "10CE9", "name": "OLD HUNGARIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA9", "lowercase_mapping": "", "titlecase_mapping": "10CA9", "symbol": "\u0CE9" }, 68842: { "value": "10CEA", "name": "OLD HUNGARIAN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAA", "lowercase_mapping": "", "titlecase_mapping": "10CAA", "symbol": "\u0CEA" }, 68843: { "value": "10CEB", "name": "OLD HUNGARIAN SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAB", "lowercase_mapping": "", "titlecase_mapping": "10CAB", "symbol": "\u0CEB" }, 68844: { "value": "10CEC", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAC", "lowercase_mapping": "", "titlecase_mapping": "10CAC", "symbol": "\u0CEC" }, 68845: { "value": "10CED", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAD", "lowercase_mapping": "", "titlecase_mapping": "10CAD", "symbol": "\u0CED" }, 68846: { "value": "10CEE", "name": "OLD HUNGARIAN SMALL LETTER EV", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAE", "lowercase_mapping": "", "titlecase_mapping": "10CAE", "symbol": "\u0CEE" }, 68847: { "value": "10CEF", "name": "OLD HUNGARIAN SMALL LETTER EZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAF", "lowercase_mapping": "", "titlecase_mapping": "10CAF", "symbol": "\u0CEF" }, 68848: { "value": "10CF0", "name": "OLD HUNGARIAN SMALL LETTER EZS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB0", "lowercase_mapping": "", "titlecase_mapping": "10CB0", "symbol": "\u0CF0" }, 68849: { "value": "10CF1", "name": "OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB1", "lowercase_mapping": "", "titlecase_mapping": "10CB1", "symbol": "\u0CF1" }, 68850: { "value": "10CF2", "name": "OLD HUNGARIAN SMALL LETTER US", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB2", "lowercase_mapping": "", "titlecase_mapping": "10CB2", "symbol": "\u0CF2" }, 71872: { "value": "118C0", "name": "WARANG CITI SMALL LETTER NGAA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A0", "lowercase_mapping": "", "titlecase_mapping": "118A0", "symbol": "\u18C0" }, 71873: { "value": "118C1", "name": "WARANG CITI SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A1", "lowercase_mapping": "", "titlecase_mapping": "118A1", "symbol": "\u18C1" }, 71874: { "value": "118C2", "name": "WARANG CITI SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A2", "lowercase_mapping": "", "titlecase_mapping": "118A2", "symbol": "\u18C2" }, 71875: { "value": "118C3", "name": "WARANG CITI SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A3", "lowercase_mapping": "", "titlecase_mapping": "118A3", "symbol": "\u18C3" }, 71876: { "value": "118C4", "name": "WARANG CITI SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A4", "lowercase_mapping": "", "titlecase_mapping": "118A4", "symbol": "\u18C4" }, 71877: { "value": "118C5", "name": "WARANG CITI SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A5", "lowercase_mapping": "", "titlecase_mapping": "118A5", "symbol": "\u18C5" }, 71878: { "value": "118C6", "name": "WARANG CITI SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A6", "lowercase_mapping": "", "titlecase_mapping": "118A6", "symbol": "\u18C6" }, 71879: { "value": "118C7", "name": "WARANG CITI SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A7", "lowercase_mapping": "", "titlecase_mapping": "118A7", "symbol": "\u18C7" }, 71880: { "value": "118C8", "name": "WARANG CITI SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A8", "lowercase_mapping": "", "titlecase_mapping": "118A8", "symbol": "\u18C8" }, 71881: { "value": "118C9", "name": "WARANG CITI SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A9", "lowercase_mapping": "", "titlecase_mapping": "118A9", "symbol": "\u18C9" }, 71882: { "value": "118CA", "name": "WARANG CITI SMALL LETTER ANG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AA", "lowercase_mapping": "", "titlecase_mapping": "118AA", "symbol": "\u18CA" }, 71883: { "value": "118CB", "name": "WARANG CITI SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AB", "lowercase_mapping": "", "titlecase_mapping": "118AB", "symbol": "\u18CB" }, 71884: { "value": "118CC", "name": "WARANG CITI SMALL LETTER KO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AC", "lowercase_mapping": "", "titlecase_mapping": "118AC", "symbol": "\u18CC" }, 71885: { "value": "118CD", "name": "WARANG CITI SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AD", "lowercase_mapping": "", "titlecase_mapping": "118AD", "symbol": "\u18CD" }, 71886: { "value": "118CE", "name": "WARANG CITI SMALL LETTER YUJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AE", "lowercase_mapping": "", "titlecase_mapping": "118AE", "symbol": "\u18CE" }, 71887: { "value": "118CF", "name": "WARANG CITI SMALL LETTER UC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AF", "lowercase_mapping": "", "titlecase_mapping": "118AF", "symbol": "\u18CF" }, 71888: { "value": "118D0", "name": "WARANG CITI SMALL LETTER ENN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B0", "lowercase_mapping": "", "titlecase_mapping": "118B0", "symbol": "\u18D0" }, 71889: { "value": "118D1", "name": "WARANG CITI SMALL LETTER ODD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B1", "lowercase_mapping": "", "titlecase_mapping": "118B1", "symbol": "\u18D1" }, 71890: { "value": "118D2", "name": "WARANG CITI SMALL LETTER TTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B2", "lowercase_mapping": "", "titlecase_mapping": "118B2", "symbol": "\u18D2" }, 71891: { "value": "118D3", "name": "WARANG CITI SMALL LETTER NUNG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B3", "lowercase_mapping": "", "titlecase_mapping": "118B3", "symbol": "\u18D3" }, 71892: { "value": "118D4", "name": "WARANG CITI SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B4", "lowercase_mapping": "", "titlecase_mapping": "118B4", "symbol": "\u18D4" }, 71893: { "value": "118D5", "name": "WARANG CITI SMALL LETTER AT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B5", "lowercase_mapping": "", "titlecase_mapping": "118B5", "symbol": "\u18D5" }, 71894: { "value": "118D6", "name": "WARANG CITI SMALL LETTER AM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B6", "lowercase_mapping": "", "titlecase_mapping": "118B6", "symbol": "\u18D6" }, 71895: { "value": "118D7", "name": "WARANG CITI SMALL LETTER BU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B7", "lowercase_mapping": "", "titlecase_mapping": "118B7", "symbol": "\u18D7" }, 71896: { "value": "118D8", "name": "WARANG CITI SMALL LETTER PU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B8", "lowercase_mapping": "", "titlecase_mapping": "118B8", "symbol": "\u18D8" }, 71897: { "value": "118D9", "name": "WARANG CITI SMALL LETTER HIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B9", "lowercase_mapping": "", "titlecase_mapping": "118B9", "symbol": "\u18D9" }, 71898: { "value": "118DA", "name": "WARANG CITI SMALL LETTER HOLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BA", "lowercase_mapping": "", "titlecase_mapping": "118BA", "symbol": "\u18DA" }, 71899: { "value": "118DB", "name": "WARANG CITI SMALL LETTER HORR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BB", "lowercase_mapping": "", "titlecase_mapping": "118BB", "symbol": "\u18DB" }, 71900: { "value": "118DC", "name": "WARANG CITI SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BC", "lowercase_mapping": "", "titlecase_mapping": "118BC", "symbol": "\u18DC" }, 71901: { "value": "118DD", "name": "WARANG CITI SMALL LETTER SSUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BD", "lowercase_mapping": "", "titlecase_mapping": "118BD", "symbol": "\u18DD" }, 71902: { "value": "118DE", "name": "WARANG CITI SMALL LETTER SII", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BE", "lowercase_mapping": "", "titlecase_mapping": "118BE", "symbol": "\u18DE" }, 71903: { "value": "118DF", "name": "WARANG CITI SMALL LETTER VIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BF", "lowercase_mapping": "", "titlecase_mapping": "118BF", "symbol": "\u18DF" }, 119834: { "value": "1D41A", "name": "MATHEMATICAL BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41A" }, 119835: { "value": "1D41B", "name": "MATHEMATICAL BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41B" }, 119836: { "value": "1D41C", "name": "MATHEMATICAL BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41C" }, 119837: { "value": "1D41D", "name": "MATHEMATICAL BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41D" }, 119838: { "value": "1D41E", "name": "MATHEMATICAL BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41E" }, 119839: { "value": "1D41F", "name": "MATHEMATICAL BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41F" }, 119840: { "value": "1D420", "name": "MATHEMATICAL BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD420" }, 119841: { "value": "1D421", "name": "MATHEMATICAL BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD421" }, 119842: { "value": "1D422", "name": "MATHEMATICAL BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD422" }, 119843: { "value": "1D423", "name": "MATHEMATICAL BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD423" }, 119844: { "value": "1D424", "name": "MATHEMATICAL BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD424" }, 119845: { "value": "1D425", "name": "MATHEMATICAL BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD425" }, 119846: { "value": "1D426", "name": "MATHEMATICAL BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD426" }, 119847: { "value": "1D427", "name": "MATHEMATICAL BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD427" }, 119848: { "value": "1D428", "name": "MATHEMATICAL BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD428" }, 119849: { "value": "1D429", "name": "MATHEMATICAL BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD429" }, 119850: { "value": "1D42A", "name": "MATHEMATICAL BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42A" }, 119851: { "value": "1D42B", "name": "MATHEMATICAL BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42B" }, 119852: { "value": "1D42C", "name": "MATHEMATICAL BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42C" }, 119853: { "value": "1D42D", "name": "MATHEMATICAL BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42D" }, 119854: { "value": "1D42E", "name": "MATHEMATICAL BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42E" }, 119855: { "value": "1D42F", "name": "MATHEMATICAL BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42F" }, 119856: { "value": "1D430", "name": "MATHEMATICAL BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD430" }, 119857: { "value": "1D431", "name": "MATHEMATICAL BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD431" }, 119858: { "value": "1D432", "name": "MATHEMATICAL BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD432" }, 119859: { "value": "1D433", "name": "MATHEMATICAL BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD433" }, 119886: { "value": "1D44E", "name": "MATHEMATICAL ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44E" }, 119887: { "value": "1D44F", "name": "MATHEMATICAL ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44F" }, 119888: { "value": "1D450", "name": "MATHEMATICAL ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD450" }, 119889: { "value": "1D451", "name": "MATHEMATICAL ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD451" }, 119890: { "value": "1D452", "name": "MATHEMATICAL ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD452" }, 119891: { "value": "1D453", "name": "MATHEMATICAL ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD453" }, 119892: { "value": "1D454", "name": "MATHEMATICAL ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD454" }, 119894: { "value": "1D456", "name": "MATHEMATICAL ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD456" }, 119895: { "value": "1D457", "name": "MATHEMATICAL ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD457" }, 119896: { "value": "1D458", "name": "MATHEMATICAL ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD458" }, 119897: { "value": "1D459", "name": "MATHEMATICAL ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD459" }, 119898: { "value": "1D45A", "name": "MATHEMATICAL ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45A" }, 119899: { "value": "1D45B", "name": "MATHEMATICAL ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45B" }, 119900: { "value": "1D45C", "name": "MATHEMATICAL ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45C" }, 119901: { "value": "1D45D", "name": "MATHEMATICAL ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45D" }, 119902: { "value": "1D45E", "name": "MATHEMATICAL ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45E" }, 119903: { "value": "1D45F", "name": "MATHEMATICAL ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45F" }, 119904: { "value": "1D460", "name": "MATHEMATICAL ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD460" }, 119905: { "value": "1D461", "name": "MATHEMATICAL ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD461" }, 119906: { "value": "1D462", "name": "MATHEMATICAL ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD462" }, 119907: { "value": "1D463", "name": "MATHEMATICAL ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD463" }, 119908: { "value": "1D464", "name": "MATHEMATICAL ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD464" }, 119909: { "value": "1D465", "name": "MATHEMATICAL ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD465" }, 119910: { "value": "1D466", "name": "MATHEMATICAL ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD466" }, 119911: { "value": "1D467", "name": "MATHEMATICAL ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD467" }, 119938: { "value": "1D482", "name": "MATHEMATICAL BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD482" }, 119939: { "value": "1D483", "name": "MATHEMATICAL BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD483" }, 119940: { "value": "1D484", "name": "MATHEMATICAL BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD484" }, 119941: { "value": "1D485", "name": "MATHEMATICAL BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD485" }, 119942: { "value": "1D486", "name": "MATHEMATICAL BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD486" }, 119943: { "value": "1D487", "name": "MATHEMATICAL BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD487" }, 119944: { "value": "1D488", "name": "MATHEMATICAL BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD488" }, 119945: { "value": "1D489", "name": "MATHEMATICAL BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD489" }, 119946: { "value": "1D48A", "name": "MATHEMATICAL BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48A" }, 119947: { "value": "1D48B", "name": "MATHEMATICAL BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48B" }, 119948: { "value": "1D48C", "name": "MATHEMATICAL BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48C" }, 119949: { "value": "1D48D", "name": "MATHEMATICAL BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48D" }, 119950: { "value": "1D48E", "name": "MATHEMATICAL BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48E" }, 119951: { "value": "1D48F", "name": "MATHEMATICAL BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48F" }, 119952: { "value": "1D490", "name": "MATHEMATICAL BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD490" }, 119953: { "value": "1D491", "name": "MATHEMATICAL BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD491" }, 119954: { "value": "1D492", "name": "MATHEMATICAL BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD492" }, 119955: { "value": "1D493", "name": "MATHEMATICAL BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD493" }, 119956: { "value": "1D494", "name": "MATHEMATICAL BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD494" }, 119957: { "value": "1D495", "name": "MATHEMATICAL BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD495" }, 119958: { "value": "1D496", "name": "MATHEMATICAL BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD496" }, 119959: { "value": "1D497", "name": "MATHEMATICAL BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD497" }, 119960: { "value": "1D498", "name": "MATHEMATICAL BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD498" }, 119961: { "value": "1D499", "name": "MATHEMATICAL BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD499" }, 119962: { "value": "1D49A", "name": "MATHEMATICAL BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49A" }, 119963: { "value": "1D49B", "name": "MATHEMATICAL BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49B" }, 119990: { "value": "1D4B6", "name": "MATHEMATICAL SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B6" }, 119991: { "value": "1D4B7", "name": "MATHEMATICAL SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B7" }, 119992: { "value": "1D4B8", "name": "MATHEMATICAL SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B8" }, 119993: { "value": "1D4B9", "name": "MATHEMATICAL SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B9" }, 119995: { "value": "1D4BB", "name": "MATHEMATICAL SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BB" }, 119997: { "value": "1D4BD", "name": "MATHEMATICAL SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BD" }, 119998: { "value": "1D4BE", "name": "MATHEMATICAL SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BE" }, 119999: { "value": "1D4BF", "name": "MATHEMATICAL SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BF" }, 120000: { "value": "1D4C0", "name": "MATHEMATICAL SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C0" }, 120001: { "value": "1D4C1", "name": "MATHEMATICAL SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C1" }, 120002: { "value": "1D4C2", "name": "MATHEMATICAL SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C2" }, 120003: { "value": "1D4C3", "name": "MATHEMATICAL SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C3" }, 120005: { "value": "1D4C5", "name": "MATHEMATICAL SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C5" }, 120006: { "value": "1D4C6", "name": "MATHEMATICAL SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C6" }, 120007: { "value": "1D4C7", "name": "MATHEMATICAL SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C7" }, 120008: { "value": "1D4C8", "name": "MATHEMATICAL SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C8" }, 120009: { "value": "1D4C9", "name": "MATHEMATICAL SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C9" }, 120010: { "value": "1D4CA", "name": "MATHEMATICAL SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CA" }, 120011: { "value": "1D4CB", "name": "MATHEMATICAL SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CB" }, 120012: { "value": "1D4CC", "name": "MATHEMATICAL SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CC" }, 120013: { "value": "1D4CD", "name": "MATHEMATICAL SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CD" }, 120014: { "value": "1D4CE", "name": "MATHEMATICAL SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CE" }, 120015: { "value": "1D4CF", "name": "MATHEMATICAL SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CF" }, 120042: { "value": "1D4EA", "name": "MATHEMATICAL BOLD SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EA" }, 120043: { "value": "1D4EB", "name": "MATHEMATICAL BOLD SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EB" }, 120044: { "value": "1D4EC", "name": "MATHEMATICAL BOLD SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EC" }, 120045: { "value": "1D4ED", "name": "MATHEMATICAL BOLD SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4ED" }, 120046: { "value": "1D4EE", "name": "MATHEMATICAL BOLD SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EE" }, 120047: { "value": "1D4EF", "name": "MATHEMATICAL BOLD SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EF" }, 120048: { "value": "1D4F0", "name": "MATHEMATICAL BOLD SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F0" }, 120049: { "value": "1D4F1", "name": "MATHEMATICAL BOLD SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F1" }, 120050: { "value": "1D4F2", "name": "MATHEMATICAL BOLD SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F2" }, 120051: { "value": "1D4F3", "name": "MATHEMATICAL BOLD SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F3" }, 120052: { "value": "1D4F4", "name": "MATHEMATICAL BOLD SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F4" }, 120053: { "value": "1D4F5", "name": "MATHEMATICAL BOLD SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F5" }, 120054: { "value": "1D4F6", "name": "MATHEMATICAL BOLD SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F6" }, 120055: { "value": "1D4F7", "name": "MATHEMATICAL BOLD SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F7" }, 120056: { "value": "1D4F8", "name": "MATHEMATICAL BOLD SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F8" }, 120057: { "value": "1D4F9", "name": "MATHEMATICAL BOLD SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F9" }, 120058: { "value": "1D4FA", "name": "MATHEMATICAL BOLD SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FA" }, 120059: { "value": "1D4FB", "name": "MATHEMATICAL BOLD SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FB" }, 120060: { "value": "1D4FC", "name": "MATHEMATICAL BOLD SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FC" }, 120061: { "value": "1D4FD", "name": "MATHEMATICAL BOLD SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FD" }, 120062: { "value": "1D4FE", "name": "MATHEMATICAL BOLD SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FE" }, 120063: { "value": "1D4FF", "name": "MATHEMATICAL BOLD SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FF" }, 120064: { "value": "1D500", "name": "MATHEMATICAL BOLD SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD500" }, 120065: { "value": "1D501", "name": "MATHEMATICAL BOLD SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD501" }, 120066: { "value": "1D502", "name": "MATHEMATICAL BOLD SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD502" }, 120067: { "value": "1D503", "name": "MATHEMATICAL BOLD SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD503" }, 120094: { "value": "1D51E", "name": "MATHEMATICAL FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51E" }, 120095: { "value": "1D51F", "name": "MATHEMATICAL FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51F" }, 120096: { "value": "1D520", "name": "MATHEMATICAL FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD520" }, 120097: { "value": "1D521", "name": "MATHEMATICAL FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD521" }, 120098: { "value": "1D522", "name": "MATHEMATICAL FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD522" }, 120099: { "value": "1D523", "name": "MATHEMATICAL FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD523" }, 120100: { "value": "1D524", "name": "MATHEMATICAL FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD524" }, 120101: { "value": "1D525", "name": "MATHEMATICAL FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD525" }, 120102: { "value": "1D526", "name": "MATHEMATICAL FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD526" }, 120103: { "value": "1D527", "name": "MATHEMATICAL FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD527" }, 120104: { "value": "1D528", "name": "MATHEMATICAL FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD528" }, 120105: { "value": "1D529", "name": "MATHEMATICAL FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD529" }, 120106: { "value": "1D52A", "name": "MATHEMATICAL FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52A" }, 120107: { "value": "1D52B", "name": "MATHEMATICAL FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52B" }, 120108: { "value": "1D52C", "name": "MATHEMATICAL FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52C" }, 120109: { "value": "1D52D", "name": "MATHEMATICAL FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52D" }, 120110: { "value": "1D52E", "name": "MATHEMATICAL FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52E" }, 120111: { "value": "1D52F", "name": "MATHEMATICAL FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52F" }, 120112: { "value": "1D530", "name": "MATHEMATICAL FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD530" }, 120113: { "value": "1D531", "name": "MATHEMATICAL FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD531" }, 120114: { "value": "1D532", "name": "MATHEMATICAL FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD532" }, 120115: { "value": "1D533", "name": "MATHEMATICAL FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD533" }, 120116: { "value": "1D534", "name": "MATHEMATICAL FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD534" }, 120117: { "value": "1D535", "name": "MATHEMATICAL FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD535" }, 120118: { "value": "1D536", "name": "MATHEMATICAL FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD536" }, 120119: { "value": "1D537", "name": "MATHEMATICAL FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD537" }, 120146: { "value": "1D552", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD552" }, 120147: { "value": "1D553", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD553" }, 120148: { "value": "1D554", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD554" }, 120149: { "value": "1D555", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD555" }, 120150: { "value": "1D556", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD556" }, 120151: { "value": "1D557", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD557" }, 120152: { "value": "1D558", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD558" }, 120153: { "value": "1D559", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD559" }, 120154: { "value": "1D55A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55A" }, 120155: { "value": "1D55B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55B" }, 120156: { "value": "1D55C", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55C" }, 120157: { "value": "1D55D", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55D" }, 120158: { "value": "1D55E", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55E" }, 120159: { "value": "1D55F", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55F" }, 120160: { "value": "1D560", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD560" }, 120161: { "value": "1D561", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD561" }, 120162: { "value": "1D562", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD562" }, 120163: { "value": "1D563", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD563" }, 120164: { "value": "1D564", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD564" }, 120165: { "value": "1D565", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD565" }, 120166: { "value": "1D566", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD566" }, 120167: { "value": "1D567", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD567" }, 120168: { "value": "1D568", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD568" }, 120169: { "value": "1D569", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD569" }, 120170: { "value": "1D56A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56A" }, 120171: { "value": "1D56B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56B" }, 120198: { "value": "1D586", "name": "MATHEMATICAL BOLD FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD586" }, 120199: { "value": "1D587", "name": "MATHEMATICAL BOLD FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD587" }, 120200: { "value": "1D588", "name": "MATHEMATICAL BOLD FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD588" }, 120201: { "value": "1D589", "name": "MATHEMATICAL BOLD FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD589" }, 120202: { "value": "1D58A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58A" }, 120203: { "value": "1D58B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58B" }, 120204: { "value": "1D58C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58C" }, 120205: { "value": "1D58D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58D" }, 120206: { "value": "1D58E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58E" }, 120207: { "value": "1D58F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58F" }, 120208: { "value": "1D590", "name": "MATHEMATICAL BOLD FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD590" }, 120209: { "value": "1D591", "name": "MATHEMATICAL BOLD FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD591" }, 120210: { "value": "1D592", "name": "MATHEMATICAL BOLD FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD592" }, 120211: { "value": "1D593", "name": "MATHEMATICAL BOLD FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD593" }, 120212: { "value": "1D594", "name": "MATHEMATICAL BOLD FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD594" }, 120213: { "value": "1D595", "name": "MATHEMATICAL BOLD FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD595" }, 120214: { "value": "1D596", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD596" }, 120215: { "value": "1D597", "name": "MATHEMATICAL BOLD FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD597" }, 120216: { "value": "1D598", "name": "MATHEMATICAL BOLD FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD598" }, 120217: { "value": "1D599", "name": "MATHEMATICAL BOLD FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD599" }, 120218: { "value": "1D59A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59A" }, 120219: { "value": "1D59B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59B" }, 120220: { "value": "1D59C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59C" }, 120221: { "value": "1D59D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59D" }, 120222: { "value": "1D59E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59E" }, 120223: { "value": "1D59F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59F" }, 120250: { "value": "1D5BA", "name": "MATHEMATICAL SANS-SERIF SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BA" }, 120251: { "value": "1D5BB", "name": "MATHEMATICAL SANS-SERIF SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BB" }, 120252: { "value": "1D5BC", "name": "MATHEMATICAL SANS-SERIF SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BC" }, 120253: { "value": "1D5BD", "name": "MATHEMATICAL SANS-SERIF SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BD" }, 120254: { "value": "1D5BE", "name": "MATHEMATICAL SANS-SERIF SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BE" }, 120255: { "value": "1D5BF", "name": "MATHEMATICAL SANS-SERIF SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BF" }, 120256: { "value": "1D5C0", "name": "MATHEMATICAL SANS-SERIF SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C0" }, 120257: { "value": "1D5C1", "name": "MATHEMATICAL SANS-SERIF SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C1" }, 120258: { "value": "1D5C2", "name": "MATHEMATICAL SANS-SERIF SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C2" }, 120259: { "value": "1D5C3", "name": "MATHEMATICAL SANS-SERIF SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C3" }, 120260: { "value": "1D5C4", "name": "MATHEMATICAL SANS-SERIF SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C4" }, 120261: { "value": "1D5C5", "name": "MATHEMATICAL SANS-SERIF SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C5" }, 120262: { "value": "1D5C6", "name": "MATHEMATICAL SANS-SERIF SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C6" }, 120263: { "value": "1D5C7", "name": "MATHEMATICAL SANS-SERIF SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C7" }, 120264: { "value": "1D5C8", "name": "MATHEMATICAL SANS-SERIF SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C8" }, 120265: { "value": "1D5C9", "name": "MATHEMATICAL SANS-SERIF SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C9" }, 120266: { "value": "1D5CA", "name": "MATHEMATICAL SANS-SERIF SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CA" }, 120267: { "value": "1D5CB", "name": "MATHEMATICAL SANS-SERIF SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CB" }, 120268: { "value": "1D5CC", "name": "MATHEMATICAL SANS-SERIF SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CC" }, 120269: { "value": "1D5CD", "name": "MATHEMATICAL SANS-SERIF SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CD" }, 120270: { "value": "1D5CE", "name": "MATHEMATICAL SANS-SERIF SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CE" }, 120271: { "value": "1D5CF", "name": "MATHEMATICAL SANS-SERIF SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CF" }, 120272: { "value": "1D5D0", "name": "MATHEMATICAL SANS-SERIF SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D0" }, 120273: { "value": "1D5D1", "name": "MATHEMATICAL SANS-SERIF SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D1" }, 120274: { "value": "1D5D2", "name": "MATHEMATICAL SANS-SERIF SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D2" }, 120275: { "value": "1D5D3", "name": "MATHEMATICAL SANS-SERIF SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D3" }, 120302: { "value": "1D5EE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EE" }, 120303: { "value": "1D5EF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EF" }, 120304: { "value": "1D5F0", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F0" }, 120305: { "value": "1D5F1", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F1" }, 120306: { "value": "1D5F2", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F2" }, 120307: { "value": "1D5F3", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F3" }, 120308: { "value": "1D5F4", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F4" }, 120309: { "value": "1D5F5", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F5" }, 120310: { "value": "1D5F6", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F6" }, 120311: { "value": "1D5F7", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F7" }, 120312: { "value": "1D5F8", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F8" }, 120313: { "value": "1D5F9", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F9" }, 120314: { "value": "1D5FA", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FA" }, 120315: { "value": "1D5FB", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FB" }, 120316: { "value": "1D5FC", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FC" }, 120317: { "value": "1D5FD", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FD" }, 120318: { "value": "1D5FE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FE" }, 120319: { "value": "1D5FF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FF" }, 120320: { "value": "1D600", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD600" }, 120321: { "value": "1D601", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD601" }, 120322: { "value": "1D602", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD602" }, 120323: { "value": "1D603", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD603" }, 120324: { "value": "1D604", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD604" }, 120325: { "value": "1D605", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD605" }, 120326: { "value": "1D606", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD606" }, 120327: { "value": "1D607", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD607" }, 120354: { "value": "1D622", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD622" }, 120355: { "value": "1D623", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD623" }, 120356: { "value": "1D624", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD624" }, 120357: { "value": "1D625", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD625" }, 120358: { "value": "1D626", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD626" }, 120359: { "value": "1D627", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD627" }, 120360: { "value": "1D628", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD628" }, 120361: { "value": "1D629", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD629" }, 120362: { "value": "1D62A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62A" }, 120363: { "value": "1D62B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62B" }, 120364: { "value": "1D62C", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62C" }, 120365: { "value": "1D62D", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62D" }, 120366: { "value": "1D62E", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62E" }, 120367: { "value": "1D62F", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62F" }, 120368: { "value": "1D630", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD630" }, 120369: { "value": "1D631", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD631" }, 120370: { "value": "1D632", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD632" }, 120371: { "value": "1D633", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD633" }, 120372: { "value": "1D634", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD634" }, 120373: { "value": "1D635", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD635" }, 120374: { "value": "1D636", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD636" }, 120375: { "value": "1D637", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD637" }, 120376: { "value": "1D638", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD638" }, 120377: { "value": "1D639", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD639" }, 120378: { "value": "1D63A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63A" }, 120379: { "value": "1D63B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63B" }, 120406: { "value": "1D656", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD656" }, 120407: { "value": "1D657", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD657" }, 120408: { "value": "1D658", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD658" }, 120409: { "value": "1D659", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD659" }, 120410: { "value": "1D65A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65A" }, 120411: { "value": "1D65B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65B" }, 120412: { "value": "1D65C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65C" }, 120413: { "value": "1D65D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65D" }, 120414: { "value": "1D65E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65E" }, 120415: { "value": "1D65F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65F" }, 120416: { "value": "1D660", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD660" }, 120417: { "value": "1D661", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD661" }, 120418: { "value": "1D662", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD662" }, 120419: { "value": "1D663", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD663" }, 120420: { "value": "1D664", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD664" }, 120421: { "value": "1D665", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD665" }, 120422: { "value": "1D666", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD666" }, 120423: { "value": "1D667", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD667" }, 120424: { "value": "1D668", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD668" }, 120425: { "value": "1D669", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD669" }, 120426: { "value": "1D66A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66A" }, 120427: { "value": "1D66B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66B" }, 120428: { "value": "1D66C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66C" }, 120429: { "value": "1D66D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66D" }, 120430: { "value": "1D66E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66E" }, 120431: { "value": "1D66F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66F" }, 120458: { "value": "1D68A", "name": "MATHEMATICAL MONOSPACE SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68A" }, 120459: { "value": "1D68B", "name": "MATHEMATICAL MONOSPACE SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68B" }, 120460: { "value": "1D68C", "name": "MATHEMATICAL MONOSPACE SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68C" }, 120461: { "value": "1D68D", "name": "MATHEMATICAL MONOSPACE SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68D" }, 120462: { "value": "1D68E", "name": "MATHEMATICAL MONOSPACE SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68E" }, 120463: { "value": "1D68F", "name": "MATHEMATICAL MONOSPACE SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68F" }, 120464: { "value": "1D690", "name": "MATHEMATICAL MONOSPACE SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD690" }, 120465: { "value": "1D691", "name": "MATHEMATICAL MONOSPACE SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD691" }, 120466: { "value": "1D692", "name": "MATHEMATICAL MONOSPACE SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD692" }, 120467: { "value": "1D693", "name": "MATHEMATICAL MONOSPACE SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD693" }, 120468: { "value": "1D694", "name": "MATHEMATICAL MONOSPACE SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD694" }, 120469: { "value": "1D695", "name": "MATHEMATICAL MONOSPACE SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD695" }, 120470: { "value": "1D696", "name": "MATHEMATICAL MONOSPACE SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD696" }, 120471: { "value": "1D697", "name": "MATHEMATICAL MONOSPACE SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD697" }, 120472: { "value": "1D698", "name": "MATHEMATICAL MONOSPACE SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD698" }, 120473: { "value": "1D699", "name": "MATHEMATICAL MONOSPACE SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD699" }, 120474: { "value": "1D69A", "name": "MATHEMATICAL MONOSPACE SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69A" }, 120475: { "value": "1D69B", "name": "MATHEMATICAL MONOSPACE SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69B" }, 120476: { "value": "1D69C", "name": "MATHEMATICAL MONOSPACE SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69C" }, 120477: { "value": "1D69D", "name": "MATHEMATICAL MONOSPACE SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69D" }, 120478: { "value": "1D69E", "name": "MATHEMATICAL MONOSPACE SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69E" }, 120479: { "value": "1D69F", "name": "MATHEMATICAL MONOSPACE SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69F" }, 120480: { "value": "1D6A0", "name": "MATHEMATICAL MONOSPACE SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A0" }, 120481: { "value": "1D6A1", "name": "MATHEMATICAL MONOSPACE SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A1" }, 120482: { "value": "1D6A2", "name": "MATHEMATICAL MONOSPACE SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A2" }, 120483: { "value": "1D6A3", "name": "MATHEMATICAL MONOSPACE SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A3" }, 120484: { "value": "1D6A4", "name": "MATHEMATICAL ITALIC SMALL DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0131", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A4" }, 120485: { "value": "1D6A5", "name": "MATHEMATICAL ITALIC SMALL DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0237", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A5" }, 120514: { "value": "1D6C2", "name": "MATHEMATICAL BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C2" }, 120515: { "value": "1D6C3", "name": "MATHEMATICAL BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C3" }, 120516: { "value": "1D6C4", "name": "MATHEMATICAL BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C4" }, 120517: { "value": "1D6C5", "name": "MATHEMATICAL BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C5" }, 120518: { "value": "1D6C6", "name": "MATHEMATICAL BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C6" }, 120519: { "value": "1D6C7", "name": "MATHEMATICAL BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C7" }, 120520: { "value": "1D6C8", "name": "MATHEMATICAL BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C8" }, 120521: { "value": "1D6C9", "name": "MATHEMATICAL BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C9" }, 120522: { "value": "1D6CA", "name": "MATHEMATICAL BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CA" }, 120523: { "value": "1D6CB", "name": "MATHEMATICAL BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CB" }, 120524: { "value": "1D6CC", "name": "MATHEMATICAL BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CC" }, 120525: { "value": "1D6CD", "name": "MATHEMATICAL BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CD" }, 120526: { "value": "1D6CE", "name": "MATHEMATICAL BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CE" }, 120527: { "value": "1D6CF", "name": "MATHEMATICAL BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CF" }, 120528: { "value": "1D6D0", "name": "MATHEMATICAL BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D0" }, 120529: { "value": "1D6D1", "name": "MATHEMATICAL BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D1" }, 120530: { "value": "1D6D2", "name": "MATHEMATICAL BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D2" }, 120531: { "value": "1D6D3", "name": "MATHEMATICAL BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D3" }, 120532: { "value": "1D6D4", "name": "MATHEMATICAL BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D4" }, 120533: { "value": "1D6D5", "name": "MATHEMATICAL BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D5" }, 120534: { "value": "1D6D6", "name": "MATHEMATICAL BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D6" }, 120535: { "value": "1D6D7", "name": "MATHEMATICAL BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D7" }, 120536: { "value": "1D6D8", "name": "MATHEMATICAL BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D8" }, 120537: { "value": "1D6D9", "name": "MATHEMATICAL BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D9" }, 120538: { "value": "1D6DA", "name": "MATHEMATICAL BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DA" }, 120540: { "value": "1D6DC", "name": "MATHEMATICAL BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DC" }, 120541: { "value": "1D6DD", "name": "MATHEMATICAL BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DD" }, 120542: { "value": "1D6DE", "name": "MATHEMATICAL BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DE" }, 120543: { "value": "1D6DF", "name": "MATHEMATICAL BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DF" }, 120544: { "value": "1D6E0", "name": "MATHEMATICAL BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E0" }, 120545: { "value": "1D6E1", "name": "MATHEMATICAL BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E1" }, 120572: { "value": "1D6FC", "name": "MATHEMATICAL ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FC" }, 120573: { "value": "1D6FD", "name": "MATHEMATICAL ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FD" }, 120574: { "value": "1D6FE", "name": "MATHEMATICAL ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FE" }, 120575: { "value": "1D6FF", "name": "MATHEMATICAL ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FF" }, 120576: { "value": "1D700", "name": "MATHEMATICAL ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD700" }, 120577: { "value": "1D701", "name": "MATHEMATICAL ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD701" }, 120578: { "value": "1D702", "name": "MATHEMATICAL ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD702" }, 120579: { "value": "1D703", "name": "MATHEMATICAL ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD703" }, 120580: { "value": "1D704", "name": "MATHEMATICAL ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD704" }, 120581: { "value": "1D705", "name": "MATHEMATICAL ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD705" }, 120582: { "value": "1D706", "name": "MATHEMATICAL ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD706" }, 120583: { "value": "1D707", "name": "MATHEMATICAL ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD707" }, 120584: { "value": "1D708", "name": "MATHEMATICAL ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD708" }, 120585: { "value": "1D709", "name": "MATHEMATICAL ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD709" }, 120586: { "value": "1D70A", "name": "MATHEMATICAL ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70A" }, 120587: { "value": "1D70B", "name": "MATHEMATICAL ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70B" }, 120588: { "value": "1D70C", "name": "MATHEMATICAL ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70C" }, 120589: { "value": "1D70D", "name": "MATHEMATICAL ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70D" }, 120590: { "value": "1D70E", "name": "MATHEMATICAL ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70E" }, 120591: { "value": "1D70F", "name": "MATHEMATICAL ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70F" }, 120592: { "value": "1D710", "name": "MATHEMATICAL ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD710" }, 120593: { "value": "1D711", "name": "MATHEMATICAL ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD711" }, 120594: { "value": "1D712", "name": "MATHEMATICAL ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD712" }, 120595: { "value": "1D713", "name": "MATHEMATICAL ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD713" }, 120596: { "value": "1D714", "name": "MATHEMATICAL ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD714" }, 120598: { "value": "1D716", "name": "MATHEMATICAL ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD716" }, 120599: { "value": "1D717", "name": "MATHEMATICAL ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD717" }, 120600: { "value": "1D718", "name": "MATHEMATICAL ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD718" }, 120601: { "value": "1D719", "name": "MATHEMATICAL ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD719" }, 120602: { "value": "1D71A", "name": "MATHEMATICAL ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71A" }, 120603: { "value": "1D71B", "name": "MATHEMATICAL ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71B" }, 120630: { "value": "1D736", "name": "MATHEMATICAL BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD736" }, 120631: { "value": "1D737", "name": "MATHEMATICAL BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD737" }, 120632: { "value": "1D738", "name": "MATHEMATICAL BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD738" }, 120633: { "value": "1D739", "name": "MATHEMATICAL BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD739" }, 120634: { "value": "1D73A", "name": "MATHEMATICAL BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73A" }, 120635: { "value": "1D73B", "name": "MATHEMATICAL BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73B" }, 120636: { "value": "1D73C", "name": "MATHEMATICAL BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73C" }, 120637: { "value": "1D73D", "name": "MATHEMATICAL BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73D" }, 120638: { "value": "1D73E", "name": "MATHEMATICAL BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73E" }, 120639: { "value": "1D73F", "name": "MATHEMATICAL BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73F" }, 120640: { "value": "1D740", "name": "MATHEMATICAL BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD740" }, 120641: { "value": "1D741", "name": "MATHEMATICAL BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD741" }, 120642: { "value": "1D742", "name": "MATHEMATICAL BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD742" }, 120643: { "value": "1D743", "name": "MATHEMATICAL BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD743" }, 120644: { "value": "1D744", "name": "MATHEMATICAL BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD744" }, 120645: { "value": "1D745", "name": "MATHEMATICAL BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD745" }, 120646: { "value": "1D746", "name": "MATHEMATICAL BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD746" }, 120647: { "value": "1D747", "name": "MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD747" }, 120648: { "value": "1D748", "name": "MATHEMATICAL BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD748" }, 120649: { "value": "1D749", "name": "MATHEMATICAL BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD749" }, 120650: { "value": "1D74A", "name": "MATHEMATICAL BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74A" }, 120651: { "value": "1D74B", "name": "MATHEMATICAL BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74B" }, 120652: { "value": "1D74C", "name": "MATHEMATICAL BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74C" }, 120653: { "value": "1D74D", "name": "MATHEMATICAL BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74D" }, 120654: { "value": "1D74E", "name": "MATHEMATICAL BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74E" }, 120656: { "value": "1D750", "name": "MATHEMATICAL BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD750" }, 120657: { "value": "1D751", "name": "MATHEMATICAL BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD751" }, 120658: { "value": "1D752", "name": "MATHEMATICAL BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD752" }, 120659: { "value": "1D753", "name": "MATHEMATICAL BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD753" }, 120660: { "value": "1D754", "name": "MATHEMATICAL BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD754" }, 120661: { "value": "1D755", "name": "MATHEMATICAL BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD755" }, 120688: { "value": "1D770", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD770" }, 120689: { "value": "1D771", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD771" }, 120690: { "value": "1D772", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD772" }, 120691: { "value": "1D773", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD773" }, 120692: { "value": "1D774", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD774" }, 120693: { "value": "1D775", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD775" }, 120694: { "value": "1D776", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD776" }, 120695: { "value": "1D777", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD777" }, 120696: { "value": "1D778", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD778" }, 120697: { "value": "1D779", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD779" }, 120698: { "value": "1D77A", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77A" }, 120699: { "value": "1D77B", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77B" }, 120700: { "value": "1D77C", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77C" }, 120701: { "value": "1D77D", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77D" }, 120702: { "value": "1D77E", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77E" }, 120703: { "value": "1D77F", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77F" }, 120704: { "value": "1D780", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD780" }, 120705: { "value": "1D781", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD781" }, 120706: { "value": "1D782", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD782" }, 120707: { "value": "1D783", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD783" }, 120708: { "value": "1D784", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD784" }, 120709: { "value": "1D785", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD785" }, 120710: { "value": "1D786", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD786" }, 120711: { "value": "1D787", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD787" }, 120712: { "value": "1D788", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD788" }, 120714: { "value": "1D78A", "name": "MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78A" }, 120715: { "value": "1D78B", "name": "MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78B" }, 120716: { "value": "1D78C", "name": "MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78C" }, 120717: { "value": "1D78D", "name": "MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78D" }, 120718: { "value": "1D78E", "name": "MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78E" }, 120719: { "value": "1D78F", "name": "MATHEMATICAL SANS-SERIF BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78F" }, 120746: { "value": "1D7AA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AA" }, 120747: { "value": "1D7AB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AB" }, 120748: { "value": "1D7AC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AC" }, 120749: { "value": "1D7AD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AD" }, 120750: { "value": "1D7AE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AE" }, 120751: { "value": "1D7AF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AF" }, 120752: { "value": "1D7B0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B0" }, 120753: { "value": "1D7B1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B1" }, 120754: { "value": "1D7B2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B2" }, 120755: { "value": "1D7B3", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B3" }, 120756: { "value": "1D7B4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B4" }, 120757: { "value": "1D7B5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B5" }, 120758: { "value": "1D7B6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B6" }, 120759: { "value": "1D7B7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B7" }, 120760: { "value": "1D7B8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B8" }, 120761: { "value": "1D7B9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B9" }, 120762: { "value": "1D7BA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BA" }, 120763: { "value": "1D7BB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BB" }, 120764: { "value": "1D7BC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BC" }, 120765: { "value": "1D7BD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BD" }, 120766: { "value": "1D7BE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BE" }, 120767: { "value": "1D7BF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BF" }, 120768: { "value": "1D7C0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C0" }, 120769: { "value": "1D7C1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C1" }, 120770: { "value": "1D7C2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C2" }, 120772: { "value": "1D7C4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C4" }, 120773: { "value": "1D7C5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C5" }, 120774: { "value": "1D7C6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C6" }, 120775: { "value": "1D7C7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C7" }, 120776: { "value": "1D7C8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C8" }, 120777: { "value": "1D7C9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C9" }, 120779: { "value": "1D7CB", "name": "MATHEMATICAL BOLD SMALL DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03DD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7CB" }, 125218: { "value": "1E922", "name": "ADLAM SMALL LETTER ALIF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E900", "lowercase_mapping": "", "titlecase_mapping": "1E900", "symbol": "\uE922" }, 125219: { "value": "1E923", "name": "ADLAM SMALL LETTER DAALI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E901", "lowercase_mapping": "", "titlecase_mapping": "1E901", "symbol": "\uE923" }, 125220: { "value": "1E924", "name": "ADLAM SMALL LETTER LAAM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E902", "lowercase_mapping": "", "titlecase_mapping": "1E902", "symbol": "\uE924" }, 125221: { "value": "1E925", "name": "ADLAM SMALL LETTER MIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E903", "lowercase_mapping": "", "titlecase_mapping": "1E903", "symbol": "\uE925" }, 125222: { "value": "1E926", "name": "ADLAM SMALL LETTER BA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E904", "lowercase_mapping": "", "titlecase_mapping": "1E904", "symbol": "\uE926" }, 125223: { "value": "1E927", "name": "ADLAM SMALL LETTER SINNYIIYHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E905", "lowercase_mapping": "", "titlecase_mapping": "1E905", "symbol": "\uE927" }, 125224: { "value": "1E928", "name": "ADLAM SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E906", "lowercase_mapping": "", "titlecase_mapping": "1E906", "symbol": "\uE928" }, 125225: { "value": "1E929", "name": "ADLAM SMALL LETTER BHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E907", "lowercase_mapping": "", "titlecase_mapping": "1E907", "symbol": "\uE929" }, 125226: { "value": "1E92A", "name": "ADLAM SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E908", "lowercase_mapping": "", "titlecase_mapping": "1E908", "symbol": "\uE92A" }, 125227: { "value": "1E92B", "name": "ADLAM SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E909", "lowercase_mapping": "", "titlecase_mapping": "1E909", "symbol": "\uE92B" }, 125228: { "value": "1E92C", "name": "ADLAM SMALL LETTER FA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90A", "lowercase_mapping": "", "titlecase_mapping": "1E90A", "symbol": "\uE92C" }, 125229: { "value": "1E92D", "name": "ADLAM SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90B", "lowercase_mapping": "", "titlecase_mapping": "1E90B", "symbol": "\uE92D" }, 125230: { "value": "1E92E", "name": "ADLAM SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90C", "lowercase_mapping": "", "titlecase_mapping": "1E90C", "symbol": "\uE92E" }, 125231: { "value": "1E92F", "name": "ADLAM SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90D", "lowercase_mapping": "", "titlecase_mapping": "1E90D", "symbol": "\uE92F" }, 125232: { "value": "1E930", "name": "ADLAM SMALL LETTER YHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90E", "lowercase_mapping": "", "titlecase_mapping": "1E90E", "symbol": "\uE930" }, 125233: { "value": "1E931", "name": "ADLAM SMALL LETTER WAW", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90F", "lowercase_mapping": "", "titlecase_mapping": "1E90F", "symbol": "\uE931" }, 125234: { "value": "1E932", "name": "ADLAM SMALL LETTER NUN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E910", "lowercase_mapping": "", "titlecase_mapping": "1E910", "symbol": "\uE932" }, 125235: { "value": "1E933", "name": "ADLAM SMALL LETTER KAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E911", "lowercase_mapping": "", "titlecase_mapping": "1E911", "symbol": "\uE933" }, 125236: { "value": "1E934", "name": "ADLAM SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E912", "lowercase_mapping": "", "titlecase_mapping": "1E912", "symbol": "\uE934" }, 125237: { "value": "1E935", "name": "ADLAM SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E913", "lowercase_mapping": "", "titlecase_mapping": "1E913", "symbol": "\uE935" }, 125238: { "value": "1E936", "name": "ADLAM SMALL LETTER JIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E914", "lowercase_mapping": "", "titlecase_mapping": "1E914", "symbol": "\uE936" }, 125239: { "value": "1E937", "name": "ADLAM SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E915", "lowercase_mapping": "", "titlecase_mapping": "1E915", "symbol": "\uE937" }, 125240: { "value": "1E938", "name": "ADLAM SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E916", "lowercase_mapping": "", "titlecase_mapping": "1E916", "symbol": "\uE938" }, 125241: { "value": "1E939", "name": "ADLAM SMALL LETTER QAAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E917", "lowercase_mapping": "", "titlecase_mapping": "1E917", "symbol": "\uE939" }, 125242: { "value": "1E93A", "name": "ADLAM SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E918", "lowercase_mapping": "", "titlecase_mapping": "1E918", "symbol": "\uE93A" }, 125243: { "value": "1E93B", "name": "ADLAM SMALL LETTER NYA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E919", "lowercase_mapping": "", "titlecase_mapping": "1E919", "symbol": "\uE93B" }, 125244: { "value": "1E93C", "name": "ADLAM SMALL LETTER TU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91A", "lowercase_mapping": "", "titlecase_mapping": "1E91A", "symbol": "\uE93C" }, 125245: { "value": "1E93D", "name": "ADLAM SMALL LETTER NHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91B", "lowercase_mapping": "", "titlecase_mapping": "1E91B", "symbol": "\uE93D" }, 125246: { "value": "1E93E", "name": "ADLAM SMALL LETTER VA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91C", "lowercase_mapping": "", "titlecase_mapping": "1E91C", "symbol": "\uE93E" }, 125247: { "value": "1E93F", "name": "ADLAM SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91D", "lowercase_mapping": "", "titlecase_mapping": "1E91D", "symbol": "\uE93F" }, 125248: { "value": "1E940", "name": "ADLAM SMALL LETTER GBE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91E", "lowercase_mapping": "", "titlecase_mapping": "1E91E", "symbol": "\uE940" }, 125249: { "value": "1E941", "name": "ADLAM SMALL LETTER ZAL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91F", "lowercase_mapping": "", "titlecase_mapping": "1E91F", "symbol": "\uE941" }, 125250: { "value": "1E942", "name": "ADLAM SMALL LETTER KPO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E920", "lowercase_mapping": "", "titlecase_mapping": "1E920", "symbol": "\uE942" }, 125251: { "value": "1E943", "name": "ADLAM SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E921", "lowercase_mapping": "", "titlecase_mapping": "1E921", "symbol": "\uE943" } }; - // async filereader - var fileReader = new FileReader(); - fileReader.onload = function () { - // this.result == arraybuffer - if (containingObject) { - containingObject[curKey] = this.result; - } else { - bloblessData = this.result; - } +},{}],768:[function(require,module,exports){ +"use strict"; - // if nothing pending its callback time - if (! --pendingBlobs) { - callback(bloblessData); - } - }; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer - } else if (isArray(obj)) { - // handle array - for (var i = 0; i < obj.length; i++) { - _removeBlobs(obj[i], i, obj); - } - } else if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && !isBuf(obj)) { - // and object - for (var key in obj) { - _removeBlobs(obj[key], key, obj); - } - } - } +(function (root) { + "use strict"; - var pendingBlobs = 0; - var bloblessData = data; - _removeBlobs(bloblessData); - if (!pendingBlobs) { - callback(bloblessData); - } -}; + /***** unorm.js *****/ -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./is-buffer":760,"isarray":763}],759:[function(require,module,exports){ -'use strict'; + /* + * UnicodeNormalizer 1.0.0 + * Copyright (c) 2008 Matsuza + * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. + * $Date: 2008-06-05 16:44:17 +0200 (Thu, 05 Jun 2008) $ + * $Rev: 13309 $ + */ -/** - * Module dependencies. - */ + var DEFAULT_FEATURE = [null, 0, {}]; + var CACHE_THRESHOLD = 10; + var SBase = 0xAC00, + LBase = 0x1100, + VBase = 0x1161, + TBase = 0x11A7, + LCount = 19, + VCount = 21, + TCount = 28; + var NCount = VCount * TCount; // 588 + var SCount = LCount * NCount; // 11172 -var debug = require('debug')('socket.io-parser'); -var Emitter = require('component-emitter'); -var binary = require('./binary'); -var isArray = require('isarray'); -var isBuf = require('./is-buffer'); + var UChar = function UChar(cp, feature) { + this.codepoint = cp; + this.feature = feature; + }; -/** - * Protocol version. - * - * @api public - */ + // Strategies + var cache = {}; + var cacheCounter = []; + for (var i = 0; i <= 0xFF; ++i) { + cacheCounter[i] = 0; + } -exports.protocol = 4; + function fromCache(next, cp, needFeature) { + var ret = cache[cp]; + if (!ret) { + ret = next(cp, needFeature); + if (!!ret.feature && ++cacheCounter[cp >> 8 & 0xFF] > CACHE_THRESHOLD) { + cache[cp] = ret; + } + } + return ret; + } -/** - * Packet types. - * - * @api public - */ + function fromData(next, cp, needFeature) { + var hash = cp & 0xFF00; + var dunit = UChar.udata[hash] || {}; + var f = dunit[cp]; + return f ? new UChar(cp, f) : new UChar(cp, DEFAULT_FEATURE); + } + function fromCpOnly(next, cp, needFeature) { + return !!needFeature ? next(cp, needFeature) : new UChar(cp, null); + } + function fromRuleBasedJamo(next, cp, needFeature) { + var j; + if (cp < LBase || LBase + LCount <= cp && cp < SBase || SBase + SCount < cp) { + return next(cp, needFeature); + } + if (LBase <= cp && cp < LBase + LCount) { + var c = {}; + var base = (cp - LBase) * VCount; + for (j = 0; j < VCount; ++j) { + c[VBase + j] = SBase + TCount * (j + base); + } + return new UChar(cp, [,, c]); + } -exports.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']; + var SIndex = cp - SBase; + var TIndex = SIndex % TCount; + var feature = []; + if (TIndex !== 0) { + feature[0] = [SBase + SIndex - TIndex, TBase + TIndex]; + } else { + feature[0] = [LBase + Math.floor(SIndex / NCount), VBase + Math.floor(SIndex % NCount / TCount)]; + feature[2] = {}; + for (j = 1; j < TCount; ++j) { + feature[2][TBase + j] = cp + j; + } + } + return new UChar(cp, feature); + } + function fromCpFilter(next, cp, needFeature) { + return cp < 60 || 13311 < cp && cp < 42607 ? new UChar(cp, DEFAULT_FEATURE) : next(cp, needFeature); + } -/** - * Packet type `connect`. - * - * @api public - */ + var strategies = [fromCpFilter, fromCache, fromCpOnly, fromRuleBasedJamo, fromData]; -exports.CONNECT = 0; + UChar.fromCharCode = strategies.reduceRight(function (next, strategy) { + return function (cp, needFeature) { + return strategy(next, cp, needFeature); + }; + }, null); -/** - * Packet type `disconnect`. - * - * @api public - */ - -exports.DISCONNECT = 1; - -/** - * Packet type `event`. - * - * @api public - */ + UChar.isHighSurrogate = function (cp) { + return cp >= 0xD800 && cp <= 0xDBFF; + }; + UChar.isLowSurrogate = function (cp) { + return cp >= 0xDC00 && cp <= 0xDFFF; + }; -exports.EVENT = 2; + UChar.prototype.prepFeature = function () { + if (!this.feature) { + this.feature = UChar.fromCharCode(this.codepoint, true).feature; + } + }; -/** - * Packet type `ack`. - * - * @api public - */ + UChar.prototype.toString = function () { + if (this.codepoint < 0x10000) { + return String.fromCharCode(this.codepoint); + } else { + var x = this.codepoint - 0x10000; + return String.fromCharCode(Math.floor(x / 0x400) + 0xD800, x % 0x400 + 0xDC00); + } + }; -exports.ACK = 3; + UChar.prototype.getDecomp = function () { + this.prepFeature(); + return this.feature[0] || null; + }; -/** - * Packet type `error`. - * - * @api public - */ + UChar.prototype.isCompatibility = function () { + this.prepFeature(); + return !!this.feature[1] && this.feature[1] & 1 << 8; + }; + UChar.prototype.isExclude = function () { + this.prepFeature(); + return !!this.feature[1] && this.feature[1] & 1 << 9; + }; + UChar.prototype.getCanonicalClass = function () { + this.prepFeature(); + return !!this.feature[1] ? this.feature[1] & 0xff : 0; + }; + UChar.prototype.getComposite = function (following) { + this.prepFeature(); + if (!this.feature[2]) { + return null; + } + var cp = this.feature[2][following.codepoint]; + return cp ? UChar.fromCharCode(cp) : null; + }; -exports.ERROR = 4; + var UCharIterator = function UCharIterator(str) { + this.str = str; + this.cursor = 0; + }; + UCharIterator.prototype.next = function () { + if (!!this.str && this.cursor < this.str.length) { + var cp = this.str.charCodeAt(this.cursor++); + var d; + if (UChar.isHighSurrogate(cp) && this.cursor < this.str.length && UChar.isLowSurrogate(d = this.str.charCodeAt(this.cursor))) { + cp = (cp - 0xD800) * 0x400 + (d - 0xDC00) + 0x10000; + ++this.cursor; + } + return UChar.fromCharCode(cp); + } else { + this.str = null; + return null; + } + }; -/** - * Packet type 'binary event' - * - * @api public - */ + var RecursDecompIterator = function RecursDecompIterator(it, cano) { + this.it = it; + this.canonical = cano; + this.resBuf = []; + }; -exports.BINARY_EVENT = 5; + RecursDecompIterator.prototype.next = function () { + function recursiveDecomp(cano, uchar) { + var decomp = uchar.getDecomp(); + if (!!decomp && !(cano && uchar.isCompatibility())) { + var ret = []; + for (var i = 0; i < decomp.length; ++i) { + var a = recursiveDecomp(cano, UChar.fromCharCode(decomp[i])); + ret = ret.concat(a); + } + return ret; + } else { + return [uchar]; + } + } + if (this.resBuf.length === 0) { + var uchar = this.it.next(); + if (!uchar) { + return null; + } + this.resBuf = recursiveDecomp(this.canonical, uchar); + } + return this.resBuf.shift(); + }; -/** - * Packet type `binary ack`. For acks with binary arguments. - * - * @api public - */ + var DecompIterator = function DecompIterator(it) { + this.it = it; + this.resBuf = []; + }; -exports.BINARY_ACK = 6; + DecompIterator.prototype.next = function () { + var cc; + if (this.resBuf.length === 0) { + do { + var uchar = this.it.next(); + if (!uchar) { + break; + } + cc = uchar.getCanonicalClass(); + var inspt = this.resBuf.length; + if (cc !== 0) { + for (; inspt > 0; --inspt) { + var uchar2 = this.resBuf[inspt - 1]; + var cc2 = uchar2.getCanonicalClass(); + if (cc2 <= cc) { + break; + } + } + } + this.resBuf.splice(inspt, 0, uchar); + } while (cc !== 0); + } + return this.resBuf.shift(); + }; -/** - * Encoder constructor. - * - * @api public - */ + var CompIterator = function CompIterator(it) { + this.it = it; + this.procBuf = []; + this.resBuf = []; + this.lastClass = null; + }; -exports.Encoder = Encoder; + CompIterator.prototype.next = function () { + while (this.resBuf.length === 0) { + var uchar = this.it.next(); + if (!uchar) { + this.resBuf = this.procBuf; + this.procBuf = []; + break; + } + if (this.procBuf.length === 0) { + this.lastClass = uchar.getCanonicalClass(); + this.procBuf.push(uchar); + } else { + var starter = this.procBuf[0]; + var composite = starter.getComposite(uchar); + var cc = uchar.getCanonicalClass(); + if (!!composite && (this.lastClass < cc || this.lastClass === 0)) { + this.procBuf[0] = composite; + } else { + if (cc === 0) { + this.resBuf = this.procBuf; + this.procBuf = []; + } + this.lastClass = cc; + this.procBuf.push(uchar); + } + } + } + return this.resBuf.shift(); + }; -/** - * Decoder constructor. - * - * @api public - */ + var createIterator = function createIterator(mode, str) { + switch (mode) { + case "NFD": + return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true)); + case "NFKD": + return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false)); + case "NFC": + return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true))); + case "NFKC": + return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false))); + } + throw mode + " is invalid"; + }; + var normalize = function normalize(mode, str) { + var it = createIterator(mode, str); + var ret = ""; + var uchar; + while (!!(uchar = it.next())) { + ret += uchar.toString(); + } + return ret; + }; -exports.Decoder = Decoder; + /* API functions */ + function nfd(str) { + return normalize("NFD", str); + } -/** - * A socket.io Encoder instance - * - * @api public - */ + function nfkd(str) { + return normalize("NFKD", str); + } -function Encoder() {} + function nfc(str) { + return normalize("NFC", str); + } -var ERROR_PACKET = exports.ERROR + '"encode error"'; + function nfkc(str) { + return normalize("NFKC", str); + } -/** - * Encode a packet as a single string if non-binary, or as a - * buffer sequence, depending on packet type. - * - * @param {Object} obj - packet object - * @param {Function} callback - function to handle encodings (likely engine.write) - * @return Calls callback with Array of encodings - * @api public - */ + /* Unicode data */ + UChar.udata = { + 0: { 60: [,, { 824: 8814 }], 61: [,, { 824: 8800 }], 62: [,, { 824: 8815 }], 65: [,, { 768: 192, 769: 193, 770: 194, 771: 195, 772: 256, 774: 258, 775: 550, 776: 196, 777: 7842, 778: 197, 780: 461, 783: 512, 785: 514, 803: 7840, 805: 7680, 808: 260 }], 66: [,, { 775: 7682, 803: 7684, 817: 7686 }], 67: [,, { 769: 262, 770: 264, 775: 266, 780: 268, 807: 199 }], 68: [,, { 775: 7690, 780: 270, 803: 7692, 807: 7696, 813: 7698, 817: 7694 }], 69: [,, { 768: 200, 769: 201, 770: 202, 771: 7868, 772: 274, 774: 276, 775: 278, 776: 203, 777: 7866, 780: 282, 783: 516, 785: 518, 803: 7864, 807: 552, 808: 280, 813: 7704, 816: 7706 }], 70: [,, { 775: 7710 }], 71: [,, { 769: 500, 770: 284, 772: 7712, 774: 286, 775: 288, 780: 486, 807: 290 }], 72: [,, { 770: 292, 775: 7714, 776: 7718, 780: 542, 803: 7716, 807: 7720, 814: 7722 }], 73: [,, { 768: 204, 769: 205, 770: 206, 771: 296, 772: 298, 774: 300, 775: 304, 776: 207, 777: 7880, 780: 463, 783: 520, 785: 522, 803: 7882, 808: 302, 816: 7724 }], 74: [,, { 770: 308 }], 75: [,, { 769: 7728, 780: 488, 803: 7730, 807: 310, 817: 7732 }], 76: [,, { 769: 313, 780: 317, 803: 7734, 807: 315, 813: 7740, 817: 7738 }], 77: [,, { 769: 7742, 775: 7744, 803: 7746 }], 78: [,, { 768: 504, 769: 323, 771: 209, 775: 7748, 780: 327, 803: 7750, 807: 325, 813: 7754, 817: 7752 }], 79: [,, { 768: 210, 769: 211, 770: 212, 771: 213, 772: 332, 774: 334, 775: 558, 776: 214, 777: 7886, 779: 336, 780: 465, 783: 524, 785: 526, 795: 416, 803: 7884, 808: 490 }], 80: [,, { 769: 7764, 775: 7766 }], 82: [,, { 769: 340, 775: 7768, 780: 344, 783: 528, 785: 530, 803: 7770, 807: 342, 817: 7774 }], 83: [,, { 769: 346, 770: 348, 775: 7776, 780: 352, 803: 7778, 806: 536, 807: 350 }], 84: [,, { 775: 7786, 780: 356, 803: 7788, 806: 538, 807: 354, 813: 7792, 817: 7790 }], 85: [,, { 768: 217, 769: 218, 770: 219, 771: 360, 772: 362, 774: 364, 776: 220, 777: 7910, 778: 366, 779: 368, 780: 467, 783: 532, 785: 534, 795: 431, 803: 7908, 804: 7794, 808: 370, 813: 7798, 816: 7796 }], 86: [,, { 771: 7804, 803: 7806 }], 87: [,, { 768: 7808, 769: 7810, 770: 372, 775: 7814, 776: 7812, 803: 7816 }], 88: [,, { 775: 7818, 776: 7820 }], 89: [,, { 768: 7922, 769: 221, 770: 374, 771: 7928, 772: 562, 775: 7822, 776: 376, 777: 7926, 803: 7924 }], 90: [,, { 769: 377, 770: 7824, 775: 379, 780: 381, 803: 7826, 817: 7828 }], 97: [,, { 768: 224, 769: 225, 770: 226, 771: 227, 772: 257, 774: 259, 775: 551, 776: 228, 777: 7843, 778: 229, 780: 462, 783: 513, 785: 515, 803: 7841, 805: 7681, 808: 261 }], 98: [,, { 775: 7683, 803: 7685, 817: 7687 }], 99: [,, { 769: 263, 770: 265, 775: 267, 780: 269, 807: 231 }], 100: [,, { 775: 7691, 780: 271, 803: 7693, 807: 7697, 813: 7699, 817: 7695 }], 101: [,, { 768: 232, 769: 233, 770: 234, 771: 7869, 772: 275, 774: 277, 775: 279, 776: 235, 777: 7867, 780: 283, 783: 517, 785: 519, 803: 7865, 807: 553, 808: 281, 813: 7705, 816: 7707 }], 102: [,, { 775: 7711 }], 103: [,, { 769: 501, 770: 285, 772: 7713, 774: 287, 775: 289, 780: 487, 807: 291 }], 104: [,, { 770: 293, 775: 7715, 776: 7719, 780: 543, 803: 7717, 807: 7721, 814: 7723, 817: 7830 }], 105: [,, { 768: 236, 769: 237, 770: 238, 771: 297, 772: 299, 774: 301, 776: 239, 777: 7881, 780: 464, 783: 521, 785: 523, 803: 7883, 808: 303, 816: 7725 }], 106: [,, { 770: 309, 780: 496 }], 107: [,, { 769: 7729, 780: 489, 803: 7731, 807: 311, 817: 7733 }], 108: [,, { 769: 314, 780: 318, 803: 7735, 807: 316, 813: 7741, 817: 7739 }], 109: [,, { 769: 7743, 775: 7745, 803: 7747 }], 110: [,, { 768: 505, 769: 324, 771: 241, 775: 7749, 780: 328, 803: 7751, 807: 326, 813: 7755, 817: 7753 }], 111: [,, { 768: 242, 769: 243, 770: 244, 771: 245, 772: 333, 774: 335, 775: 559, 776: 246, 777: 7887, 779: 337, 780: 466, 783: 525, 785: 527, 795: 417, 803: 7885, 808: 491 }], 112: [,, { 769: 7765, 775: 7767 }], 114: [,, { 769: 341, 775: 7769, 780: 345, 783: 529, 785: 531, 803: 7771, 807: 343, 817: 7775 }], 115: [,, { 769: 347, 770: 349, 775: 7777, 780: 353, 803: 7779, 806: 537, 807: 351 }], 116: [,, { 775: 7787, 776: 7831, 780: 357, 803: 7789, 806: 539, 807: 355, 813: 7793, 817: 7791 }], 117: [,, { 768: 249, 769: 250, 770: 251, 771: 361, 772: 363, 774: 365, 776: 252, 777: 7911, 778: 367, 779: 369, 780: 468, 783: 533, 785: 535, 795: 432, 803: 7909, 804: 7795, 808: 371, 813: 7799, 816: 7797 }], 118: [,, { 771: 7805, 803: 7807 }], 119: [,, { 768: 7809, 769: 7811, 770: 373, 775: 7815, 776: 7813, 778: 7832, 803: 7817 }], 120: [,, { 775: 7819, 776: 7821 }], 121: [,, { 768: 7923, 769: 253, 770: 375, 771: 7929, 772: 563, 775: 7823, 776: 255, 777: 7927, 778: 7833, 803: 7925 }], 122: [,, { 769: 378, 770: 7825, 775: 380, 780: 382, 803: 7827, 817: 7829 }], 160: [[32], 256], 168: [[32, 776], 256, { 768: 8173, 769: 901, 834: 8129 }], 170: [[97], 256], 175: [[32, 772], 256], 178: [[50], 256], 179: [[51], 256], 180: [[32, 769], 256], 181: [[956], 256], 184: [[32, 807], 256], 185: [[49], 256], 186: [[111], 256], 188: [[49, 8260, 52], 256], 189: [[49, 8260, 50], 256], 190: [[51, 8260, 52], 256], 192: [[65, 768]], 193: [[65, 769]], 194: [[65, 770],, { 768: 7846, 769: 7844, 771: 7850, 777: 7848 }], 195: [[65, 771]], 196: [[65, 776],, { 772: 478 }], 197: [[65, 778],, { 769: 506 }], 198: [,, { 769: 508, 772: 482 }], 199: [[67, 807],, { 769: 7688 }], 200: [[69, 768]], 201: [[69, 769]], 202: [[69, 770],, { 768: 7872, 769: 7870, 771: 7876, 777: 7874 }], 203: [[69, 776]], 204: [[73, 768]], 205: [[73, 769]], 206: [[73, 770]], 207: [[73, 776],, { 769: 7726 }], 209: [[78, 771]], 210: [[79, 768]], 211: [[79, 769]], 212: [[79, 770],, { 768: 7890, 769: 7888, 771: 7894, 777: 7892 }], 213: [[79, 771],, { 769: 7756, 772: 556, 776: 7758 }], 214: [[79, 776],, { 772: 554 }], 216: [,, { 769: 510 }], 217: [[85, 768]], 218: [[85, 769]], 219: [[85, 770]], 220: [[85, 776],, { 768: 475, 769: 471, 772: 469, 780: 473 }], 221: [[89, 769]], 224: [[97, 768]], 225: [[97, 769]], 226: [[97, 770],, { 768: 7847, 769: 7845, 771: 7851, 777: 7849 }], 227: [[97, 771]], 228: [[97, 776],, { 772: 479 }], 229: [[97, 778],, { 769: 507 }], 230: [,, { 769: 509, 772: 483 }], 231: [[99, 807],, { 769: 7689 }], 232: [[101, 768]], 233: [[101, 769]], 234: [[101, 770],, { 768: 7873, 769: 7871, 771: 7877, 777: 7875 }], 235: [[101, 776]], 236: [[105, 768]], 237: [[105, 769]], 238: [[105, 770]], 239: [[105, 776],, { 769: 7727 }], 241: [[110, 771]], 242: [[111, 768]], 243: [[111, 769]], 244: [[111, 770],, { 768: 7891, 769: 7889, 771: 7895, 777: 7893 }], 245: [[111, 771],, { 769: 7757, 772: 557, 776: 7759 }], 246: [[111, 776],, { 772: 555 }], 248: [,, { 769: 511 }], 249: [[117, 768]], 250: [[117, 769]], 251: [[117, 770]], 252: [[117, 776],, { 768: 476, 769: 472, 772: 470, 780: 474 }], 253: [[121, 769]], 255: [[121, 776]] }, + 256: { 256: [[65, 772]], 257: [[97, 772]], 258: [[65, 774],, { 768: 7856, 769: 7854, 771: 7860, 777: 7858 }], 259: [[97, 774],, { 768: 7857, 769: 7855, 771: 7861, 777: 7859 }], 260: [[65, 808]], 261: [[97, 808]], 262: [[67, 769]], 263: [[99, 769]], 264: [[67, 770]], 265: [[99, 770]], 266: [[67, 775]], 267: [[99, 775]], 268: [[67, 780]], 269: [[99, 780]], 270: [[68, 780]], 271: [[100, 780]], 274: [[69, 772],, { 768: 7700, 769: 7702 }], 275: [[101, 772],, { 768: 7701, 769: 7703 }], 276: [[69, 774]], 277: [[101, 774]], 278: [[69, 775]], 279: [[101, 775]], 280: [[69, 808]], 281: [[101, 808]], 282: [[69, 780]], 283: [[101, 780]], 284: [[71, 770]], 285: [[103, 770]], 286: [[71, 774]], 287: [[103, 774]], 288: [[71, 775]], 289: [[103, 775]], 290: [[71, 807]], 291: [[103, 807]], 292: [[72, 770]], 293: [[104, 770]], 296: [[73, 771]], 297: [[105, 771]], 298: [[73, 772]], 299: [[105, 772]], 300: [[73, 774]], 301: [[105, 774]], 302: [[73, 808]], 303: [[105, 808]], 304: [[73, 775]], 306: [[73, 74], 256], 307: [[105, 106], 256], 308: [[74, 770]], 309: [[106, 770]], 310: [[75, 807]], 311: [[107, 807]], 313: [[76, 769]], 314: [[108, 769]], 315: [[76, 807]], 316: [[108, 807]], 317: [[76, 780]], 318: [[108, 780]], 319: [[76, 183], 256], 320: [[108, 183], 256], 323: [[78, 769]], 324: [[110, 769]], 325: [[78, 807]], 326: [[110, 807]], 327: [[78, 780]], 328: [[110, 780]], 329: [[700, 110], 256], 332: [[79, 772],, { 768: 7760, 769: 7762 }], 333: [[111, 772],, { 768: 7761, 769: 7763 }], 334: [[79, 774]], 335: [[111, 774]], 336: [[79, 779]], 337: [[111, 779]], 340: [[82, 769]], 341: [[114, 769]], 342: [[82, 807]], 343: [[114, 807]], 344: [[82, 780]], 345: [[114, 780]], 346: [[83, 769],, { 775: 7780 }], 347: [[115, 769],, { 775: 7781 }], 348: [[83, 770]], 349: [[115, 770]], 350: [[83, 807]], 351: [[115, 807]], 352: [[83, 780],, { 775: 7782 }], 353: [[115, 780],, { 775: 7783 }], 354: [[84, 807]], 355: [[116, 807]], 356: [[84, 780]], 357: [[116, 780]], 360: [[85, 771],, { 769: 7800 }], 361: [[117, 771],, { 769: 7801 }], 362: [[85, 772],, { 776: 7802 }], 363: [[117, 772],, { 776: 7803 }], 364: [[85, 774]], 365: [[117, 774]], 366: [[85, 778]], 367: [[117, 778]], 368: [[85, 779]], 369: [[117, 779]], 370: [[85, 808]], 371: [[117, 808]], 372: [[87, 770]], 373: [[119, 770]], 374: [[89, 770]], 375: [[121, 770]], 376: [[89, 776]], 377: [[90, 769]], 378: [[122, 769]], 379: [[90, 775]], 380: [[122, 775]], 381: [[90, 780]], 382: [[122, 780]], 383: [[115], 256, { 775: 7835 }], 416: [[79, 795],, { 768: 7900, 769: 7898, 771: 7904, 777: 7902, 803: 7906 }], 417: [[111, 795],, { 768: 7901, 769: 7899, 771: 7905, 777: 7903, 803: 7907 }], 431: [[85, 795],, { 768: 7914, 769: 7912, 771: 7918, 777: 7916, 803: 7920 }], 432: [[117, 795],, { 768: 7915, 769: 7913, 771: 7919, 777: 7917, 803: 7921 }], 439: [,, { 780: 494 }], 452: [[68, 381], 256], 453: [[68, 382], 256], 454: [[100, 382], 256], 455: [[76, 74], 256], 456: [[76, 106], 256], 457: [[108, 106], 256], 458: [[78, 74], 256], 459: [[78, 106], 256], 460: [[110, 106], 256], 461: [[65, 780]], 462: [[97, 780]], 463: [[73, 780]], 464: [[105, 780]], 465: [[79, 780]], 466: [[111, 780]], 467: [[85, 780]], 468: [[117, 780]], 469: [[220, 772]], 470: [[252, 772]], 471: [[220, 769]], 472: [[252, 769]], 473: [[220, 780]], 474: [[252, 780]], 475: [[220, 768]], 476: [[252, 768]], 478: [[196, 772]], 479: [[228, 772]], 480: [[550, 772]], 481: [[551, 772]], 482: [[198, 772]], 483: [[230, 772]], 486: [[71, 780]], 487: [[103, 780]], 488: [[75, 780]], 489: [[107, 780]], 490: [[79, 808],, { 772: 492 }], 491: [[111, 808],, { 772: 493 }], 492: [[490, 772]], 493: [[491, 772]], 494: [[439, 780]], 495: [[658, 780]], 496: [[106, 780]], 497: [[68, 90], 256], 498: [[68, 122], 256], 499: [[100, 122], 256], 500: [[71, 769]], 501: [[103, 769]], 504: [[78, 768]], 505: [[110, 768]], 506: [[197, 769]], 507: [[229, 769]], 508: [[198, 769]], 509: [[230, 769]], 510: [[216, 769]], 511: [[248, 769]], 66045: [, 220] }, + 512: { 512: [[65, 783]], 513: [[97, 783]], 514: [[65, 785]], 515: [[97, 785]], 516: [[69, 783]], 517: [[101, 783]], 518: [[69, 785]], 519: [[101, 785]], 520: [[73, 783]], 521: [[105, 783]], 522: [[73, 785]], 523: [[105, 785]], 524: [[79, 783]], 525: [[111, 783]], 526: [[79, 785]], 527: [[111, 785]], 528: [[82, 783]], 529: [[114, 783]], 530: [[82, 785]], 531: [[114, 785]], 532: [[85, 783]], 533: [[117, 783]], 534: [[85, 785]], 535: [[117, 785]], 536: [[83, 806]], 537: [[115, 806]], 538: [[84, 806]], 539: [[116, 806]], 542: [[72, 780]], 543: [[104, 780]], 550: [[65, 775],, { 772: 480 }], 551: [[97, 775],, { 772: 481 }], 552: [[69, 807],, { 774: 7708 }], 553: [[101, 807],, { 774: 7709 }], 554: [[214, 772]], 555: [[246, 772]], 556: [[213, 772]], 557: [[245, 772]], 558: [[79, 775],, { 772: 560 }], 559: [[111, 775],, { 772: 561 }], 560: [[558, 772]], 561: [[559, 772]], 562: [[89, 772]], 563: [[121, 772]], 658: [,, { 780: 495 }], 688: [[104], 256], 689: [[614], 256], 690: [[106], 256], 691: [[114], 256], 692: [[633], 256], 693: [[635], 256], 694: [[641], 256], 695: [[119], 256], 696: [[121], 256], 728: [[32, 774], 256], 729: [[32, 775], 256], 730: [[32, 778], 256], 731: [[32, 808], 256], 732: [[32, 771], 256], 733: [[32, 779], 256], 736: [[611], 256], 737: [[108], 256], 738: [[115], 256], 739: [[120], 256], 740: [[661], 256], 66272: [, 220] }, + 768: { 768: [, 230], 769: [, 230], 770: [, 230], 771: [, 230], 772: [, 230], 773: [, 230], 774: [, 230], 775: [, 230], 776: [, 230, { 769: 836 }], 777: [, 230], 778: [, 230], 779: [, 230], 780: [, 230], 781: [, 230], 782: [, 230], 783: [, 230], 784: [, 230], 785: [, 230], 786: [, 230], 787: [, 230], 788: [, 230], 789: [, 232], 790: [, 220], 791: [, 220], 792: [, 220], 793: [, 220], 794: [, 232], 795: [, 216], 796: [, 220], 797: [, 220], 798: [, 220], 799: [, 220], 800: [, 220], 801: [, 202], 802: [, 202], 803: [, 220], 804: [, 220], 805: [, 220], 806: [, 220], 807: [, 202], 808: [, 202], 809: [, 220], 810: [, 220], 811: [, 220], 812: [, 220], 813: [, 220], 814: [, 220], 815: [, 220], 816: [, 220], 817: [, 220], 818: [, 220], 819: [, 220], 820: [, 1], 821: [, 1], 822: [, 1], 823: [, 1], 824: [, 1], 825: [, 220], 826: [, 220], 827: [, 220], 828: [, 220], 829: [, 230], 830: [, 230], 831: [, 230], 832: [[768], 230], 833: [[769], 230], 834: [, 230], 835: [[787], 230], 836: [[776, 769], 230], 837: [, 240], 838: [, 230], 839: [, 220], 840: [, 220], 841: [, 220], 842: [, 230], 843: [, 230], 844: [, 230], 845: [, 220], 846: [, 220], 848: [, 230], 849: [, 230], 850: [, 230], 851: [, 220], 852: [, 220], 853: [, 220], 854: [, 220], 855: [, 230], 856: [, 232], 857: [, 220], 858: [, 220], 859: [, 230], 860: [, 233], 861: [, 234], 862: [, 234], 863: [, 233], 864: [, 234], 865: [, 234], 866: [, 233], 867: [, 230], 868: [, 230], 869: [, 230], 870: [, 230], 871: [, 230], 872: [, 230], 873: [, 230], 874: [, 230], 875: [, 230], 876: [, 230], 877: [, 230], 878: [, 230], 879: [, 230], 884: [[697]], 890: [[32, 837], 256], 894: [[59]], 900: [[32, 769], 256], 901: [[168, 769]], 902: [[913, 769]], 903: [[183]], 904: [[917, 769]], 905: [[919, 769]], 906: [[921, 769]], 908: [[927, 769]], 910: [[933, 769]], 911: [[937, 769]], 912: [[970, 769]], 913: [,, { 768: 8122, 769: 902, 772: 8121, 774: 8120, 787: 7944, 788: 7945, 837: 8124 }], 917: [,, { 768: 8136, 769: 904, 787: 7960, 788: 7961 }], 919: [,, { 768: 8138, 769: 905, 787: 7976, 788: 7977, 837: 8140 }], 921: [,, { 768: 8154, 769: 906, 772: 8153, 774: 8152, 776: 938, 787: 7992, 788: 7993 }], 927: [,, { 768: 8184, 769: 908, 787: 8008, 788: 8009 }], 929: [,, { 788: 8172 }], 933: [,, { 768: 8170, 769: 910, 772: 8169, 774: 8168, 776: 939, 788: 8025 }], 937: [,, { 768: 8186, 769: 911, 787: 8040, 788: 8041, 837: 8188 }], 938: [[921, 776]], 939: [[933, 776]], 940: [[945, 769],, { 837: 8116 }], 941: [[949, 769]], 942: [[951, 769],, { 837: 8132 }], 943: [[953, 769]], 944: [[971, 769]], 945: [,, { 768: 8048, 769: 940, 772: 8113, 774: 8112, 787: 7936, 788: 7937, 834: 8118, 837: 8115 }], 949: [,, { 768: 8050, 769: 941, 787: 7952, 788: 7953 }], 951: [,, { 768: 8052, 769: 942, 787: 7968, 788: 7969, 834: 8134, 837: 8131 }], 953: [,, { 768: 8054, 769: 943, 772: 8145, 774: 8144, 776: 970, 787: 7984, 788: 7985, 834: 8150 }], 959: [,, { 768: 8056, 769: 972, 787: 8000, 788: 8001 }], 961: [,, { 787: 8164, 788: 8165 }], 965: [,, { 768: 8058, 769: 973, 772: 8161, 774: 8160, 776: 971, 787: 8016, 788: 8017, 834: 8166 }], 969: [,, { 768: 8060, 769: 974, 787: 8032, 788: 8033, 834: 8182, 837: 8179 }], 970: [[953, 776],, { 768: 8146, 769: 912, 834: 8151 }], 971: [[965, 776],, { 768: 8162, 769: 944, 834: 8167 }], 972: [[959, 769]], 973: [[965, 769]], 974: [[969, 769],, { 837: 8180 }], 976: [[946], 256], 977: [[952], 256], 978: [[933], 256, { 769: 979, 776: 980 }], 979: [[978, 769]], 980: [[978, 776]], 981: [[966], 256], 982: [[960], 256], 1008: [[954], 256], 1009: [[961], 256], 1010: [[962], 256], 1012: [[920], 256], 1013: [[949], 256], 1017: [[931], 256], 66422: [, 230], 66423: [, 230], 66424: [, 230], 66425: [, 230], 66426: [, 230] }, + 1024: { 1024: [[1045, 768]], 1025: [[1045, 776]], 1027: [[1043, 769]], 1030: [,, { 776: 1031 }], 1031: [[1030, 776]], 1036: [[1050, 769]], 1037: [[1048, 768]], 1038: [[1059, 774]], 1040: [,, { 774: 1232, 776: 1234 }], 1043: [,, { 769: 1027 }], 1045: [,, { 768: 1024, 774: 1238, 776: 1025 }], 1046: [,, { 774: 1217, 776: 1244 }], 1047: [,, { 776: 1246 }], 1048: [,, { 768: 1037, 772: 1250, 774: 1049, 776: 1252 }], 1049: [[1048, 774]], 1050: [,, { 769: 1036 }], 1054: [,, { 776: 1254 }], 1059: [,, { 772: 1262, 774: 1038, 776: 1264, 779: 1266 }], 1063: [,, { 776: 1268 }], 1067: [,, { 776: 1272 }], 1069: [,, { 776: 1260 }], 1072: [,, { 774: 1233, 776: 1235 }], 1075: [,, { 769: 1107 }], 1077: [,, { 768: 1104, 774: 1239, 776: 1105 }], 1078: [,, { 774: 1218, 776: 1245 }], 1079: [,, { 776: 1247 }], 1080: [,, { 768: 1117, 772: 1251, 774: 1081, 776: 1253 }], 1081: [[1080, 774]], 1082: [,, { 769: 1116 }], 1086: [,, { 776: 1255 }], 1091: [,, { 772: 1263, 774: 1118, 776: 1265, 779: 1267 }], 1095: [,, { 776: 1269 }], 1099: [,, { 776: 1273 }], 1101: [,, { 776: 1261 }], 1104: [[1077, 768]], 1105: [[1077, 776]], 1107: [[1075, 769]], 1110: [,, { 776: 1111 }], 1111: [[1110, 776]], 1116: [[1082, 769]], 1117: [[1080, 768]], 1118: [[1091, 774]], 1140: [,, { 783: 1142 }], 1141: [,, { 783: 1143 }], 1142: [[1140, 783]], 1143: [[1141, 783]], 1155: [, 230], 1156: [, 230], 1157: [, 230], 1158: [, 230], 1159: [, 230], 1217: [[1046, 774]], 1218: [[1078, 774]], 1232: [[1040, 774]], 1233: [[1072, 774]], 1234: [[1040, 776]], 1235: [[1072, 776]], 1238: [[1045, 774]], 1239: [[1077, 774]], 1240: [,, { 776: 1242 }], 1241: [,, { 776: 1243 }], 1242: [[1240, 776]], 1243: [[1241, 776]], 1244: [[1046, 776]], 1245: [[1078, 776]], 1246: [[1047, 776]], 1247: [[1079, 776]], 1250: [[1048, 772]], 1251: [[1080, 772]], 1252: [[1048, 776]], 1253: [[1080, 776]], 1254: [[1054, 776]], 1255: [[1086, 776]], 1256: [,, { 776: 1258 }], 1257: [,, { 776: 1259 }], 1258: [[1256, 776]], 1259: [[1257, 776]], 1260: [[1069, 776]], 1261: [[1101, 776]], 1262: [[1059, 772]], 1263: [[1091, 772]], 1264: [[1059, 776]], 1265: [[1091, 776]], 1266: [[1059, 779]], 1267: [[1091, 779]], 1268: [[1063, 776]], 1269: [[1095, 776]], 1272: [[1067, 776]], 1273: [[1099, 776]] }, + 1280: { 1415: [[1381, 1410], 256], 1425: [, 220], 1426: [, 230], 1427: [, 230], 1428: [, 230], 1429: [, 230], 1430: [, 220], 1431: [, 230], 1432: [, 230], 1433: [, 230], 1434: [, 222], 1435: [, 220], 1436: [, 230], 1437: [, 230], 1438: [, 230], 1439: [, 230], 1440: [, 230], 1441: [, 230], 1442: [, 220], 1443: [, 220], 1444: [, 220], 1445: [, 220], 1446: [, 220], 1447: [, 220], 1448: [, 230], 1449: [, 230], 1450: [, 220], 1451: [, 230], 1452: [, 230], 1453: [, 222], 1454: [, 228], 1455: [, 230], 1456: [, 10], 1457: [, 11], 1458: [, 12], 1459: [, 13], 1460: [, 14], 1461: [, 15], 1462: [, 16], 1463: [, 17], 1464: [, 18], 1465: [, 19], 1466: [, 19], 1467: [, 20], 1468: [, 21], 1469: [, 22], 1471: [, 23], 1473: [, 24], 1474: [, 25], 1476: [, 230], 1477: [, 220], 1479: [, 18] }, + 1536: { 1552: [, 230], 1553: [, 230], 1554: [, 230], 1555: [, 230], 1556: [, 230], 1557: [, 230], 1558: [, 230], 1559: [, 230], 1560: [, 30], 1561: [, 31], 1562: [, 32], 1570: [[1575, 1619]], 1571: [[1575, 1620]], 1572: [[1608, 1620]], 1573: [[1575, 1621]], 1574: [[1610, 1620]], 1575: [,, { 1619: 1570, 1620: 1571, 1621: 1573 }], 1608: [,, { 1620: 1572 }], 1610: [,, { 1620: 1574 }], 1611: [, 27], 1612: [, 28], 1613: [, 29], 1614: [, 30], 1615: [, 31], 1616: [, 32], 1617: [, 33], 1618: [, 34], 1619: [, 230], 1620: [, 230], 1621: [, 220], 1622: [, 220], 1623: [, 230], 1624: [, 230], 1625: [, 230], 1626: [, 230], 1627: [, 230], 1628: [, 220], 1629: [, 230], 1630: [, 230], 1631: [, 220], 1648: [, 35], 1653: [[1575, 1652], 256], 1654: [[1608, 1652], 256], 1655: [[1735, 1652], 256], 1656: [[1610, 1652], 256], 1728: [[1749, 1620]], 1729: [,, { 1620: 1730 }], 1730: [[1729, 1620]], 1746: [,, { 1620: 1747 }], 1747: [[1746, 1620]], 1749: [,, { 1620: 1728 }], 1750: [, 230], 1751: [, 230], 1752: [, 230], 1753: [, 230], 1754: [, 230], 1755: [, 230], 1756: [, 230], 1759: [, 230], 1760: [, 230], 1761: [, 230], 1762: [, 230], 1763: [, 220], 1764: [, 230], 1767: [, 230], 1768: [, 230], 1770: [, 220], 1771: [, 230], 1772: [, 230], 1773: [, 220] }, + 1792: { 1809: [, 36], 1840: [, 230], 1841: [, 220], 1842: [, 230], 1843: [, 230], 1844: [, 220], 1845: [, 230], 1846: [, 230], 1847: [, 220], 1848: [, 220], 1849: [, 220], 1850: [, 230], 1851: [, 220], 1852: [, 220], 1853: [, 230], 1854: [, 220], 1855: [, 230], 1856: [, 230], 1857: [, 230], 1858: [, 220], 1859: [, 230], 1860: [, 220], 1861: [, 230], 1862: [, 220], 1863: [, 230], 1864: [, 220], 1865: [, 230], 1866: [, 230], 2027: [, 230], 2028: [, 230], 2029: [, 230], 2030: [, 230], 2031: [, 230], 2032: [, 230], 2033: [, 230], 2034: [, 220], 2035: [, 230] }, + 2048: { 2070: [, 230], 2071: [, 230], 2072: [, 230], 2073: [, 230], 2075: [, 230], 2076: [, 230], 2077: [, 230], 2078: [, 230], 2079: [, 230], 2080: [, 230], 2081: [, 230], 2082: [, 230], 2083: [, 230], 2085: [, 230], 2086: [, 230], 2087: [, 230], 2089: [, 230], 2090: [, 230], 2091: [, 230], 2092: [, 230], 2093: [, 230], 2137: [, 220], 2138: [, 220], 2139: [, 220], 2276: [, 230], 2277: [, 230], 2278: [, 220], 2279: [, 230], 2280: [, 230], 2281: [, 220], 2282: [, 230], 2283: [, 230], 2284: [, 230], 2285: [, 220], 2286: [, 220], 2287: [, 220], 2288: [, 27], 2289: [, 28], 2290: [, 29], 2291: [, 230], 2292: [, 230], 2293: [, 230], 2294: [, 220], 2295: [, 230], 2296: [, 230], 2297: [, 220], 2298: [, 220], 2299: [, 230], 2300: [, 230], 2301: [, 230], 2302: [, 230], 2303: [, 230] }, + 2304: { 2344: [,, { 2364: 2345 }], 2345: [[2344, 2364]], 2352: [,, { 2364: 2353 }], 2353: [[2352, 2364]], 2355: [,, { 2364: 2356 }], 2356: [[2355, 2364]], 2364: [, 7], 2381: [, 9], 2385: [, 230], 2386: [, 220], 2387: [, 230], 2388: [, 230], 2392: [[2325, 2364], 512], 2393: [[2326, 2364], 512], 2394: [[2327, 2364], 512], 2395: [[2332, 2364], 512], 2396: [[2337, 2364], 512], 2397: [[2338, 2364], 512], 2398: [[2347, 2364], 512], 2399: [[2351, 2364], 512], 2492: [, 7], 2503: [,, { 2494: 2507, 2519: 2508 }], 2507: [[2503, 2494]], 2508: [[2503, 2519]], 2509: [, 9], 2524: [[2465, 2492], 512], 2525: [[2466, 2492], 512], 2527: [[2479, 2492], 512] }, + 2560: { 2611: [[2610, 2620], 512], 2614: [[2616, 2620], 512], 2620: [, 7], 2637: [, 9], 2649: [[2582, 2620], 512], 2650: [[2583, 2620], 512], 2651: [[2588, 2620], 512], 2654: [[2603, 2620], 512], 2748: [, 7], 2765: [, 9], 68109: [, 220], 68111: [, 230], 68152: [, 230], 68153: [, 1], 68154: [, 220], 68159: [, 9], 68325: [, 230], 68326: [, 220] }, + 2816: { 2876: [, 7], 2887: [,, { 2878: 2891, 2902: 2888, 2903: 2892 }], 2888: [[2887, 2902]], 2891: [[2887, 2878]], 2892: [[2887, 2903]], 2893: [, 9], 2908: [[2849, 2876], 512], 2909: [[2850, 2876], 512], 2962: [,, { 3031: 2964 }], 2964: [[2962, 3031]], 3014: [,, { 3006: 3018, 3031: 3020 }], 3015: [,, { 3006: 3019 }], 3018: [[3014, 3006]], 3019: [[3015, 3006]], 3020: [[3014, 3031]], 3021: [, 9] }, + 3072: { 3142: [,, { 3158: 3144 }], 3144: [[3142, 3158]], 3149: [, 9], 3157: [, 84], 3158: [, 91], 3260: [, 7], 3263: [,, { 3285: 3264 }], 3264: [[3263, 3285]], 3270: [,, { 3266: 3274, 3285: 3271, 3286: 3272 }], 3271: [[3270, 3285]], 3272: [[3270, 3286]], 3274: [[3270, 3266],, { 3285: 3275 }], 3275: [[3274, 3285]], 3277: [, 9] }, + 3328: { 3398: [,, { 3390: 3402, 3415: 3404 }], 3399: [,, { 3390: 3403 }], 3402: [[3398, 3390]], 3403: [[3399, 3390]], 3404: [[3398, 3415]], 3405: [, 9], 3530: [, 9], 3545: [,, { 3530: 3546, 3535: 3548, 3551: 3550 }], 3546: [[3545, 3530]], 3548: [[3545, 3535],, { 3530: 3549 }], 3549: [[3548, 3530]], 3550: [[3545, 3551]] }, + 3584: { 3635: [[3661, 3634], 256], 3640: [, 103], 3641: [, 103], 3642: [, 9], 3656: [, 107], 3657: [, 107], 3658: [, 107], 3659: [, 107], 3763: [[3789, 3762], 256], 3768: [, 118], 3769: [, 118], 3784: [, 122], 3785: [, 122], 3786: [, 122], 3787: [, 122], 3804: [[3755, 3737], 256], 3805: [[3755, 3745], 256] }, + 3840: { 3852: [[3851], 256], 3864: [, 220], 3865: [, 220], 3893: [, 220], 3895: [, 220], 3897: [, 216], 3907: [[3906, 4023], 512], 3917: [[3916, 4023], 512], 3922: [[3921, 4023], 512], 3927: [[3926, 4023], 512], 3932: [[3931, 4023], 512], 3945: [[3904, 4021], 512], 3953: [, 129], 3954: [, 130], 3955: [[3953, 3954], 512], 3956: [, 132], 3957: [[3953, 3956], 512], 3958: [[4018, 3968], 512], 3959: [[4018, 3969], 256], 3960: [[4019, 3968], 512], 3961: [[4019, 3969], 256], 3962: [, 130], 3963: [, 130], 3964: [, 130], 3965: [, 130], 3968: [, 130], 3969: [[3953, 3968], 512], 3970: [, 230], 3971: [, 230], 3972: [, 9], 3974: [, 230], 3975: [, 230], 3987: [[3986, 4023], 512], 3997: [[3996, 4023], 512], 4002: [[4001, 4023], 512], 4007: [[4006, 4023], 512], 4012: [[4011, 4023], 512], 4025: [[3984, 4021], 512], 4038: [, 220] }, + 4096: { 4133: [,, { 4142: 4134 }], 4134: [[4133, 4142]], 4151: [, 7], 4153: [, 9], 4154: [, 9], 4237: [, 220], 4348: [[4316], 256], 69702: [, 9], 69759: [, 9], 69785: [,, { 69818: 69786 }], 69786: [[69785, 69818]], 69787: [,, { 69818: 69788 }], 69788: [[69787, 69818]], 69797: [,, { 69818: 69803 }], 69803: [[69797, 69818]], 69817: [, 9], 69818: [, 7] }, + 4352: { 69888: [, 230], 69889: [, 230], 69890: [, 230], 69934: [[69937, 69927]], 69935: [[69938, 69927]], 69937: [,, { 69927: 69934 }], 69938: [,, { 69927: 69935 }], 69939: [, 9], 69940: [, 9], 70003: [, 7], 70080: [, 9] }, + 4608: { 70197: [, 9], 70198: [, 7], 70377: [, 7], 70378: [, 9] }, + 4864: { 4957: [, 230], 4958: [, 230], 4959: [, 230], 70460: [, 7], 70471: [,, { 70462: 70475, 70487: 70476 }], 70475: [[70471, 70462]], 70476: [[70471, 70487]], 70477: [, 9], 70502: [, 230], 70503: [, 230], 70504: [, 230], 70505: [, 230], 70506: [, 230], 70507: [, 230], 70508: [, 230], 70512: [, 230], 70513: [, 230], 70514: [, 230], 70515: [, 230], 70516: [, 230] }, + 5120: { 70841: [,, { 70832: 70844, 70842: 70843, 70845: 70846 }], 70843: [[70841, 70842]], 70844: [[70841, 70832]], 70846: [[70841, 70845]], 70850: [, 9], 70851: [, 7] }, + 5376: { 71096: [,, { 71087: 71098 }], 71097: [,, { 71087: 71099 }], 71098: [[71096, 71087]], 71099: [[71097, 71087]], 71103: [, 9], 71104: [, 7] }, + 5632: { 71231: [, 9], 71350: [, 9], 71351: [, 7] }, + 5888: { 5908: [, 9], 5940: [, 9], 6098: [, 9], 6109: [, 230] }, + 6144: { 6313: [, 228] }, + 6400: { 6457: [, 222], 6458: [, 230], 6459: [, 220] }, + 6656: { 6679: [, 230], 6680: [, 220], 6752: [, 9], 6773: [, 230], 6774: [, 230], 6775: [, 230], 6776: [, 230], 6777: [, 230], 6778: [, 230], 6779: [, 230], 6780: [, 230], 6783: [, 220], 6832: [, 230], 6833: [, 230], 6834: [, 230], 6835: [, 230], 6836: [, 230], 6837: [, 220], 6838: [, 220], 6839: [, 220], 6840: [, 220], 6841: [, 220], 6842: [, 220], 6843: [, 230], 6844: [, 230], 6845: [, 220] }, + 6912: { 6917: [,, { 6965: 6918 }], 6918: [[6917, 6965]], 6919: [,, { 6965: 6920 }], 6920: [[6919, 6965]], 6921: [,, { 6965: 6922 }], 6922: [[6921, 6965]], 6923: [,, { 6965: 6924 }], 6924: [[6923, 6965]], 6925: [,, { 6965: 6926 }], 6926: [[6925, 6965]], 6929: [,, { 6965: 6930 }], 6930: [[6929, 6965]], 6964: [, 7], 6970: [,, { 6965: 6971 }], 6971: [[6970, 6965]], 6972: [,, { 6965: 6973 }], 6973: [[6972, 6965]], 6974: [,, { 6965: 6976 }], 6975: [,, { 6965: 6977 }], 6976: [[6974, 6965]], 6977: [[6975, 6965]], 6978: [,, { 6965: 6979 }], 6979: [[6978, 6965]], 6980: [, 9], 7019: [, 230], 7020: [, 220], 7021: [, 230], 7022: [, 230], 7023: [, 230], 7024: [, 230], 7025: [, 230], 7026: [, 230], 7027: [, 230], 7082: [, 9], 7083: [, 9], 7142: [, 7], 7154: [, 9], 7155: [, 9] }, + 7168: { 7223: [, 7], 7376: [, 230], 7377: [, 230], 7378: [, 230], 7380: [, 1], 7381: [, 220], 7382: [, 220], 7383: [, 220], 7384: [, 220], 7385: [, 220], 7386: [, 230], 7387: [, 230], 7388: [, 220], 7389: [, 220], 7390: [, 220], 7391: [, 220], 7392: [, 230], 7394: [, 1], 7395: [, 1], 7396: [, 1], 7397: [, 1], 7398: [, 1], 7399: [, 1], 7400: [, 1], 7405: [, 220], 7412: [, 230], 7416: [, 230], 7417: [, 230] }, + 7424: { 7468: [[65], 256], 7469: [[198], 256], 7470: [[66], 256], 7472: [[68], 256], 7473: [[69], 256], 7474: [[398], 256], 7475: [[71], 256], 7476: [[72], 256], 7477: [[73], 256], 7478: [[74], 256], 7479: [[75], 256], 7480: [[76], 256], 7481: [[77], 256], 7482: [[78], 256], 7484: [[79], 256], 7485: [[546], 256], 7486: [[80], 256], 7487: [[82], 256], 7488: [[84], 256], 7489: [[85], 256], 7490: [[87], 256], 7491: [[97], 256], 7492: [[592], 256], 7493: [[593], 256], 7494: [[7426], 256], 7495: [[98], 256], 7496: [[100], 256], 7497: [[101], 256], 7498: [[601], 256], 7499: [[603], 256], 7500: [[604], 256], 7501: [[103], 256], 7503: [[107], 256], 7504: [[109], 256], 7505: [[331], 256], 7506: [[111], 256], 7507: [[596], 256], 7508: [[7446], 256], 7509: [[7447], 256], 7510: [[112], 256], 7511: [[116], 256], 7512: [[117], 256], 7513: [[7453], 256], 7514: [[623], 256], 7515: [[118], 256], 7516: [[7461], 256], 7517: [[946], 256], 7518: [[947], 256], 7519: [[948], 256], 7520: [[966], 256], 7521: [[967], 256], 7522: [[105], 256], 7523: [[114], 256], 7524: [[117], 256], 7525: [[118], 256], 7526: [[946], 256], 7527: [[947], 256], 7528: [[961], 256], 7529: [[966], 256], 7530: [[967], 256], 7544: [[1085], 256], 7579: [[594], 256], 7580: [[99], 256], 7581: [[597], 256], 7582: [[240], 256], 7583: [[604], 256], 7584: [[102], 256], 7585: [[607], 256], 7586: [[609], 256], 7587: [[613], 256], 7588: [[616], 256], 7589: [[617], 256], 7590: [[618], 256], 7591: [[7547], 256], 7592: [[669], 256], 7593: [[621], 256], 7594: [[7557], 256], 7595: [[671], 256], 7596: [[625], 256], 7597: [[624], 256], 7598: [[626], 256], 7599: [[627], 256], 7600: [[628], 256], 7601: [[629], 256], 7602: [[632], 256], 7603: [[642], 256], 7604: [[643], 256], 7605: [[427], 256], 7606: [[649], 256], 7607: [[650], 256], 7608: [[7452], 256], 7609: [[651], 256], 7610: [[652], 256], 7611: [[122], 256], 7612: [[656], 256], 7613: [[657], 256], 7614: [[658], 256], 7615: [[952], 256], 7616: [, 230], 7617: [, 230], 7618: [, 220], 7619: [, 230], 7620: [, 230], 7621: [, 230], 7622: [, 230], 7623: [, 230], 7624: [, 230], 7625: [, 230], 7626: [, 220], 7627: [, 230], 7628: [, 230], 7629: [, 234], 7630: [, 214], 7631: [, 220], 7632: [, 202], 7633: [, 230], 7634: [, 230], 7635: [, 230], 7636: [, 230], 7637: [, 230], 7638: [, 230], 7639: [, 230], 7640: [, 230], 7641: [, 230], 7642: [, 230], 7643: [, 230], 7644: [, 230], 7645: [, 230], 7646: [, 230], 7647: [, 230], 7648: [, 230], 7649: [, 230], 7650: [, 230], 7651: [, 230], 7652: [, 230], 7653: [, 230], 7654: [, 230], 7655: [, 230], 7656: [, 230], 7657: [, 230], 7658: [, 230], 7659: [, 230], 7660: [, 230], 7661: [, 230], 7662: [, 230], 7663: [, 230], 7664: [, 230], 7665: [, 230], 7666: [, 230], 7667: [, 230], 7668: [, 230], 7669: [, 230], 7676: [, 233], 7677: [, 220], 7678: [, 230], 7679: [, 220] }, + 7680: { 7680: [[65, 805]], 7681: [[97, 805]], 7682: [[66, 775]], 7683: [[98, 775]], 7684: [[66, 803]], 7685: [[98, 803]], 7686: [[66, 817]], 7687: [[98, 817]], 7688: [[199, 769]], 7689: [[231, 769]], 7690: [[68, 775]], 7691: [[100, 775]], 7692: [[68, 803]], 7693: [[100, 803]], 7694: [[68, 817]], 7695: [[100, 817]], 7696: [[68, 807]], 7697: [[100, 807]], 7698: [[68, 813]], 7699: [[100, 813]], 7700: [[274, 768]], 7701: [[275, 768]], 7702: [[274, 769]], 7703: [[275, 769]], 7704: [[69, 813]], 7705: [[101, 813]], 7706: [[69, 816]], 7707: [[101, 816]], 7708: [[552, 774]], 7709: [[553, 774]], 7710: [[70, 775]], 7711: [[102, 775]], 7712: [[71, 772]], 7713: [[103, 772]], 7714: [[72, 775]], 7715: [[104, 775]], 7716: [[72, 803]], 7717: [[104, 803]], 7718: [[72, 776]], 7719: [[104, 776]], 7720: [[72, 807]], 7721: [[104, 807]], 7722: [[72, 814]], 7723: [[104, 814]], 7724: [[73, 816]], 7725: [[105, 816]], 7726: [[207, 769]], 7727: [[239, 769]], 7728: [[75, 769]], 7729: [[107, 769]], 7730: [[75, 803]], 7731: [[107, 803]], 7732: [[75, 817]], 7733: [[107, 817]], 7734: [[76, 803],, { 772: 7736 }], 7735: [[108, 803],, { 772: 7737 }], 7736: [[7734, 772]], 7737: [[7735, 772]], 7738: [[76, 817]], 7739: [[108, 817]], 7740: [[76, 813]], 7741: [[108, 813]], 7742: [[77, 769]], 7743: [[109, 769]], 7744: [[77, 775]], 7745: [[109, 775]], 7746: [[77, 803]], 7747: [[109, 803]], 7748: [[78, 775]], 7749: [[110, 775]], 7750: [[78, 803]], 7751: [[110, 803]], 7752: [[78, 817]], 7753: [[110, 817]], 7754: [[78, 813]], 7755: [[110, 813]], 7756: [[213, 769]], 7757: [[245, 769]], 7758: [[213, 776]], 7759: [[245, 776]], 7760: [[332, 768]], 7761: [[333, 768]], 7762: [[332, 769]], 7763: [[333, 769]], 7764: [[80, 769]], 7765: [[112, 769]], 7766: [[80, 775]], 7767: [[112, 775]], 7768: [[82, 775]], 7769: [[114, 775]], 7770: [[82, 803],, { 772: 7772 }], 7771: [[114, 803],, { 772: 7773 }], 7772: [[7770, 772]], 7773: [[7771, 772]], 7774: [[82, 817]], 7775: [[114, 817]], 7776: [[83, 775]], 7777: [[115, 775]], 7778: [[83, 803],, { 775: 7784 }], 7779: [[115, 803],, { 775: 7785 }], 7780: [[346, 775]], 7781: [[347, 775]], 7782: [[352, 775]], 7783: [[353, 775]], 7784: [[7778, 775]], 7785: [[7779, 775]], 7786: [[84, 775]], 7787: [[116, 775]], 7788: [[84, 803]], 7789: [[116, 803]], 7790: [[84, 817]], 7791: [[116, 817]], 7792: [[84, 813]], 7793: [[116, 813]], 7794: [[85, 804]], 7795: [[117, 804]], 7796: [[85, 816]], 7797: [[117, 816]], 7798: [[85, 813]], 7799: [[117, 813]], 7800: [[360, 769]], 7801: [[361, 769]], 7802: [[362, 776]], 7803: [[363, 776]], 7804: [[86, 771]], 7805: [[118, 771]], 7806: [[86, 803]], 7807: [[118, 803]], 7808: [[87, 768]], 7809: [[119, 768]], 7810: [[87, 769]], 7811: [[119, 769]], 7812: [[87, 776]], 7813: [[119, 776]], 7814: [[87, 775]], 7815: [[119, 775]], 7816: [[87, 803]], 7817: [[119, 803]], 7818: [[88, 775]], 7819: [[120, 775]], 7820: [[88, 776]], 7821: [[120, 776]], 7822: [[89, 775]], 7823: [[121, 775]], 7824: [[90, 770]], 7825: [[122, 770]], 7826: [[90, 803]], 7827: [[122, 803]], 7828: [[90, 817]], 7829: [[122, 817]], 7830: [[104, 817]], 7831: [[116, 776]], 7832: [[119, 778]], 7833: [[121, 778]], 7834: [[97, 702], 256], 7835: [[383, 775]], 7840: [[65, 803],, { 770: 7852, 774: 7862 }], 7841: [[97, 803],, { 770: 7853, 774: 7863 }], 7842: [[65, 777]], 7843: [[97, 777]], 7844: [[194, 769]], 7845: [[226, 769]], 7846: [[194, 768]], 7847: [[226, 768]], 7848: [[194, 777]], 7849: [[226, 777]], 7850: [[194, 771]], 7851: [[226, 771]], 7852: [[7840, 770]], 7853: [[7841, 770]], 7854: [[258, 769]], 7855: [[259, 769]], 7856: [[258, 768]], 7857: [[259, 768]], 7858: [[258, 777]], 7859: [[259, 777]], 7860: [[258, 771]], 7861: [[259, 771]], 7862: [[7840, 774]], 7863: [[7841, 774]], 7864: [[69, 803],, { 770: 7878 }], 7865: [[101, 803],, { 770: 7879 }], 7866: [[69, 777]], 7867: [[101, 777]], 7868: [[69, 771]], 7869: [[101, 771]], 7870: [[202, 769]], 7871: [[234, 769]], 7872: [[202, 768]], 7873: [[234, 768]], 7874: [[202, 777]], 7875: [[234, 777]], 7876: [[202, 771]], 7877: [[234, 771]], 7878: [[7864, 770]], 7879: [[7865, 770]], 7880: [[73, 777]], 7881: [[105, 777]], 7882: [[73, 803]], 7883: [[105, 803]], 7884: [[79, 803],, { 770: 7896 }], 7885: [[111, 803],, { 770: 7897 }], 7886: [[79, 777]], 7887: [[111, 777]], 7888: [[212, 769]], 7889: [[244, 769]], 7890: [[212, 768]], 7891: [[244, 768]], 7892: [[212, 777]], 7893: [[244, 777]], 7894: [[212, 771]], 7895: [[244, 771]], 7896: [[7884, 770]], 7897: [[7885, 770]], 7898: [[416, 769]], 7899: [[417, 769]], 7900: [[416, 768]], 7901: [[417, 768]], 7902: [[416, 777]], 7903: [[417, 777]], 7904: [[416, 771]], 7905: [[417, 771]], 7906: [[416, 803]], 7907: [[417, 803]], 7908: [[85, 803]], 7909: [[117, 803]], 7910: [[85, 777]], 7911: [[117, 777]], 7912: [[431, 769]], 7913: [[432, 769]], 7914: [[431, 768]], 7915: [[432, 768]], 7916: [[431, 777]], 7917: [[432, 777]], 7918: [[431, 771]], 7919: [[432, 771]], 7920: [[431, 803]], 7921: [[432, 803]], 7922: [[89, 768]], 7923: [[121, 768]], 7924: [[89, 803]], 7925: [[121, 803]], 7926: [[89, 777]], 7927: [[121, 777]], 7928: [[89, 771]], 7929: [[121, 771]] }, + 7936: { 7936: [[945, 787],, { 768: 7938, 769: 7940, 834: 7942, 837: 8064 }], 7937: [[945, 788],, { 768: 7939, 769: 7941, 834: 7943, 837: 8065 }], 7938: [[7936, 768],, { 837: 8066 }], 7939: [[7937, 768],, { 837: 8067 }], 7940: [[7936, 769],, { 837: 8068 }], 7941: [[7937, 769],, { 837: 8069 }], 7942: [[7936, 834],, { 837: 8070 }], 7943: [[7937, 834],, { 837: 8071 }], 7944: [[913, 787],, { 768: 7946, 769: 7948, 834: 7950, 837: 8072 }], 7945: [[913, 788],, { 768: 7947, 769: 7949, 834: 7951, 837: 8073 }], 7946: [[7944, 768],, { 837: 8074 }], 7947: [[7945, 768],, { 837: 8075 }], 7948: [[7944, 769],, { 837: 8076 }], 7949: [[7945, 769],, { 837: 8077 }], 7950: [[7944, 834],, { 837: 8078 }], 7951: [[7945, 834],, { 837: 8079 }], 7952: [[949, 787],, { 768: 7954, 769: 7956 }], 7953: [[949, 788],, { 768: 7955, 769: 7957 }], 7954: [[7952, 768]], 7955: [[7953, 768]], 7956: [[7952, 769]], 7957: [[7953, 769]], 7960: [[917, 787],, { 768: 7962, 769: 7964 }], 7961: [[917, 788],, { 768: 7963, 769: 7965 }], 7962: [[7960, 768]], 7963: [[7961, 768]], 7964: [[7960, 769]], 7965: [[7961, 769]], 7968: [[951, 787],, { 768: 7970, 769: 7972, 834: 7974, 837: 8080 }], 7969: [[951, 788],, { 768: 7971, 769: 7973, 834: 7975, 837: 8081 }], 7970: [[7968, 768],, { 837: 8082 }], 7971: [[7969, 768],, { 837: 8083 }], 7972: [[7968, 769],, { 837: 8084 }], 7973: [[7969, 769],, { 837: 8085 }], 7974: [[7968, 834],, { 837: 8086 }], 7975: [[7969, 834],, { 837: 8087 }], 7976: [[919, 787],, { 768: 7978, 769: 7980, 834: 7982, 837: 8088 }], 7977: [[919, 788],, { 768: 7979, 769: 7981, 834: 7983, 837: 8089 }], 7978: [[7976, 768],, { 837: 8090 }], 7979: [[7977, 768],, { 837: 8091 }], 7980: [[7976, 769],, { 837: 8092 }], 7981: [[7977, 769],, { 837: 8093 }], 7982: [[7976, 834],, { 837: 8094 }], 7983: [[7977, 834],, { 837: 8095 }], 7984: [[953, 787],, { 768: 7986, 769: 7988, 834: 7990 }], 7985: [[953, 788],, { 768: 7987, 769: 7989, 834: 7991 }], 7986: [[7984, 768]], 7987: [[7985, 768]], 7988: [[7984, 769]], 7989: [[7985, 769]], 7990: [[7984, 834]], 7991: [[7985, 834]], 7992: [[921, 787],, { 768: 7994, 769: 7996, 834: 7998 }], 7993: [[921, 788],, { 768: 7995, 769: 7997, 834: 7999 }], 7994: [[7992, 768]], 7995: [[7993, 768]], 7996: [[7992, 769]], 7997: [[7993, 769]], 7998: [[7992, 834]], 7999: [[7993, 834]], 8000: [[959, 787],, { 768: 8002, 769: 8004 }], 8001: [[959, 788],, { 768: 8003, 769: 8005 }], 8002: [[8000, 768]], 8003: [[8001, 768]], 8004: [[8000, 769]], 8005: [[8001, 769]], 8008: [[927, 787],, { 768: 8010, 769: 8012 }], 8009: [[927, 788],, { 768: 8011, 769: 8013 }], 8010: [[8008, 768]], 8011: [[8009, 768]], 8012: [[8008, 769]], 8013: [[8009, 769]], 8016: [[965, 787],, { 768: 8018, 769: 8020, 834: 8022 }], 8017: [[965, 788],, { 768: 8019, 769: 8021, 834: 8023 }], 8018: [[8016, 768]], 8019: [[8017, 768]], 8020: [[8016, 769]], 8021: [[8017, 769]], 8022: [[8016, 834]], 8023: [[8017, 834]], 8025: [[933, 788],, { 768: 8027, 769: 8029, 834: 8031 }], 8027: [[8025, 768]], 8029: [[8025, 769]], 8031: [[8025, 834]], 8032: [[969, 787],, { 768: 8034, 769: 8036, 834: 8038, 837: 8096 }], 8033: [[969, 788],, { 768: 8035, 769: 8037, 834: 8039, 837: 8097 }], 8034: [[8032, 768],, { 837: 8098 }], 8035: [[8033, 768],, { 837: 8099 }], 8036: [[8032, 769],, { 837: 8100 }], 8037: [[8033, 769],, { 837: 8101 }], 8038: [[8032, 834],, { 837: 8102 }], 8039: [[8033, 834],, { 837: 8103 }], 8040: [[937, 787],, { 768: 8042, 769: 8044, 834: 8046, 837: 8104 }], 8041: [[937, 788],, { 768: 8043, 769: 8045, 834: 8047, 837: 8105 }], 8042: [[8040, 768],, { 837: 8106 }], 8043: [[8041, 768],, { 837: 8107 }], 8044: [[8040, 769],, { 837: 8108 }], 8045: [[8041, 769],, { 837: 8109 }], 8046: [[8040, 834],, { 837: 8110 }], 8047: [[8041, 834],, { 837: 8111 }], 8048: [[945, 768],, { 837: 8114 }], 8049: [[940]], 8050: [[949, 768]], 8051: [[941]], 8052: [[951, 768],, { 837: 8130 }], 8053: [[942]], 8054: [[953, 768]], 8055: [[943]], 8056: [[959, 768]], 8057: [[972]], 8058: [[965, 768]], 8059: [[973]], 8060: [[969, 768],, { 837: 8178 }], 8061: [[974]], 8064: [[7936, 837]], 8065: [[7937, 837]], 8066: [[7938, 837]], 8067: [[7939, 837]], 8068: [[7940, 837]], 8069: [[7941, 837]], 8070: [[7942, 837]], 8071: [[7943, 837]], 8072: [[7944, 837]], 8073: [[7945, 837]], 8074: [[7946, 837]], 8075: [[7947, 837]], 8076: [[7948, 837]], 8077: [[7949, 837]], 8078: [[7950, 837]], 8079: [[7951, 837]], 8080: [[7968, 837]], 8081: [[7969, 837]], 8082: [[7970, 837]], 8083: [[7971, 837]], 8084: [[7972, 837]], 8085: [[7973, 837]], 8086: [[7974, 837]], 8087: [[7975, 837]], 8088: [[7976, 837]], 8089: [[7977, 837]], 8090: [[7978, 837]], 8091: [[7979, 837]], 8092: [[7980, 837]], 8093: [[7981, 837]], 8094: [[7982, 837]], 8095: [[7983, 837]], 8096: [[8032, 837]], 8097: [[8033, 837]], 8098: [[8034, 837]], 8099: [[8035, 837]], 8100: [[8036, 837]], 8101: [[8037, 837]], 8102: [[8038, 837]], 8103: [[8039, 837]], 8104: [[8040, 837]], 8105: [[8041, 837]], 8106: [[8042, 837]], 8107: [[8043, 837]], 8108: [[8044, 837]], 8109: [[8045, 837]], 8110: [[8046, 837]], 8111: [[8047, 837]], 8112: [[945, 774]], 8113: [[945, 772]], 8114: [[8048, 837]], 8115: [[945, 837]], 8116: [[940, 837]], 8118: [[945, 834],, { 837: 8119 }], 8119: [[8118, 837]], 8120: [[913, 774]], 8121: [[913, 772]], 8122: [[913, 768]], 8123: [[902]], 8124: [[913, 837]], 8125: [[32, 787], 256], 8126: [[953]], 8127: [[32, 787], 256, { 768: 8141, 769: 8142, 834: 8143 }], 8128: [[32, 834], 256], 8129: [[168, 834]], 8130: [[8052, 837]], 8131: [[951, 837]], 8132: [[942, 837]], 8134: [[951, 834],, { 837: 8135 }], 8135: [[8134, 837]], 8136: [[917, 768]], 8137: [[904]], 8138: [[919, 768]], 8139: [[905]], 8140: [[919, 837]], 8141: [[8127, 768]], 8142: [[8127, 769]], 8143: [[8127, 834]], 8144: [[953, 774]], 8145: [[953, 772]], 8146: [[970, 768]], 8147: [[912]], 8150: [[953, 834]], 8151: [[970, 834]], 8152: [[921, 774]], 8153: [[921, 772]], 8154: [[921, 768]], 8155: [[906]], 8157: [[8190, 768]], 8158: [[8190, 769]], 8159: [[8190, 834]], 8160: [[965, 774]], 8161: [[965, 772]], 8162: [[971, 768]], 8163: [[944]], 8164: [[961, 787]], 8165: [[961, 788]], 8166: [[965, 834]], 8167: [[971, 834]], 8168: [[933, 774]], 8169: [[933, 772]], 8170: [[933, 768]], 8171: [[910]], 8172: [[929, 788]], 8173: [[168, 768]], 8174: [[901]], 8175: [[96]], 8178: [[8060, 837]], 8179: [[969, 837]], 8180: [[974, 837]], 8182: [[969, 834],, { 837: 8183 }], 8183: [[8182, 837]], 8184: [[927, 768]], 8185: [[908]], 8186: [[937, 768]], 8187: [[911]], 8188: [[937, 837]], 8189: [[180]], 8190: [[32, 788], 256, { 768: 8157, 769: 8158, 834: 8159 }] }, + 8192: { 8192: [[8194]], 8193: [[8195]], 8194: [[32], 256], 8195: [[32], 256], 8196: [[32], 256], 8197: [[32], 256], 8198: [[32], 256], 8199: [[32], 256], 8200: [[32], 256], 8201: [[32], 256], 8202: [[32], 256], 8209: [[8208], 256], 8215: [[32, 819], 256], 8228: [[46], 256], 8229: [[46, 46], 256], 8230: [[46, 46, 46], 256], 8239: [[32], 256], 8243: [[8242, 8242], 256], 8244: [[8242, 8242, 8242], 256], 8246: [[8245, 8245], 256], 8247: [[8245, 8245, 8245], 256], 8252: [[33, 33], 256], 8254: [[32, 773], 256], 8263: [[63, 63], 256], 8264: [[63, 33], 256], 8265: [[33, 63], 256], 8279: [[8242, 8242, 8242, 8242], 256], 8287: [[32], 256], 8304: [[48], 256], 8305: [[105], 256], 8308: [[52], 256], 8309: [[53], 256], 8310: [[54], 256], 8311: [[55], 256], 8312: [[56], 256], 8313: [[57], 256], 8314: [[43], 256], 8315: [[8722], 256], 8316: [[61], 256], 8317: [[40], 256], 8318: [[41], 256], 8319: [[110], 256], 8320: [[48], 256], 8321: [[49], 256], 8322: [[50], 256], 8323: [[51], 256], 8324: [[52], 256], 8325: [[53], 256], 8326: [[54], 256], 8327: [[55], 256], 8328: [[56], 256], 8329: [[57], 256], 8330: [[43], 256], 8331: [[8722], 256], 8332: [[61], 256], 8333: [[40], 256], 8334: [[41], 256], 8336: [[97], 256], 8337: [[101], 256], 8338: [[111], 256], 8339: [[120], 256], 8340: [[601], 256], 8341: [[104], 256], 8342: [[107], 256], 8343: [[108], 256], 8344: [[109], 256], 8345: [[110], 256], 8346: [[112], 256], 8347: [[115], 256], 8348: [[116], 256], 8360: [[82, 115], 256], 8400: [, 230], 8401: [, 230], 8402: [, 1], 8403: [, 1], 8404: [, 230], 8405: [, 230], 8406: [, 230], 8407: [, 230], 8408: [, 1], 8409: [, 1], 8410: [, 1], 8411: [, 230], 8412: [, 230], 8417: [, 230], 8421: [, 1], 8422: [, 1], 8423: [, 230], 8424: [, 220], 8425: [, 230], 8426: [, 1], 8427: [, 1], 8428: [, 220], 8429: [, 220], 8430: [, 220], 8431: [, 220], 8432: [, 230] }, + 8448: { 8448: [[97, 47, 99], 256], 8449: [[97, 47, 115], 256], 8450: [[67], 256], 8451: [[176, 67], 256], 8453: [[99, 47, 111], 256], 8454: [[99, 47, 117], 256], 8455: [[400], 256], 8457: [[176, 70], 256], 8458: [[103], 256], 8459: [[72], 256], 8460: [[72], 256], 8461: [[72], 256], 8462: [[104], 256], 8463: [[295], 256], 8464: [[73], 256], 8465: [[73], 256], 8466: [[76], 256], 8467: [[108], 256], 8469: [[78], 256], 8470: [[78, 111], 256], 8473: [[80], 256], 8474: [[81], 256], 8475: [[82], 256], 8476: [[82], 256], 8477: [[82], 256], 8480: [[83, 77], 256], 8481: [[84, 69, 76], 256], 8482: [[84, 77], 256], 8484: [[90], 256], 8486: [[937]], 8488: [[90], 256], 8490: [[75]], 8491: [[197]], 8492: [[66], 256], 8493: [[67], 256], 8495: [[101], 256], 8496: [[69], 256], 8497: [[70], 256], 8499: [[77], 256], 8500: [[111], 256], 8501: [[1488], 256], 8502: [[1489], 256], 8503: [[1490], 256], 8504: [[1491], 256], 8505: [[105], 256], 8507: [[70, 65, 88], 256], 8508: [[960], 256], 8509: [[947], 256], 8510: [[915], 256], 8511: [[928], 256], 8512: [[8721], 256], 8517: [[68], 256], 8518: [[100], 256], 8519: [[101], 256], 8520: [[105], 256], 8521: [[106], 256], 8528: [[49, 8260, 55], 256], 8529: [[49, 8260, 57], 256], 8530: [[49, 8260, 49, 48], 256], 8531: [[49, 8260, 51], 256], 8532: [[50, 8260, 51], 256], 8533: [[49, 8260, 53], 256], 8534: [[50, 8260, 53], 256], 8535: [[51, 8260, 53], 256], 8536: [[52, 8260, 53], 256], 8537: [[49, 8260, 54], 256], 8538: [[53, 8260, 54], 256], 8539: [[49, 8260, 56], 256], 8540: [[51, 8260, 56], 256], 8541: [[53, 8260, 56], 256], 8542: [[55, 8260, 56], 256], 8543: [[49, 8260], 256], 8544: [[73], 256], 8545: [[73, 73], 256], 8546: [[73, 73, 73], 256], 8547: [[73, 86], 256], 8548: [[86], 256], 8549: [[86, 73], 256], 8550: [[86, 73, 73], 256], 8551: [[86, 73, 73, 73], 256], 8552: [[73, 88], 256], 8553: [[88], 256], 8554: [[88, 73], 256], 8555: [[88, 73, 73], 256], 8556: [[76], 256], 8557: [[67], 256], 8558: [[68], 256], 8559: [[77], 256], 8560: [[105], 256], 8561: [[105, 105], 256], 8562: [[105, 105, 105], 256], 8563: [[105, 118], 256], 8564: [[118], 256], 8565: [[118, 105], 256], 8566: [[118, 105, 105], 256], 8567: [[118, 105, 105, 105], 256], 8568: [[105, 120], 256], 8569: [[120], 256], 8570: [[120, 105], 256], 8571: [[120, 105, 105], 256], 8572: [[108], 256], 8573: [[99], 256], 8574: [[100], 256], 8575: [[109], 256], 8585: [[48, 8260, 51], 256], 8592: [,, { 824: 8602 }], 8594: [,, { 824: 8603 }], 8596: [,, { 824: 8622 }], 8602: [[8592, 824]], 8603: [[8594, 824]], 8622: [[8596, 824]], 8653: [[8656, 824]], 8654: [[8660, 824]], 8655: [[8658, 824]], 8656: [,, { 824: 8653 }], 8658: [,, { 824: 8655 }], 8660: [,, { 824: 8654 }] }, + 8704: { 8707: [,, { 824: 8708 }], 8708: [[8707, 824]], 8712: [,, { 824: 8713 }], 8713: [[8712, 824]], 8715: [,, { 824: 8716 }], 8716: [[8715, 824]], 8739: [,, { 824: 8740 }], 8740: [[8739, 824]], 8741: [,, { 824: 8742 }], 8742: [[8741, 824]], 8748: [[8747, 8747], 256], 8749: [[8747, 8747, 8747], 256], 8751: [[8750, 8750], 256], 8752: [[8750, 8750, 8750], 256], 8764: [,, { 824: 8769 }], 8769: [[8764, 824]], 8771: [,, { 824: 8772 }], 8772: [[8771, 824]], 8773: [,, { 824: 8775 }], 8775: [[8773, 824]], 8776: [,, { 824: 8777 }], 8777: [[8776, 824]], 8781: [,, { 824: 8813 }], 8800: [[61, 824]], 8801: [,, { 824: 8802 }], 8802: [[8801, 824]], 8804: [,, { 824: 8816 }], 8805: [,, { 824: 8817 }], 8813: [[8781, 824]], 8814: [[60, 824]], 8815: [[62, 824]], 8816: [[8804, 824]], 8817: [[8805, 824]], 8818: [,, { 824: 8820 }], 8819: [,, { 824: 8821 }], 8820: [[8818, 824]], 8821: [[8819, 824]], 8822: [,, { 824: 8824 }], 8823: [,, { 824: 8825 }], 8824: [[8822, 824]], 8825: [[8823, 824]], 8826: [,, { 824: 8832 }], 8827: [,, { 824: 8833 }], 8828: [,, { 824: 8928 }], 8829: [,, { 824: 8929 }], 8832: [[8826, 824]], 8833: [[8827, 824]], 8834: [,, { 824: 8836 }], 8835: [,, { 824: 8837 }], 8836: [[8834, 824]], 8837: [[8835, 824]], 8838: [,, { 824: 8840 }], 8839: [,, { 824: 8841 }], 8840: [[8838, 824]], 8841: [[8839, 824]], 8849: [,, { 824: 8930 }], 8850: [,, { 824: 8931 }], 8866: [,, { 824: 8876 }], 8872: [,, { 824: 8877 }], 8873: [,, { 824: 8878 }], 8875: [,, { 824: 8879 }], 8876: [[8866, 824]], 8877: [[8872, 824]], 8878: [[8873, 824]], 8879: [[8875, 824]], 8882: [,, { 824: 8938 }], 8883: [,, { 824: 8939 }], 8884: [,, { 824: 8940 }], 8885: [,, { 824: 8941 }], 8928: [[8828, 824]], 8929: [[8829, 824]], 8930: [[8849, 824]], 8931: [[8850, 824]], 8938: [[8882, 824]], 8939: [[8883, 824]], 8940: [[8884, 824]], 8941: [[8885, 824]] }, + 8960: { 9001: [[12296]], 9002: [[12297]] }, + 9216: { 9312: [[49], 256], 9313: [[50], 256], 9314: [[51], 256], 9315: [[52], 256], 9316: [[53], 256], 9317: [[54], 256], 9318: [[55], 256], 9319: [[56], 256], 9320: [[57], 256], 9321: [[49, 48], 256], 9322: [[49, 49], 256], 9323: [[49, 50], 256], 9324: [[49, 51], 256], 9325: [[49, 52], 256], 9326: [[49, 53], 256], 9327: [[49, 54], 256], 9328: [[49, 55], 256], 9329: [[49, 56], 256], 9330: [[49, 57], 256], 9331: [[50, 48], 256], 9332: [[40, 49, 41], 256], 9333: [[40, 50, 41], 256], 9334: [[40, 51, 41], 256], 9335: [[40, 52, 41], 256], 9336: [[40, 53, 41], 256], 9337: [[40, 54, 41], 256], 9338: [[40, 55, 41], 256], 9339: [[40, 56, 41], 256], 9340: [[40, 57, 41], 256], 9341: [[40, 49, 48, 41], 256], 9342: [[40, 49, 49, 41], 256], 9343: [[40, 49, 50, 41], 256], 9344: [[40, 49, 51, 41], 256], 9345: [[40, 49, 52, 41], 256], 9346: [[40, 49, 53, 41], 256], 9347: [[40, 49, 54, 41], 256], 9348: [[40, 49, 55, 41], 256], 9349: [[40, 49, 56, 41], 256], 9350: [[40, 49, 57, 41], 256], 9351: [[40, 50, 48, 41], 256], 9352: [[49, 46], 256], 9353: [[50, 46], 256], 9354: [[51, 46], 256], 9355: [[52, 46], 256], 9356: [[53, 46], 256], 9357: [[54, 46], 256], 9358: [[55, 46], 256], 9359: [[56, 46], 256], 9360: [[57, 46], 256], 9361: [[49, 48, 46], 256], 9362: [[49, 49, 46], 256], 9363: [[49, 50, 46], 256], 9364: [[49, 51, 46], 256], 9365: [[49, 52, 46], 256], 9366: [[49, 53, 46], 256], 9367: [[49, 54, 46], 256], 9368: [[49, 55, 46], 256], 9369: [[49, 56, 46], 256], 9370: [[49, 57, 46], 256], 9371: [[50, 48, 46], 256], 9372: [[40, 97, 41], 256], 9373: [[40, 98, 41], 256], 9374: [[40, 99, 41], 256], 9375: [[40, 100, 41], 256], 9376: [[40, 101, 41], 256], 9377: [[40, 102, 41], 256], 9378: [[40, 103, 41], 256], 9379: [[40, 104, 41], 256], 9380: [[40, 105, 41], 256], 9381: [[40, 106, 41], 256], 9382: [[40, 107, 41], 256], 9383: [[40, 108, 41], 256], 9384: [[40, 109, 41], 256], 9385: [[40, 110, 41], 256], 9386: [[40, 111, 41], 256], 9387: [[40, 112, 41], 256], 9388: [[40, 113, 41], 256], 9389: [[40, 114, 41], 256], 9390: [[40, 115, 41], 256], 9391: [[40, 116, 41], 256], 9392: [[40, 117, 41], 256], 9393: [[40, 118, 41], 256], 9394: [[40, 119, 41], 256], 9395: [[40, 120, 41], 256], 9396: [[40, 121, 41], 256], 9397: [[40, 122, 41], 256], 9398: [[65], 256], 9399: [[66], 256], 9400: [[67], 256], 9401: [[68], 256], 9402: [[69], 256], 9403: [[70], 256], 9404: [[71], 256], 9405: [[72], 256], 9406: [[73], 256], 9407: [[74], 256], 9408: [[75], 256], 9409: [[76], 256], 9410: [[77], 256], 9411: [[78], 256], 9412: [[79], 256], 9413: [[80], 256], 9414: [[81], 256], 9415: [[82], 256], 9416: [[83], 256], 9417: [[84], 256], 9418: [[85], 256], 9419: [[86], 256], 9420: [[87], 256], 9421: [[88], 256], 9422: [[89], 256], 9423: [[90], 256], 9424: [[97], 256], 9425: [[98], 256], 9426: [[99], 256], 9427: [[100], 256], 9428: [[101], 256], 9429: [[102], 256], 9430: [[103], 256], 9431: [[104], 256], 9432: [[105], 256], 9433: [[106], 256], 9434: [[107], 256], 9435: [[108], 256], 9436: [[109], 256], 9437: [[110], 256], 9438: [[111], 256], 9439: [[112], 256], 9440: [[113], 256], 9441: [[114], 256], 9442: [[115], 256], 9443: [[116], 256], 9444: [[117], 256], 9445: [[118], 256], 9446: [[119], 256], 9447: [[120], 256], 9448: [[121], 256], 9449: [[122], 256], 9450: [[48], 256] }, + 10752: { 10764: [[8747, 8747, 8747, 8747], 256], 10868: [[58, 58, 61], 256], 10869: [[61, 61], 256], 10870: [[61, 61, 61], 256], 10972: [[10973, 824], 512] }, + 11264: { 11388: [[106], 256], 11389: [[86], 256], 11503: [, 230], 11504: [, 230], 11505: [, 230] }, + 11520: { 11631: [[11617], 256], 11647: [, 9], 11744: [, 230], 11745: [, 230], 11746: [, 230], 11747: [, 230], 11748: [, 230], 11749: [, 230], 11750: [, 230], 11751: [, 230], 11752: [, 230], 11753: [, 230], 11754: [, 230], 11755: [, 230], 11756: [, 230], 11757: [, 230], 11758: [, 230], 11759: [, 230], 11760: [, 230], 11761: [, 230], 11762: [, 230], 11763: [, 230], 11764: [, 230], 11765: [, 230], 11766: [, 230], 11767: [, 230], 11768: [, 230], 11769: [, 230], 11770: [, 230], 11771: [, 230], 11772: [, 230], 11773: [, 230], 11774: [, 230], 11775: [, 230] }, + 11776: { 11935: [[27597], 256], 12019: [[40863], 256] }, + 12032: { 12032: [[19968], 256], 12033: [[20008], 256], 12034: [[20022], 256], 12035: [[20031], 256], 12036: [[20057], 256], 12037: [[20101], 256], 12038: [[20108], 256], 12039: [[20128], 256], 12040: [[20154], 256], 12041: [[20799], 256], 12042: [[20837], 256], 12043: [[20843], 256], 12044: [[20866], 256], 12045: [[20886], 256], 12046: [[20907], 256], 12047: [[20960], 256], 12048: [[20981], 256], 12049: [[20992], 256], 12050: [[21147], 256], 12051: [[21241], 256], 12052: [[21269], 256], 12053: [[21274], 256], 12054: [[21304], 256], 12055: [[21313], 256], 12056: [[21340], 256], 12057: [[21353], 256], 12058: [[21378], 256], 12059: [[21430], 256], 12060: [[21448], 256], 12061: [[21475], 256], 12062: [[22231], 256], 12063: [[22303], 256], 12064: [[22763], 256], 12065: [[22786], 256], 12066: [[22794], 256], 12067: [[22805], 256], 12068: [[22823], 256], 12069: [[22899], 256], 12070: [[23376], 256], 12071: [[23424], 256], 12072: [[23544], 256], 12073: [[23567], 256], 12074: [[23586], 256], 12075: [[23608], 256], 12076: [[23662], 256], 12077: [[23665], 256], 12078: [[24027], 256], 12079: [[24037], 256], 12080: [[24049], 256], 12081: [[24062], 256], 12082: [[24178], 256], 12083: [[24186], 256], 12084: [[24191], 256], 12085: [[24308], 256], 12086: [[24318], 256], 12087: [[24331], 256], 12088: [[24339], 256], 12089: [[24400], 256], 12090: [[24417], 256], 12091: [[24435], 256], 12092: [[24515], 256], 12093: [[25096], 256], 12094: [[25142], 256], 12095: [[25163], 256], 12096: [[25903], 256], 12097: [[25908], 256], 12098: [[25991], 256], 12099: [[26007], 256], 12100: [[26020], 256], 12101: [[26041], 256], 12102: [[26080], 256], 12103: [[26085], 256], 12104: [[26352], 256], 12105: [[26376], 256], 12106: [[26408], 256], 12107: [[27424], 256], 12108: [[27490], 256], 12109: [[27513], 256], 12110: [[27571], 256], 12111: [[27595], 256], 12112: [[27604], 256], 12113: [[27611], 256], 12114: [[27663], 256], 12115: [[27668], 256], 12116: [[27700], 256], 12117: [[28779], 256], 12118: [[29226], 256], 12119: [[29238], 256], 12120: [[29243], 256], 12121: [[29247], 256], 12122: [[29255], 256], 12123: [[29273], 256], 12124: [[29275], 256], 12125: [[29356], 256], 12126: [[29572], 256], 12127: [[29577], 256], 12128: [[29916], 256], 12129: [[29926], 256], 12130: [[29976], 256], 12131: [[29983], 256], 12132: [[29992], 256], 12133: [[30000], 256], 12134: [[30091], 256], 12135: [[30098], 256], 12136: [[30326], 256], 12137: [[30333], 256], 12138: [[30382], 256], 12139: [[30399], 256], 12140: [[30446], 256], 12141: [[30683], 256], 12142: [[30690], 256], 12143: [[30707], 256], 12144: [[31034], 256], 12145: [[31160], 256], 12146: [[31166], 256], 12147: [[31348], 256], 12148: [[31435], 256], 12149: [[31481], 256], 12150: [[31859], 256], 12151: [[31992], 256], 12152: [[32566], 256], 12153: [[32593], 256], 12154: [[32650], 256], 12155: [[32701], 256], 12156: [[32769], 256], 12157: [[32780], 256], 12158: [[32786], 256], 12159: [[32819], 256], 12160: [[32895], 256], 12161: [[32905], 256], 12162: [[33251], 256], 12163: [[33258], 256], 12164: [[33267], 256], 12165: [[33276], 256], 12166: [[33292], 256], 12167: [[33307], 256], 12168: [[33311], 256], 12169: [[33390], 256], 12170: [[33394], 256], 12171: [[33400], 256], 12172: [[34381], 256], 12173: [[34411], 256], 12174: [[34880], 256], 12175: [[34892], 256], 12176: [[34915], 256], 12177: [[35198], 256], 12178: [[35211], 256], 12179: [[35282], 256], 12180: [[35328], 256], 12181: [[35895], 256], 12182: [[35910], 256], 12183: [[35925], 256], 12184: [[35960], 256], 12185: [[35997], 256], 12186: [[36196], 256], 12187: [[36208], 256], 12188: [[36275], 256], 12189: [[36523], 256], 12190: [[36554], 256], 12191: [[36763], 256], 12192: [[36784], 256], 12193: [[36789], 256], 12194: [[37009], 256], 12195: [[37193], 256], 12196: [[37318], 256], 12197: [[37324], 256], 12198: [[37329], 256], 12199: [[38263], 256], 12200: [[38272], 256], 12201: [[38428], 256], 12202: [[38582], 256], 12203: [[38585], 256], 12204: [[38632], 256], 12205: [[38737], 256], 12206: [[38750], 256], 12207: [[38754], 256], 12208: [[38761], 256], 12209: [[38859], 256], 12210: [[38893], 256], 12211: [[38899], 256], 12212: [[38913], 256], 12213: [[39080], 256], 12214: [[39131], 256], 12215: [[39135], 256], 12216: [[39318], 256], 12217: [[39321], 256], 12218: [[39340], 256], 12219: [[39592], 256], 12220: [[39640], 256], 12221: [[39647], 256], 12222: [[39717], 256], 12223: [[39727], 256], 12224: [[39730], 256], 12225: [[39740], 256], 12226: [[39770], 256], 12227: [[40165], 256], 12228: [[40565], 256], 12229: [[40575], 256], 12230: [[40613], 256], 12231: [[40635], 256], 12232: [[40643], 256], 12233: [[40653], 256], 12234: [[40657], 256], 12235: [[40697], 256], 12236: [[40701], 256], 12237: [[40718], 256], 12238: [[40723], 256], 12239: [[40736], 256], 12240: [[40763], 256], 12241: [[40778], 256], 12242: [[40786], 256], 12243: [[40845], 256], 12244: [[40860], 256], 12245: [[40864], 256] }, + 12288: { 12288: [[32], 256], 12330: [, 218], 12331: [, 228], 12332: [, 232], 12333: [, 222], 12334: [, 224], 12335: [, 224], 12342: [[12306], 256], 12344: [[21313], 256], 12345: [[21316], 256], 12346: [[21317], 256], 12358: [,, { 12441: 12436 }], 12363: [,, { 12441: 12364 }], 12364: [[12363, 12441]], 12365: [,, { 12441: 12366 }], 12366: [[12365, 12441]], 12367: [,, { 12441: 12368 }], 12368: [[12367, 12441]], 12369: [,, { 12441: 12370 }], 12370: [[12369, 12441]], 12371: [,, { 12441: 12372 }], 12372: [[12371, 12441]], 12373: [,, { 12441: 12374 }], 12374: [[12373, 12441]], 12375: [,, { 12441: 12376 }], 12376: [[12375, 12441]], 12377: [,, { 12441: 12378 }], 12378: [[12377, 12441]], 12379: [,, { 12441: 12380 }], 12380: [[12379, 12441]], 12381: [,, { 12441: 12382 }], 12382: [[12381, 12441]], 12383: [,, { 12441: 12384 }], 12384: [[12383, 12441]], 12385: [,, { 12441: 12386 }], 12386: [[12385, 12441]], 12388: [,, { 12441: 12389 }], 12389: [[12388, 12441]], 12390: [,, { 12441: 12391 }], 12391: [[12390, 12441]], 12392: [,, { 12441: 12393 }], 12393: [[12392, 12441]], 12399: [,, { 12441: 12400, 12442: 12401 }], 12400: [[12399, 12441]], 12401: [[12399, 12442]], 12402: [,, { 12441: 12403, 12442: 12404 }], 12403: [[12402, 12441]], 12404: [[12402, 12442]], 12405: [,, { 12441: 12406, 12442: 12407 }], 12406: [[12405, 12441]], 12407: [[12405, 12442]], 12408: [,, { 12441: 12409, 12442: 12410 }], 12409: [[12408, 12441]], 12410: [[12408, 12442]], 12411: [,, { 12441: 12412, 12442: 12413 }], 12412: [[12411, 12441]], 12413: [[12411, 12442]], 12436: [[12358, 12441]], 12441: [, 8], 12442: [, 8], 12443: [[32, 12441], 256], 12444: [[32, 12442], 256], 12445: [,, { 12441: 12446 }], 12446: [[12445, 12441]], 12447: [[12424, 12426], 256], 12454: [,, { 12441: 12532 }], 12459: [,, { 12441: 12460 }], 12460: [[12459, 12441]], 12461: [,, { 12441: 12462 }], 12462: [[12461, 12441]], 12463: [,, { 12441: 12464 }], 12464: [[12463, 12441]], 12465: [,, { 12441: 12466 }], 12466: [[12465, 12441]], 12467: [,, { 12441: 12468 }], 12468: [[12467, 12441]], 12469: [,, { 12441: 12470 }], 12470: [[12469, 12441]], 12471: [,, { 12441: 12472 }], 12472: [[12471, 12441]], 12473: [,, { 12441: 12474 }], 12474: [[12473, 12441]], 12475: [,, { 12441: 12476 }], 12476: [[12475, 12441]], 12477: [,, { 12441: 12478 }], 12478: [[12477, 12441]], 12479: [,, { 12441: 12480 }], 12480: [[12479, 12441]], 12481: [,, { 12441: 12482 }], 12482: [[12481, 12441]], 12484: [,, { 12441: 12485 }], 12485: [[12484, 12441]], 12486: [,, { 12441: 12487 }], 12487: [[12486, 12441]], 12488: [,, { 12441: 12489 }], 12489: [[12488, 12441]], 12495: [,, { 12441: 12496, 12442: 12497 }], 12496: [[12495, 12441]], 12497: [[12495, 12442]], 12498: [,, { 12441: 12499, 12442: 12500 }], 12499: [[12498, 12441]], 12500: [[12498, 12442]], 12501: [,, { 12441: 12502, 12442: 12503 }], 12502: [[12501, 12441]], 12503: [[12501, 12442]], 12504: [,, { 12441: 12505, 12442: 12506 }], 12505: [[12504, 12441]], 12506: [[12504, 12442]], 12507: [,, { 12441: 12508, 12442: 12509 }], 12508: [[12507, 12441]], 12509: [[12507, 12442]], 12527: [,, { 12441: 12535 }], 12528: [,, { 12441: 12536 }], 12529: [,, { 12441: 12537 }], 12530: [,, { 12441: 12538 }], 12532: [[12454, 12441]], 12535: [[12527, 12441]], 12536: [[12528, 12441]], 12537: [[12529, 12441]], 12538: [[12530, 12441]], 12541: [,, { 12441: 12542 }], 12542: [[12541, 12441]], 12543: [[12467, 12488], 256] }, + 12544: { 12593: [[4352], 256], 12594: [[4353], 256], 12595: [[4522], 256], 12596: [[4354], 256], 12597: [[4524], 256], 12598: [[4525], 256], 12599: [[4355], 256], 12600: [[4356], 256], 12601: [[4357], 256], 12602: [[4528], 256], 12603: [[4529], 256], 12604: [[4530], 256], 12605: [[4531], 256], 12606: [[4532], 256], 12607: [[4533], 256], 12608: [[4378], 256], 12609: [[4358], 256], 12610: [[4359], 256], 12611: [[4360], 256], 12612: [[4385], 256], 12613: [[4361], 256], 12614: [[4362], 256], 12615: [[4363], 256], 12616: [[4364], 256], 12617: [[4365], 256], 12618: [[4366], 256], 12619: [[4367], 256], 12620: [[4368], 256], 12621: [[4369], 256], 12622: [[4370], 256], 12623: [[4449], 256], 12624: [[4450], 256], 12625: [[4451], 256], 12626: [[4452], 256], 12627: [[4453], 256], 12628: [[4454], 256], 12629: [[4455], 256], 12630: [[4456], 256], 12631: [[4457], 256], 12632: [[4458], 256], 12633: [[4459], 256], 12634: [[4460], 256], 12635: [[4461], 256], 12636: [[4462], 256], 12637: [[4463], 256], 12638: [[4464], 256], 12639: [[4465], 256], 12640: [[4466], 256], 12641: [[4467], 256], 12642: [[4468], 256], 12643: [[4469], 256], 12644: [[4448], 256], 12645: [[4372], 256], 12646: [[4373], 256], 12647: [[4551], 256], 12648: [[4552], 256], 12649: [[4556], 256], 12650: [[4558], 256], 12651: [[4563], 256], 12652: [[4567], 256], 12653: [[4569], 256], 12654: [[4380], 256], 12655: [[4573], 256], 12656: [[4575], 256], 12657: [[4381], 256], 12658: [[4382], 256], 12659: [[4384], 256], 12660: [[4386], 256], 12661: [[4387], 256], 12662: [[4391], 256], 12663: [[4393], 256], 12664: [[4395], 256], 12665: [[4396], 256], 12666: [[4397], 256], 12667: [[4398], 256], 12668: [[4399], 256], 12669: [[4402], 256], 12670: [[4406], 256], 12671: [[4416], 256], 12672: [[4423], 256], 12673: [[4428], 256], 12674: [[4593], 256], 12675: [[4594], 256], 12676: [[4439], 256], 12677: [[4440], 256], 12678: [[4441], 256], 12679: [[4484], 256], 12680: [[4485], 256], 12681: [[4488], 256], 12682: [[4497], 256], 12683: [[4498], 256], 12684: [[4500], 256], 12685: [[4510], 256], 12686: [[4513], 256], 12690: [[19968], 256], 12691: [[20108], 256], 12692: [[19977], 256], 12693: [[22235], 256], 12694: [[19978], 256], 12695: [[20013], 256], 12696: [[19979], 256], 12697: [[30002], 256], 12698: [[20057], 256], 12699: [[19993], 256], 12700: [[19969], 256], 12701: [[22825], 256], 12702: [[22320], 256], 12703: [[20154], 256] }, + 12800: { 12800: [[40, 4352, 41], 256], 12801: [[40, 4354, 41], 256], 12802: [[40, 4355, 41], 256], 12803: [[40, 4357, 41], 256], 12804: [[40, 4358, 41], 256], 12805: [[40, 4359, 41], 256], 12806: [[40, 4361, 41], 256], 12807: [[40, 4363, 41], 256], 12808: [[40, 4364, 41], 256], 12809: [[40, 4366, 41], 256], 12810: [[40, 4367, 41], 256], 12811: [[40, 4368, 41], 256], 12812: [[40, 4369, 41], 256], 12813: [[40, 4370, 41], 256], 12814: [[40, 4352, 4449, 41], 256], 12815: [[40, 4354, 4449, 41], 256], 12816: [[40, 4355, 4449, 41], 256], 12817: [[40, 4357, 4449, 41], 256], 12818: [[40, 4358, 4449, 41], 256], 12819: [[40, 4359, 4449, 41], 256], 12820: [[40, 4361, 4449, 41], 256], 12821: [[40, 4363, 4449, 41], 256], 12822: [[40, 4364, 4449, 41], 256], 12823: [[40, 4366, 4449, 41], 256], 12824: [[40, 4367, 4449, 41], 256], 12825: [[40, 4368, 4449, 41], 256], 12826: [[40, 4369, 4449, 41], 256], 12827: [[40, 4370, 4449, 41], 256], 12828: [[40, 4364, 4462, 41], 256], 12829: [[40, 4363, 4457, 4364, 4453, 4523, 41], 256], 12830: [[40, 4363, 4457, 4370, 4462, 41], 256], 12832: [[40, 19968, 41], 256], 12833: [[40, 20108, 41], 256], 12834: [[40, 19977, 41], 256], 12835: [[40, 22235, 41], 256], 12836: [[40, 20116, 41], 256], 12837: [[40, 20845, 41], 256], 12838: [[40, 19971, 41], 256], 12839: [[40, 20843, 41], 256], 12840: [[40, 20061, 41], 256], 12841: [[40, 21313, 41], 256], 12842: [[40, 26376, 41], 256], 12843: [[40, 28779, 41], 256], 12844: [[40, 27700, 41], 256], 12845: [[40, 26408, 41], 256], 12846: [[40, 37329, 41], 256], 12847: [[40, 22303, 41], 256], 12848: [[40, 26085, 41], 256], 12849: [[40, 26666, 41], 256], 12850: [[40, 26377, 41], 256], 12851: [[40, 31038, 41], 256], 12852: [[40, 21517, 41], 256], 12853: [[40, 29305, 41], 256], 12854: [[40, 36001, 41], 256], 12855: [[40, 31069, 41], 256], 12856: [[40, 21172, 41], 256], 12857: [[40, 20195, 41], 256], 12858: [[40, 21628, 41], 256], 12859: [[40, 23398, 41], 256], 12860: [[40, 30435, 41], 256], 12861: [[40, 20225, 41], 256], 12862: [[40, 36039, 41], 256], 12863: [[40, 21332, 41], 256], 12864: [[40, 31085, 41], 256], 12865: [[40, 20241, 41], 256], 12866: [[40, 33258, 41], 256], 12867: [[40, 33267, 41], 256], 12868: [[21839], 256], 12869: [[24188], 256], 12870: [[25991], 256], 12871: [[31631], 256], 12880: [[80, 84, 69], 256], 12881: [[50, 49], 256], 12882: [[50, 50], 256], 12883: [[50, 51], 256], 12884: [[50, 52], 256], 12885: [[50, 53], 256], 12886: [[50, 54], 256], 12887: [[50, 55], 256], 12888: [[50, 56], 256], 12889: [[50, 57], 256], 12890: [[51, 48], 256], 12891: [[51, 49], 256], 12892: [[51, 50], 256], 12893: [[51, 51], 256], 12894: [[51, 52], 256], 12895: [[51, 53], 256], 12896: [[4352], 256], 12897: [[4354], 256], 12898: [[4355], 256], 12899: [[4357], 256], 12900: [[4358], 256], 12901: [[4359], 256], 12902: [[4361], 256], 12903: [[4363], 256], 12904: [[4364], 256], 12905: [[4366], 256], 12906: [[4367], 256], 12907: [[4368], 256], 12908: [[4369], 256], 12909: [[4370], 256], 12910: [[4352, 4449], 256], 12911: [[4354, 4449], 256], 12912: [[4355, 4449], 256], 12913: [[4357, 4449], 256], 12914: [[4358, 4449], 256], 12915: [[4359, 4449], 256], 12916: [[4361, 4449], 256], 12917: [[4363, 4449], 256], 12918: [[4364, 4449], 256], 12919: [[4366, 4449], 256], 12920: [[4367, 4449], 256], 12921: [[4368, 4449], 256], 12922: [[4369, 4449], 256], 12923: [[4370, 4449], 256], 12924: [[4366, 4449, 4535, 4352, 4457], 256], 12925: [[4364, 4462, 4363, 4468], 256], 12926: [[4363, 4462], 256], 12928: [[19968], 256], 12929: [[20108], 256], 12930: [[19977], 256], 12931: [[22235], 256], 12932: [[20116], 256], 12933: [[20845], 256], 12934: [[19971], 256], 12935: [[20843], 256], 12936: [[20061], 256], 12937: [[21313], 256], 12938: [[26376], 256], 12939: [[28779], 256], 12940: [[27700], 256], 12941: [[26408], 256], 12942: [[37329], 256], 12943: [[22303], 256], 12944: [[26085], 256], 12945: [[26666], 256], 12946: [[26377], 256], 12947: [[31038], 256], 12948: [[21517], 256], 12949: [[29305], 256], 12950: [[36001], 256], 12951: [[31069], 256], 12952: [[21172], 256], 12953: [[31192], 256], 12954: [[30007], 256], 12955: [[22899], 256], 12956: [[36969], 256], 12957: [[20778], 256], 12958: [[21360], 256], 12959: [[27880], 256], 12960: [[38917], 256], 12961: [[20241], 256], 12962: [[20889], 256], 12963: [[27491], 256], 12964: [[19978], 256], 12965: [[20013], 256], 12966: [[19979], 256], 12967: [[24038], 256], 12968: [[21491], 256], 12969: [[21307], 256], 12970: [[23447], 256], 12971: [[23398], 256], 12972: [[30435], 256], 12973: [[20225], 256], 12974: [[36039], 256], 12975: [[21332], 256], 12976: [[22812], 256], 12977: [[51, 54], 256], 12978: [[51, 55], 256], 12979: [[51, 56], 256], 12980: [[51, 57], 256], 12981: [[52, 48], 256], 12982: [[52, 49], 256], 12983: [[52, 50], 256], 12984: [[52, 51], 256], 12985: [[52, 52], 256], 12986: [[52, 53], 256], 12987: [[52, 54], 256], 12988: [[52, 55], 256], 12989: [[52, 56], 256], 12990: [[52, 57], 256], 12991: [[53, 48], 256], 12992: [[49, 26376], 256], 12993: [[50, 26376], 256], 12994: [[51, 26376], 256], 12995: [[52, 26376], 256], 12996: [[53, 26376], 256], 12997: [[54, 26376], 256], 12998: [[55, 26376], 256], 12999: [[56, 26376], 256], 13000: [[57, 26376], 256], 13001: [[49, 48, 26376], 256], 13002: [[49, 49, 26376], 256], 13003: [[49, 50, 26376], 256], 13004: [[72, 103], 256], 13005: [[101, 114, 103], 256], 13006: [[101, 86], 256], 13007: [[76, 84, 68], 256], 13008: [[12450], 256], 13009: [[12452], 256], 13010: [[12454], 256], 13011: [[12456], 256], 13012: [[12458], 256], 13013: [[12459], 256], 13014: [[12461], 256], 13015: [[12463], 256], 13016: [[12465], 256], 13017: [[12467], 256], 13018: [[12469], 256], 13019: [[12471], 256], 13020: [[12473], 256], 13021: [[12475], 256], 13022: [[12477], 256], 13023: [[12479], 256], 13024: [[12481], 256], 13025: [[12484], 256], 13026: [[12486], 256], 13027: [[12488], 256], 13028: [[12490], 256], 13029: [[12491], 256], 13030: [[12492], 256], 13031: [[12493], 256], 13032: [[12494], 256], 13033: [[12495], 256], 13034: [[12498], 256], 13035: [[12501], 256], 13036: [[12504], 256], 13037: [[12507], 256], 13038: [[12510], 256], 13039: [[12511], 256], 13040: [[12512], 256], 13041: [[12513], 256], 13042: [[12514], 256], 13043: [[12516], 256], 13044: [[12518], 256], 13045: [[12520], 256], 13046: [[12521], 256], 13047: [[12522], 256], 13048: [[12523], 256], 13049: [[12524], 256], 13050: [[12525], 256], 13051: [[12527], 256], 13052: [[12528], 256], 13053: [[12529], 256], 13054: [[12530], 256] }, + 13056: { 13056: [[12450, 12497, 12540, 12488], 256], 13057: [[12450, 12523, 12501, 12449], 256], 13058: [[12450, 12531, 12506, 12450], 256], 13059: [[12450, 12540, 12523], 256], 13060: [[12452, 12491, 12531, 12464], 256], 13061: [[12452, 12531, 12481], 256], 13062: [[12454, 12457, 12531], 256], 13063: [[12456, 12473, 12463, 12540, 12489], 256], 13064: [[12456, 12540, 12459, 12540], 256], 13065: [[12458, 12531, 12473], 256], 13066: [[12458, 12540, 12512], 256], 13067: [[12459, 12452, 12522], 256], 13068: [[12459, 12521, 12483, 12488], 256], 13069: [[12459, 12525, 12522, 12540], 256], 13070: [[12460, 12525, 12531], 256], 13071: [[12460, 12531, 12510], 256], 13072: [[12462, 12460], 256], 13073: [[12462, 12491, 12540], 256], 13074: [[12461, 12517, 12522, 12540], 256], 13075: [[12462, 12523, 12480, 12540], 256], 13076: [[12461, 12525], 256], 13077: [[12461, 12525, 12464, 12521, 12512], 256], 13078: [[12461, 12525, 12513, 12540, 12488, 12523], 256], 13079: [[12461, 12525, 12527, 12483, 12488], 256], 13080: [[12464, 12521, 12512], 256], 13081: [[12464, 12521, 12512, 12488, 12531], 256], 13082: [[12463, 12523, 12476, 12452, 12525], 256], 13083: [[12463, 12525, 12540, 12493], 256], 13084: [[12465, 12540, 12473], 256], 13085: [[12467, 12523, 12490], 256], 13086: [[12467, 12540, 12509], 256], 13087: [[12469, 12452, 12463, 12523], 256], 13088: [[12469, 12531, 12481, 12540, 12512], 256], 13089: [[12471, 12522, 12531, 12464], 256], 13090: [[12475, 12531, 12481], 256], 13091: [[12475, 12531, 12488], 256], 13092: [[12480, 12540, 12473], 256], 13093: [[12487, 12471], 256], 13094: [[12489, 12523], 256], 13095: [[12488, 12531], 256], 13096: [[12490, 12494], 256], 13097: [[12494, 12483, 12488], 256], 13098: [[12495, 12452, 12484], 256], 13099: [[12497, 12540, 12475, 12531, 12488], 256], 13100: [[12497, 12540, 12484], 256], 13101: [[12496, 12540, 12524, 12523], 256], 13102: [[12500, 12450, 12473, 12488, 12523], 256], 13103: [[12500, 12463, 12523], 256], 13104: [[12500, 12467], 256], 13105: [[12499, 12523], 256], 13106: [[12501, 12449, 12521, 12483, 12489], 256], 13107: [[12501, 12451, 12540, 12488], 256], 13108: [[12502, 12483, 12471, 12455, 12523], 256], 13109: [[12501, 12521, 12531], 256], 13110: [[12504, 12463, 12479, 12540, 12523], 256], 13111: [[12506, 12477], 256], 13112: [[12506, 12491, 12498], 256], 13113: [[12504, 12523, 12484], 256], 13114: [[12506, 12531, 12473], 256], 13115: [[12506, 12540, 12472], 256], 13116: [[12505, 12540, 12479], 256], 13117: [[12509, 12452, 12531, 12488], 256], 13118: [[12508, 12523, 12488], 256], 13119: [[12507, 12531], 256], 13120: [[12509, 12531, 12489], 256], 13121: [[12507, 12540, 12523], 256], 13122: [[12507, 12540, 12531], 256], 13123: [[12510, 12452, 12463, 12525], 256], 13124: [[12510, 12452, 12523], 256], 13125: [[12510, 12483, 12495], 256], 13126: [[12510, 12523, 12463], 256], 13127: [[12510, 12531, 12471, 12519, 12531], 256], 13128: [[12511, 12463, 12525, 12531], 256], 13129: [[12511, 12522], 256], 13130: [[12511, 12522, 12496, 12540, 12523], 256], 13131: [[12513, 12460], 256], 13132: [[12513, 12460, 12488, 12531], 256], 13133: [[12513, 12540, 12488, 12523], 256], 13134: [[12516, 12540, 12489], 256], 13135: [[12516, 12540, 12523], 256], 13136: [[12518, 12450, 12531], 256], 13137: [[12522, 12483, 12488, 12523], 256], 13138: [[12522, 12521], 256], 13139: [[12523, 12500, 12540], 256], 13140: [[12523, 12540, 12502, 12523], 256], 13141: [[12524, 12512], 256], 13142: [[12524, 12531, 12488, 12466, 12531], 256], 13143: [[12527, 12483, 12488], 256], 13144: [[48, 28857], 256], 13145: [[49, 28857], 256], 13146: [[50, 28857], 256], 13147: [[51, 28857], 256], 13148: [[52, 28857], 256], 13149: [[53, 28857], 256], 13150: [[54, 28857], 256], 13151: [[55, 28857], 256], 13152: [[56, 28857], 256], 13153: [[57, 28857], 256], 13154: [[49, 48, 28857], 256], 13155: [[49, 49, 28857], 256], 13156: [[49, 50, 28857], 256], 13157: [[49, 51, 28857], 256], 13158: [[49, 52, 28857], 256], 13159: [[49, 53, 28857], 256], 13160: [[49, 54, 28857], 256], 13161: [[49, 55, 28857], 256], 13162: [[49, 56, 28857], 256], 13163: [[49, 57, 28857], 256], 13164: [[50, 48, 28857], 256], 13165: [[50, 49, 28857], 256], 13166: [[50, 50, 28857], 256], 13167: [[50, 51, 28857], 256], 13168: [[50, 52, 28857], 256], 13169: [[104, 80, 97], 256], 13170: [[100, 97], 256], 13171: [[65, 85], 256], 13172: [[98, 97, 114], 256], 13173: [[111, 86], 256], 13174: [[112, 99], 256], 13175: [[100, 109], 256], 13176: [[100, 109, 178], 256], 13177: [[100, 109, 179], 256], 13178: [[73, 85], 256], 13179: [[24179, 25104], 256], 13180: [[26157, 21644], 256], 13181: [[22823, 27491], 256], 13182: [[26126, 27835], 256], 13183: [[26666, 24335, 20250, 31038], 256], 13184: [[112, 65], 256], 13185: [[110, 65], 256], 13186: [[956, 65], 256], 13187: [[109, 65], 256], 13188: [[107, 65], 256], 13189: [[75, 66], 256], 13190: [[77, 66], 256], 13191: [[71, 66], 256], 13192: [[99, 97, 108], 256], 13193: [[107, 99, 97, 108], 256], 13194: [[112, 70], 256], 13195: [[110, 70], 256], 13196: [[956, 70], 256], 13197: [[956, 103], 256], 13198: [[109, 103], 256], 13199: [[107, 103], 256], 13200: [[72, 122], 256], 13201: [[107, 72, 122], 256], 13202: [[77, 72, 122], 256], 13203: [[71, 72, 122], 256], 13204: [[84, 72, 122], 256], 13205: [[956, 8467], 256], 13206: [[109, 8467], 256], 13207: [[100, 8467], 256], 13208: [[107, 8467], 256], 13209: [[102, 109], 256], 13210: [[110, 109], 256], 13211: [[956, 109], 256], 13212: [[109, 109], 256], 13213: [[99, 109], 256], 13214: [[107, 109], 256], 13215: [[109, 109, 178], 256], 13216: [[99, 109, 178], 256], 13217: [[109, 178], 256], 13218: [[107, 109, 178], 256], 13219: [[109, 109, 179], 256], 13220: [[99, 109, 179], 256], 13221: [[109, 179], 256], 13222: [[107, 109, 179], 256], 13223: [[109, 8725, 115], 256], 13224: [[109, 8725, 115, 178], 256], 13225: [[80, 97], 256], 13226: [[107, 80, 97], 256], 13227: [[77, 80, 97], 256], 13228: [[71, 80, 97], 256], 13229: [[114, 97, 100], 256], 13230: [[114, 97, 100, 8725, 115], 256], 13231: [[114, 97, 100, 8725, 115, 178], 256], 13232: [[112, 115], 256], 13233: [[110, 115], 256], 13234: [[956, 115], 256], 13235: [[109, 115], 256], 13236: [[112, 86], 256], 13237: [[110, 86], 256], 13238: [[956, 86], 256], 13239: [[109, 86], 256], 13240: [[107, 86], 256], 13241: [[77, 86], 256], 13242: [[112, 87], 256], 13243: [[110, 87], 256], 13244: [[956, 87], 256], 13245: [[109, 87], 256], 13246: [[107, 87], 256], 13247: [[77, 87], 256], 13248: [[107, 937], 256], 13249: [[77, 937], 256], 13250: [[97, 46, 109, 46], 256], 13251: [[66, 113], 256], 13252: [[99, 99], 256], 13253: [[99, 100], 256], 13254: [[67, 8725, 107, 103], 256], 13255: [[67, 111, 46], 256], 13256: [[100, 66], 256], 13257: [[71, 121], 256], 13258: [[104, 97], 256], 13259: [[72, 80], 256], 13260: [[105, 110], 256], 13261: [[75, 75], 256], 13262: [[75, 77], 256], 13263: [[107, 116], 256], 13264: [[108, 109], 256], 13265: [[108, 110], 256], 13266: [[108, 111, 103], 256], 13267: [[108, 120], 256], 13268: [[109, 98], 256], 13269: [[109, 105, 108], 256], 13270: [[109, 111, 108], 256], 13271: [[80, 72], 256], 13272: [[112, 46, 109, 46], 256], 13273: [[80, 80, 77], 256], 13274: [[80, 82], 256], 13275: [[115, 114], 256], 13276: [[83, 118], 256], 13277: [[87, 98], 256], 13278: [[86, 8725, 109], 256], 13279: [[65, 8725, 109], 256], 13280: [[49, 26085], 256], 13281: [[50, 26085], 256], 13282: [[51, 26085], 256], 13283: [[52, 26085], 256], 13284: [[53, 26085], 256], 13285: [[54, 26085], 256], 13286: [[55, 26085], 256], 13287: [[56, 26085], 256], 13288: [[57, 26085], 256], 13289: [[49, 48, 26085], 256], 13290: [[49, 49, 26085], 256], 13291: [[49, 50, 26085], 256], 13292: [[49, 51, 26085], 256], 13293: [[49, 52, 26085], 256], 13294: [[49, 53, 26085], 256], 13295: [[49, 54, 26085], 256], 13296: [[49, 55, 26085], 256], 13297: [[49, 56, 26085], 256], 13298: [[49, 57, 26085], 256], 13299: [[50, 48, 26085], 256], 13300: [[50, 49, 26085], 256], 13301: [[50, 50, 26085], 256], 13302: [[50, 51, 26085], 256], 13303: [[50, 52, 26085], 256], 13304: [[50, 53, 26085], 256], 13305: [[50, 54, 26085], 256], 13306: [[50, 55, 26085], 256], 13307: [[50, 56, 26085], 256], 13308: [[50, 57, 26085], 256], 13309: [[51, 48, 26085], 256], 13310: [[51, 49, 26085], 256], 13311: [[103, 97, 108], 256] }, + 27136: { 92912: [, 1], 92913: [, 1], 92914: [, 1], 92915: [, 1], 92916: [, 1] }, + 27392: { 92976: [, 230], 92977: [, 230], 92978: [, 230], 92979: [, 230], 92980: [, 230], 92981: [, 230], 92982: [, 230] }, + 42496: { 42607: [, 230], 42612: [, 230], 42613: [, 230], 42614: [, 230], 42615: [, 230], 42616: [, 230], 42617: [, 230], 42618: [, 230], 42619: [, 230], 42620: [, 230], 42621: [, 230], 42652: [[1098], 256], 42653: [[1100], 256], 42655: [, 230], 42736: [, 230], 42737: [, 230] }, + 42752: { 42864: [[42863], 256], 43000: [[294], 256], 43001: [[339], 256] }, + 43008: { 43014: [, 9], 43204: [, 9], 43232: [, 230], 43233: [, 230], 43234: [, 230], 43235: [, 230], 43236: [, 230], 43237: [, 230], 43238: [, 230], 43239: [, 230], 43240: [, 230], 43241: [, 230], 43242: [, 230], 43243: [, 230], 43244: [, 230], 43245: [, 230], 43246: [, 230], 43247: [, 230], 43248: [, 230], 43249: [, 230] }, + 43264: { 43307: [, 220], 43308: [, 220], 43309: [, 220], 43347: [, 9], 43443: [, 7], 43456: [, 9] }, + 43520: { 43696: [, 230], 43698: [, 230], 43699: [, 230], 43700: [, 220], 43703: [, 230], 43704: [, 230], 43710: [, 230], 43711: [, 230], 43713: [, 230], 43766: [, 9] }, + 43776: { 43868: [[42791], 256], 43869: [[43831], 256], 43870: [[619], 256], 43871: [[43858], 256], 44013: [, 9] }, + 48128: { 113822: [, 1] }, + 53504: { 119134: [[119127, 119141], 512], 119135: [[119128, 119141], 512], 119136: [[119135, 119150], 512], 119137: [[119135, 119151], 512], 119138: [[119135, 119152], 512], 119139: [[119135, 119153], 512], 119140: [[119135, 119154], 512], 119141: [, 216], 119142: [, 216], 119143: [, 1], 119144: [, 1], 119145: [, 1], 119149: [, 226], 119150: [, 216], 119151: [, 216], 119152: [, 216], 119153: [, 216], 119154: [, 216], 119163: [, 220], 119164: [, 220], 119165: [, 220], 119166: [, 220], 119167: [, 220], 119168: [, 220], 119169: [, 220], 119170: [, 220], 119173: [, 230], 119174: [, 230], 119175: [, 230], 119176: [, 230], 119177: [, 230], 119178: [, 220], 119179: [, 220], 119210: [, 230], 119211: [, 230], 119212: [, 230], 119213: [, 230], 119227: [[119225, 119141], 512], 119228: [[119226, 119141], 512], 119229: [[119227, 119150], 512], 119230: [[119228, 119150], 512], 119231: [[119227, 119151], 512], 119232: [[119228, 119151], 512] }, + 53760: { 119362: [, 230], 119363: [, 230], 119364: [, 230] }, + 54272: { 119808: [[65], 256], 119809: [[66], 256], 119810: [[67], 256], 119811: [[68], 256], 119812: [[69], 256], 119813: [[70], 256], 119814: [[71], 256], 119815: [[72], 256], 119816: [[73], 256], 119817: [[74], 256], 119818: [[75], 256], 119819: [[76], 256], 119820: [[77], 256], 119821: [[78], 256], 119822: [[79], 256], 119823: [[80], 256], 119824: [[81], 256], 119825: [[82], 256], 119826: [[83], 256], 119827: [[84], 256], 119828: [[85], 256], 119829: [[86], 256], 119830: [[87], 256], 119831: [[88], 256], 119832: [[89], 256], 119833: [[90], 256], 119834: [[97], 256], 119835: [[98], 256], 119836: [[99], 256], 119837: [[100], 256], 119838: [[101], 256], 119839: [[102], 256], 119840: [[103], 256], 119841: [[104], 256], 119842: [[105], 256], 119843: [[106], 256], 119844: [[107], 256], 119845: [[108], 256], 119846: [[109], 256], 119847: [[110], 256], 119848: [[111], 256], 119849: [[112], 256], 119850: [[113], 256], 119851: [[114], 256], 119852: [[115], 256], 119853: [[116], 256], 119854: [[117], 256], 119855: [[118], 256], 119856: [[119], 256], 119857: [[120], 256], 119858: [[121], 256], 119859: [[122], 256], 119860: [[65], 256], 119861: [[66], 256], 119862: [[67], 256], 119863: [[68], 256], 119864: [[69], 256], 119865: [[70], 256], 119866: [[71], 256], 119867: [[72], 256], 119868: [[73], 256], 119869: [[74], 256], 119870: [[75], 256], 119871: [[76], 256], 119872: [[77], 256], 119873: [[78], 256], 119874: [[79], 256], 119875: [[80], 256], 119876: [[81], 256], 119877: [[82], 256], 119878: [[83], 256], 119879: [[84], 256], 119880: [[85], 256], 119881: [[86], 256], 119882: [[87], 256], 119883: [[88], 256], 119884: [[89], 256], 119885: [[90], 256], 119886: [[97], 256], 119887: [[98], 256], 119888: [[99], 256], 119889: [[100], 256], 119890: [[101], 256], 119891: [[102], 256], 119892: [[103], 256], 119894: [[105], 256], 119895: [[106], 256], 119896: [[107], 256], 119897: [[108], 256], 119898: [[109], 256], 119899: [[110], 256], 119900: [[111], 256], 119901: [[112], 256], 119902: [[113], 256], 119903: [[114], 256], 119904: [[115], 256], 119905: [[116], 256], 119906: [[117], 256], 119907: [[118], 256], 119908: [[119], 256], 119909: [[120], 256], 119910: [[121], 256], 119911: [[122], 256], 119912: [[65], 256], 119913: [[66], 256], 119914: [[67], 256], 119915: [[68], 256], 119916: [[69], 256], 119917: [[70], 256], 119918: [[71], 256], 119919: [[72], 256], 119920: [[73], 256], 119921: [[74], 256], 119922: [[75], 256], 119923: [[76], 256], 119924: [[77], 256], 119925: [[78], 256], 119926: [[79], 256], 119927: [[80], 256], 119928: [[81], 256], 119929: [[82], 256], 119930: [[83], 256], 119931: [[84], 256], 119932: [[85], 256], 119933: [[86], 256], 119934: [[87], 256], 119935: [[88], 256], 119936: [[89], 256], 119937: [[90], 256], 119938: [[97], 256], 119939: [[98], 256], 119940: [[99], 256], 119941: [[100], 256], 119942: [[101], 256], 119943: [[102], 256], 119944: [[103], 256], 119945: [[104], 256], 119946: [[105], 256], 119947: [[106], 256], 119948: [[107], 256], 119949: [[108], 256], 119950: [[109], 256], 119951: [[110], 256], 119952: [[111], 256], 119953: [[112], 256], 119954: [[113], 256], 119955: [[114], 256], 119956: [[115], 256], 119957: [[116], 256], 119958: [[117], 256], 119959: [[118], 256], 119960: [[119], 256], 119961: [[120], 256], 119962: [[121], 256], 119963: [[122], 256], 119964: [[65], 256], 119966: [[67], 256], 119967: [[68], 256], 119970: [[71], 256], 119973: [[74], 256], 119974: [[75], 256], 119977: [[78], 256], 119978: [[79], 256], 119979: [[80], 256], 119980: [[81], 256], 119982: [[83], 256], 119983: [[84], 256], 119984: [[85], 256], 119985: [[86], 256], 119986: [[87], 256], 119987: [[88], 256], 119988: [[89], 256], 119989: [[90], 256], 119990: [[97], 256], 119991: [[98], 256], 119992: [[99], 256], 119993: [[100], 256], 119995: [[102], 256], 119997: [[104], 256], 119998: [[105], 256], 119999: [[106], 256], 120000: [[107], 256], 120001: [[108], 256], 120002: [[109], 256], 120003: [[110], 256], 120005: [[112], 256], 120006: [[113], 256], 120007: [[114], 256], 120008: [[115], 256], 120009: [[116], 256], 120010: [[117], 256], 120011: [[118], 256], 120012: [[119], 256], 120013: [[120], 256], 120014: [[121], 256], 120015: [[122], 256], 120016: [[65], 256], 120017: [[66], 256], 120018: [[67], 256], 120019: [[68], 256], 120020: [[69], 256], 120021: [[70], 256], 120022: [[71], 256], 120023: [[72], 256], 120024: [[73], 256], 120025: [[74], 256], 120026: [[75], 256], 120027: [[76], 256], 120028: [[77], 256], 120029: [[78], 256], 120030: [[79], 256], 120031: [[80], 256], 120032: [[81], 256], 120033: [[82], 256], 120034: [[83], 256], 120035: [[84], 256], 120036: [[85], 256], 120037: [[86], 256], 120038: [[87], 256], 120039: [[88], 256], 120040: [[89], 256], 120041: [[90], 256], 120042: [[97], 256], 120043: [[98], 256], 120044: [[99], 256], 120045: [[100], 256], 120046: [[101], 256], 120047: [[102], 256], 120048: [[103], 256], 120049: [[104], 256], 120050: [[105], 256], 120051: [[106], 256], 120052: [[107], 256], 120053: [[108], 256], 120054: [[109], 256], 120055: [[110], 256], 120056: [[111], 256], 120057: [[112], 256], 120058: [[113], 256], 120059: [[114], 256], 120060: [[115], 256], 120061: [[116], 256], 120062: [[117], 256], 120063: [[118], 256] }, + 54528: { 120064: [[119], 256], 120065: [[120], 256], 120066: [[121], 256], 120067: [[122], 256], 120068: [[65], 256], 120069: [[66], 256], 120071: [[68], 256], 120072: [[69], 256], 120073: [[70], 256], 120074: [[71], 256], 120077: [[74], 256], 120078: [[75], 256], 120079: [[76], 256], 120080: [[77], 256], 120081: [[78], 256], 120082: [[79], 256], 120083: [[80], 256], 120084: [[81], 256], 120086: [[83], 256], 120087: [[84], 256], 120088: [[85], 256], 120089: [[86], 256], 120090: [[87], 256], 120091: [[88], 256], 120092: [[89], 256], 120094: [[97], 256], 120095: [[98], 256], 120096: [[99], 256], 120097: [[100], 256], 120098: [[101], 256], 120099: [[102], 256], 120100: [[103], 256], 120101: [[104], 256], 120102: [[105], 256], 120103: [[106], 256], 120104: [[107], 256], 120105: [[108], 256], 120106: [[109], 256], 120107: [[110], 256], 120108: [[111], 256], 120109: [[112], 256], 120110: [[113], 256], 120111: [[114], 256], 120112: [[115], 256], 120113: [[116], 256], 120114: [[117], 256], 120115: [[118], 256], 120116: [[119], 256], 120117: [[120], 256], 120118: [[121], 256], 120119: [[122], 256], 120120: [[65], 256], 120121: [[66], 256], 120123: [[68], 256], 120124: [[69], 256], 120125: [[70], 256], 120126: [[71], 256], 120128: [[73], 256], 120129: [[74], 256], 120130: [[75], 256], 120131: [[76], 256], 120132: [[77], 256], 120134: [[79], 256], 120138: [[83], 256], 120139: [[84], 256], 120140: [[85], 256], 120141: [[86], 256], 120142: [[87], 256], 120143: [[88], 256], 120144: [[89], 256], 120146: [[97], 256], 120147: [[98], 256], 120148: [[99], 256], 120149: [[100], 256], 120150: [[101], 256], 120151: [[102], 256], 120152: [[103], 256], 120153: [[104], 256], 120154: [[105], 256], 120155: [[106], 256], 120156: [[107], 256], 120157: [[108], 256], 120158: [[109], 256], 120159: [[110], 256], 120160: [[111], 256], 120161: [[112], 256], 120162: [[113], 256], 120163: [[114], 256], 120164: [[115], 256], 120165: [[116], 256], 120166: [[117], 256], 120167: [[118], 256], 120168: [[119], 256], 120169: [[120], 256], 120170: [[121], 256], 120171: [[122], 256], 120172: [[65], 256], 120173: [[66], 256], 120174: [[67], 256], 120175: [[68], 256], 120176: [[69], 256], 120177: [[70], 256], 120178: [[71], 256], 120179: [[72], 256], 120180: [[73], 256], 120181: [[74], 256], 120182: [[75], 256], 120183: [[76], 256], 120184: [[77], 256], 120185: [[78], 256], 120186: [[79], 256], 120187: [[80], 256], 120188: [[81], 256], 120189: [[82], 256], 120190: [[83], 256], 120191: [[84], 256], 120192: [[85], 256], 120193: [[86], 256], 120194: [[87], 256], 120195: [[88], 256], 120196: [[89], 256], 120197: [[90], 256], 120198: [[97], 256], 120199: [[98], 256], 120200: [[99], 256], 120201: [[100], 256], 120202: [[101], 256], 120203: [[102], 256], 120204: [[103], 256], 120205: [[104], 256], 120206: [[105], 256], 120207: [[106], 256], 120208: [[107], 256], 120209: [[108], 256], 120210: [[109], 256], 120211: [[110], 256], 120212: [[111], 256], 120213: [[112], 256], 120214: [[113], 256], 120215: [[114], 256], 120216: [[115], 256], 120217: [[116], 256], 120218: [[117], 256], 120219: [[118], 256], 120220: [[119], 256], 120221: [[120], 256], 120222: [[121], 256], 120223: [[122], 256], 120224: [[65], 256], 120225: [[66], 256], 120226: [[67], 256], 120227: [[68], 256], 120228: [[69], 256], 120229: [[70], 256], 120230: [[71], 256], 120231: [[72], 256], 120232: [[73], 256], 120233: [[74], 256], 120234: [[75], 256], 120235: [[76], 256], 120236: [[77], 256], 120237: [[78], 256], 120238: [[79], 256], 120239: [[80], 256], 120240: [[81], 256], 120241: [[82], 256], 120242: [[83], 256], 120243: [[84], 256], 120244: [[85], 256], 120245: [[86], 256], 120246: [[87], 256], 120247: [[88], 256], 120248: [[89], 256], 120249: [[90], 256], 120250: [[97], 256], 120251: [[98], 256], 120252: [[99], 256], 120253: [[100], 256], 120254: [[101], 256], 120255: [[102], 256], 120256: [[103], 256], 120257: [[104], 256], 120258: [[105], 256], 120259: [[106], 256], 120260: [[107], 256], 120261: [[108], 256], 120262: [[109], 256], 120263: [[110], 256], 120264: [[111], 256], 120265: [[112], 256], 120266: [[113], 256], 120267: [[114], 256], 120268: [[115], 256], 120269: [[116], 256], 120270: [[117], 256], 120271: [[118], 256], 120272: [[119], 256], 120273: [[120], 256], 120274: [[121], 256], 120275: [[122], 256], 120276: [[65], 256], 120277: [[66], 256], 120278: [[67], 256], 120279: [[68], 256], 120280: [[69], 256], 120281: [[70], 256], 120282: [[71], 256], 120283: [[72], 256], 120284: [[73], 256], 120285: [[74], 256], 120286: [[75], 256], 120287: [[76], 256], 120288: [[77], 256], 120289: [[78], 256], 120290: [[79], 256], 120291: [[80], 256], 120292: [[81], 256], 120293: [[82], 256], 120294: [[83], 256], 120295: [[84], 256], 120296: [[85], 256], 120297: [[86], 256], 120298: [[87], 256], 120299: [[88], 256], 120300: [[89], 256], 120301: [[90], 256], 120302: [[97], 256], 120303: [[98], 256], 120304: [[99], 256], 120305: [[100], 256], 120306: [[101], 256], 120307: [[102], 256], 120308: [[103], 256], 120309: [[104], 256], 120310: [[105], 256], 120311: [[106], 256], 120312: [[107], 256], 120313: [[108], 256], 120314: [[109], 256], 120315: [[110], 256], 120316: [[111], 256], 120317: [[112], 256], 120318: [[113], 256], 120319: [[114], 256] }, + 54784: { 120320: [[115], 256], 120321: [[116], 256], 120322: [[117], 256], 120323: [[118], 256], 120324: [[119], 256], 120325: [[120], 256], 120326: [[121], 256], 120327: [[122], 256], 120328: [[65], 256], 120329: [[66], 256], 120330: [[67], 256], 120331: [[68], 256], 120332: [[69], 256], 120333: [[70], 256], 120334: [[71], 256], 120335: [[72], 256], 120336: [[73], 256], 120337: [[74], 256], 120338: [[75], 256], 120339: [[76], 256], 120340: [[77], 256], 120341: [[78], 256], 120342: [[79], 256], 120343: [[80], 256], 120344: [[81], 256], 120345: [[82], 256], 120346: [[83], 256], 120347: [[84], 256], 120348: [[85], 256], 120349: [[86], 256], 120350: [[87], 256], 120351: [[88], 256], 120352: [[89], 256], 120353: [[90], 256], 120354: [[97], 256], 120355: [[98], 256], 120356: [[99], 256], 120357: [[100], 256], 120358: [[101], 256], 120359: [[102], 256], 120360: [[103], 256], 120361: [[104], 256], 120362: [[105], 256], 120363: [[106], 256], 120364: [[107], 256], 120365: [[108], 256], 120366: [[109], 256], 120367: [[110], 256], 120368: [[111], 256], 120369: [[112], 256], 120370: [[113], 256], 120371: [[114], 256], 120372: [[115], 256], 120373: [[116], 256], 120374: [[117], 256], 120375: [[118], 256], 120376: [[119], 256], 120377: [[120], 256], 120378: [[121], 256], 120379: [[122], 256], 120380: [[65], 256], 120381: [[66], 256], 120382: [[67], 256], 120383: [[68], 256], 120384: [[69], 256], 120385: [[70], 256], 120386: [[71], 256], 120387: [[72], 256], 120388: [[73], 256], 120389: [[74], 256], 120390: [[75], 256], 120391: [[76], 256], 120392: [[77], 256], 120393: [[78], 256], 120394: [[79], 256], 120395: [[80], 256], 120396: [[81], 256], 120397: [[82], 256], 120398: [[83], 256], 120399: [[84], 256], 120400: [[85], 256], 120401: [[86], 256], 120402: [[87], 256], 120403: [[88], 256], 120404: [[89], 256], 120405: [[90], 256], 120406: [[97], 256], 120407: [[98], 256], 120408: [[99], 256], 120409: [[100], 256], 120410: [[101], 256], 120411: [[102], 256], 120412: [[103], 256], 120413: [[104], 256], 120414: [[105], 256], 120415: [[106], 256], 120416: [[107], 256], 120417: [[108], 256], 120418: [[109], 256], 120419: [[110], 256], 120420: [[111], 256], 120421: [[112], 256], 120422: [[113], 256], 120423: [[114], 256], 120424: [[115], 256], 120425: [[116], 256], 120426: [[117], 256], 120427: [[118], 256], 120428: [[119], 256], 120429: [[120], 256], 120430: [[121], 256], 120431: [[122], 256], 120432: [[65], 256], 120433: [[66], 256], 120434: [[67], 256], 120435: [[68], 256], 120436: [[69], 256], 120437: [[70], 256], 120438: [[71], 256], 120439: [[72], 256], 120440: [[73], 256], 120441: [[74], 256], 120442: [[75], 256], 120443: [[76], 256], 120444: [[77], 256], 120445: [[78], 256], 120446: [[79], 256], 120447: [[80], 256], 120448: [[81], 256], 120449: [[82], 256], 120450: [[83], 256], 120451: [[84], 256], 120452: [[85], 256], 120453: [[86], 256], 120454: [[87], 256], 120455: [[88], 256], 120456: [[89], 256], 120457: [[90], 256], 120458: [[97], 256], 120459: [[98], 256], 120460: [[99], 256], 120461: [[100], 256], 120462: [[101], 256], 120463: [[102], 256], 120464: [[103], 256], 120465: [[104], 256], 120466: [[105], 256], 120467: [[106], 256], 120468: [[107], 256], 120469: [[108], 256], 120470: [[109], 256], 120471: [[110], 256], 120472: [[111], 256], 120473: [[112], 256], 120474: [[113], 256], 120475: [[114], 256], 120476: [[115], 256], 120477: [[116], 256], 120478: [[117], 256], 120479: [[118], 256], 120480: [[119], 256], 120481: [[120], 256], 120482: [[121], 256], 120483: [[122], 256], 120484: [[305], 256], 120485: [[567], 256], 120488: [[913], 256], 120489: [[914], 256], 120490: [[915], 256], 120491: [[916], 256], 120492: [[917], 256], 120493: [[918], 256], 120494: [[919], 256], 120495: [[920], 256], 120496: [[921], 256], 120497: [[922], 256], 120498: [[923], 256], 120499: [[924], 256], 120500: [[925], 256], 120501: [[926], 256], 120502: [[927], 256], 120503: [[928], 256], 120504: [[929], 256], 120505: [[1012], 256], 120506: [[931], 256], 120507: [[932], 256], 120508: [[933], 256], 120509: [[934], 256], 120510: [[935], 256], 120511: [[936], 256], 120512: [[937], 256], 120513: [[8711], 256], 120514: [[945], 256], 120515: [[946], 256], 120516: [[947], 256], 120517: [[948], 256], 120518: [[949], 256], 120519: [[950], 256], 120520: [[951], 256], 120521: [[952], 256], 120522: [[953], 256], 120523: [[954], 256], 120524: [[955], 256], 120525: [[956], 256], 120526: [[957], 256], 120527: [[958], 256], 120528: [[959], 256], 120529: [[960], 256], 120530: [[961], 256], 120531: [[962], 256], 120532: [[963], 256], 120533: [[964], 256], 120534: [[965], 256], 120535: [[966], 256], 120536: [[967], 256], 120537: [[968], 256], 120538: [[969], 256], 120539: [[8706], 256], 120540: [[1013], 256], 120541: [[977], 256], 120542: [[1008], 256], 120543: [[981], 256], 120544: [[1009], 256], 120545: [[982], 256], 120546: [[913], 256], 120547: [[914], 256], 120548: [[915], 256], 120549: [[916], 256], 120550: [[917], 256], 120551: [[918], 256], 120552: [[919], 256], 120553: [[920], 256], 120554: [[921], 256], 120555: [[922], 256], 120556: [[923], 256], 120557: [[924], 256], 120558: [[925], 256], 120559: [[926], 256], 120560: [[927], 256], 120561: [[928], 256], 120562: [[929], 256], 120563: [[1012], 256], 120564: [[931], 256], 120565: [[932], 256], 120566: [[933], 256], 120567: [[934], 256], 120568: [[935], 256], 120569: [[936], 256], 120570: [[937], 256], 120571: [[8711], 256], 120572: [[945], 256], 120573: [[946], 256], 120574: [[947], 256], 120575: [[948], 256] }, + 55040: { 120576: [[949], 256], 120577: [[950], 256], 120578: [[951], 256], 120579: [[952], 256], 120580: [[953], 256], 120581: [[954], 256], 120582: [[955], 256], 120583: [[956], 256], 120584: [[957], 256], 120585: [[958], 256], 120586: [[959], 256], 120587: [[960], 256], 120588: [[961], 256], 120589: [[962], 256], 120590: [[963], 256], 120591: [[964], 256], 120592: [[965], 256], 120593: [[966], 256], 120594: [[967], 256], 120595: [[968], 256], 120596: [[969], 256], 120597: [[8706], 256], 120598: [[1013], 256], 120599: [[977], 256], 120600: [[1008], 256], 120601: [[981], 256], 120602: [[1009], 256], 120603: [[982], 256], 120604: [[913], 256], 120605: [[914], 256], 120606: [[915], 256], 120607: [[916], 256], 120608: [[917], 256], 120609: [[918], 256], 120610: [[919], 256], 120611: [[920], 256], 120612: [[921], 256], 120613: [[922], 256], 120614: [[923], 256], 120615: [[924], 256], 120616: [[925], 256], 120617: [[926], 256], 120618: [[927], 256], 120619: [[928], 256], 120620: [[929], 256], 120621: [[1012], 256], 120622: [[931], 256], 120623: [[932], 256], 120624: [[933], 256], 120625: [[934], 256], 120626: [[935], 256], 120627: [[936], 256], 120628: [[937], 256], 120629: [[8711], 256], 120630: [[945], 256], 120631: [[946], 256], 120632: [[947], 256], 120633: [[948], 256], 120634: [[949], 256], 120635: [[950], 256], 120636: [[951], 256], 120637: [[952], 256], 120638: [[953], 256], 120639: [[954], 256], 120640: [[955], 256], 120641: [[956], 256], 120642: [[957], 256], 120643: [[958], 256], 120644: [[959], 256], 120645: [[960], 256], 120646: [[961], 256], 120647: [[962], 256], 120648: [[963], 256], 120649: [[964], 256], 120650: [[965], 256], 120651: [[966], 256], 120652: [[967], 256], 120653: [[968], 256], 120654: [[969], 256], 120655: [[8706], 256], 120656: [[1013], 256], 120657: [[977], 256], 120658: [[1008], 256], 120659: [[981], 256], 120660: [[1009], 256], 120661: [[982], 256], 120662: [[913], 256], 120663: [[914], 256], 120664: [[915], 256], 120665: [[916], 256], 120666: [[917], 256], 120667: [[918], 256], 120668: [[919], 256], 120669: [[920], 256], 120670: [[921], 256], 120671: [[922], 256], 120672: [[923], 256], 120673: [[924], 256], 120674: [[925], 256], 120675: [[926], 256], 120676: [[927], 256], 120677: [[928], 256], 120678: [[929], 256], 120679: [[1012], 256], 120680: [[931], 256], 120681: [[932], 256], 120682: [[933], 256], 120683: [[934], 256], 120684: [[935], 256], 120685: [[936], 256], 120686: [[937], 256], 120687: [[8711], 256], 120688: [[945], 256], 120689: [[946], 256], 120690: [[947], 256], 120691: [[948], 256], 120692: [[949], 256], 120693: [[950], 256], 120694: [[951], 256], 120695: [[952], 256], 120696: [[953], 256], 120697: [[954], 256], 120698: [[955], 256], 120699: [[956], 256], 120700: [[957], 256], 120701: [[958], 256], 120702: [[959], 256], 120703: [[960], 256], 120704: [[961], 256], 120705: [[962], 256], 120706: [[963], 256], 120707: [[964], 256], 120708: [[965], 256], 120709: [[966], 256], 120710: [[967], 256], 120711: [[968], 256], 120712: [[969], 256], 120713: [[8706], 256], 120714: [[1013], 256], 120715: [[977], 256], 120716: [[1008], 256], 120717: [[981], 256], 120718: [[1009], 256], 120719: [[982], 256], 120720: [[913], 256], 120721: [[914], 256], 120722: [[915], 256], 120723: [[916], 256], 120724: [[917], 256], 120725: [[918], 256], 120726: [[919], 256], 120727: [[920], 256], 120728: [[921], 256], 120729: [[922], 256], 120730: [[923], 256], 120731: [[924], 256], 120732: [[925], 256], 120733: [[926], 256], 120734: [[927], 256], 120735: [[928], 256], 120736: [[929], 256], 120737: [[1012], 256], 120738: [[931], 256], 120739: [[932], 256], 120740: [[933], 256], 120741: [[934], 256], 120742: [[935], 256], 120743: [[936], 256], 120744: [[937], 256], 120745: [[8711], 256], 120746: [[945], 256], 120747: [[946], 256], 120748: [[947], 256], 120749: [[948], 256], 120750: [[949], 256], 120751: [[950], 256], 120752: [[951], 256], 120753: [[952], 256], 120754: [[953], 256], 120755: [[954], 256], 120756: [[955], 256], 120757: [[956], 256], 120758: [[957], 256], 120759: [[958], 256], 120760: [[959], 256], 120761: [[960], 256], 120762: [[961], 256], 120763: [[962], 256], 120764: [[963], 256], 120765: [[964], 256], 120766: [[965], 256], 120767: [[966], 256], 120768: [[967], 256], 120769: [[968], 256], 120770: [[969], 256], 120771: [[8706], 256], 120772: [[1013], 256], 120773: [[977], 256], 120774: [[1008], 256], 120775: [[981], 256], 120776: [[1009], 256], 120777: [[982], 256], 120778: [[988], 256], 120779: [[989], 256], 120782: [[48], 256], 120783: [[49], 256], 120784: [[50], 256], 120785: [[51], 256], 120786: [[52], 256], 120787: [[53], 256], 120788: [[54], 256], 120789: [[55], 256], 120790: [[56], 256], 120791: [[57], 256], 120792: [[48], 256], 120793: [[49], 256], 120794: [[50], 256], 120795: [[51], 256], 120796: [[52], 256], 120797: [[53], 256], 120798: [[54], 256], 120799: [[55], 256], 120800: [[56], 256], 120801: [[57], 256], 120802: [[48], 256], 120803: [[49], 256], 120804: [[50], 256], 120805: [[51], 256], 120806: [[52], 256], 120807: [[53], 256], 120808: [[54], 256], 120809: [[55], 256], 120810: [[56], 256], 120811: [[57], 256], 120812: [[48], 256], 120813: [[49], 256], 120814: [[50], 256], 120815: [[51], 256], 120816: [[52], 256], 120817: [[53], 256], 120818: [[54], 256], 120819: [[55], 256], 120820: [[56], 256], 120821: [[57], 256], 120822: [[48], 256], 120823: [[49], 256], 120824: [[50], 256], 120825: [[51], 256], 120826: [[52], 256], 120827: [[53], 256], 120828: [[54], 256], 120829: [[55], 256], 120830: [[56], 256], 120831: [[57], 256] }, + 59392: { 125136: [, 220], 125137: [, 220], 125138: [, 220], 125139: [, 220], 125140: [, 220], 125141: [, 220], 125142: [, 220] }, + 60928: { 126464: [[1575], 256], 126465: [[1576], 256], 126466: [[1580], 256], 126467: [[1583], 256], 126469: [[1608], 256], 126470: [[1586], 256], 126471: [[1581], 256], 126472: [[1591], 256], 126473: [[1610], 256], 126474: [[1603], 256], 126475: [[1604], 256], 126476: [[1605], 256], 126477: [[1606], 256], 126478: [[1587], 256], 126479: [[1593], 256], 126480: [[1601], 256], 126481: [[1589], 256], 126482: [[1602], 256], 126483: [[1585], 256], 126484: [[1588], 256], 126485: [[1578], 256], 126486: [[1579], 256], 126487: [[1582], 256], 126488: [[1584], 256], 126489: [[1590], 256], 126490: [[1592], 256], 126491: [[1594], 256], 126492: [[1646], 256], 126493: [[1722], 256], 126494: [[1697], 256], 126495: [[1647], 256], 126497: [[1576], 256], 126498: [[1580], 256], 126500: [[1607], 256], 126503: [[1581], 256], 126505: [[1610], 256], 126506: [[1603], 256], 126507: [[1604], 256], 126508: [[1605], 256], 126509: [[1606], 256], 126510: [[1587], 256], 126511: [[1593], 256], 126512: [[1601], 256], 126513: [[1589], 256], 126514: [[1602], 256], 126516: [[1588], 256], 126517: [[1578], 256], 126518: [[1579], 256], 126519: [[1582], 256], 126521: [[1590], 256], 126523: [[1594], 256], 126530: [[1580], 256], 126535: [[1581], 256], 126537: [[1610], 256], 126539: [[1604], 256], 126541: [[1606], 256], 126542: [[1587], 256], 126543: [[1593], 256], 126545: [[1589], 256], 126546: [[1602], 256], 126548: [[1588], 256], 126551: [[1582], 256], 126553: [[1590], 256], 126555: [[1594], 256], 126557: [[1722], 256], 126559: [[1647], 256], 126561: [[1576], 256], 126562: [[1580], 256], 126564: [[1607], 256], 126567: [[1581], 256], 126568: [[1591], 256], 126569: [[1610], 256], 126570: [[1603], 256], 126572: [[1605], 256], 126573: [[1606], 256], 126574: [[1587], 256], 126575: [[1593], 256], 126576: [[1601], 256], 126577: [[1589], 256], 126578: [[1602], 256], 126580: [[1588], 256], 126581: [[1578], 256], 126582: [[1579], 256], 126583: [[1582], 256], 126585: [[1590], 256], 126586: [[1592], 256], 126587: [[1594], 256], 126588: [[1646], 256], 126590: [[1697], 256], 126592: [[1575], 256], 126593: [[1576], 256], 126594: [[1580], 256], 126595: [[1583], 256], 126596: [[1607], 256], 126597: [[1608], 256], 126598: [[1586], 256], 126599: [[1581], 256], 126600: [[1591], 256], 126601: [[1610], 256], 126603: [[1604], 256], 126604: [[1605], 256], 126605: [[1606], 256], 126606: [[1587], 256], 126607: [[1593], 256], 126608: [[1601], 256], 126609: [[1589], 256], 126610: [[1602], 256], 126611: [[1585], 256], 126612: [[1588], 256], 126613: [[1578], 256], 126614: [[1579], 256], 126615: [[1582], 256], 126616: [[1584], 256], 126617: [[1590], 256], 126618: [[1592], 256], 126619: [[1594], 256], 126625: [[1576], 256], 126626: [[1580], 256], 126627: [[1583], 256], 126629: [[1608], 256], 126630: [[1586], 256], 126631: [[1581], 256], 126632: [[1591], 256], 126633: [[1610], 256], 126635: [[1604], 256], 126636: [[1605], 256], 126637: [[1606], 256], 126638: [[1587], 256], 126639: [[1593], 256], 126640: [[1601], 256], 126641: [[1589], 256], 126642: [[1602], 256], 126643: [[1585], 256], 126644: [[1588], 256], 126645: [[1578], 256], 126646: [[1579], 256], 126647: [[1582], 256], 126648: [[1584], 256], 126649: [[1590], 256], 126650: [[1592], 256], 126651: [[1594], 256] }, + 61696: { 127232: [[48, 46], 256], 127233: [[48, 44], 256], 127234: [[49, 44], 256], 127235: [[50, 44], 256], 127236: [[51, 44], 256], 127237: [[52, 44], 256], 127238: [[53, 44], 256], 127239: [[54, 44], 256], 127240: [[55, 44], 256], 127241: [[56, 44], 256], 127242: [[57, 44], 256], 127248: [[40, 65, 41], 256], 127249: [[40, 66, 41], 256], 127250: [[40, 67, 41], 256], 127251: [[40, 68, 41], 256], 127252: [[40, 69, 41], 256], 127253: [[40, 70, 41], 256], 127254: [[40, 71, 41], 256], 127255: [[40, 72, 41], 256], 127256: [[40, 73, 41], 256], 127257: [[40, 74, 41], 256], 127258: [[40, 75, 41], 256], 127259: [[40, 76, 41], 256], 127260: [[40, 77, 41], 256], 127261: [[40, 78, 41], 256], 127262: [[40, 79, 41], 256], 127263: [[40, 80, 41], 256], 127264: [[40, 81, 41], 256], 127265: [[40, 82, 41], 256], 127266: [[40, 83, 41], 256], 127267: [[40, 84, 41], 256], 127268: [[40, 85, 41], 256], 127269: [[40, 86, 41], 256], 127270: [[40, 87, 41], 256], 127271: [[40, 88, 41], 256], 127272: [[40, 89, 41], 256], 127273: [[40, 90, 41], 256], 127274: [[12308, 83, 12309], 256], 127275: [[67], 256], 127276: [[82], 256], 127277: [[67, 68], 256], 127278: [[87, 90], 256], 127280: [[65], 256], 127281: [[66], 256], 127282: [[67], 256], 127283: [[68], 256], 127284: [[69], 256], 127285: [[70], 256], 127286: [[71], 256], 127287: [[72], 256], 127288: [[73], 256], 127289: [[74], 256], 127290: [[75], 256], 127291: [[76], 256], 127292: [[77], 256], 127293: [[78], 256], 127294: [[79], 256], 127295: [[80], 256], 127296: [[81], 256], 127297: [[82], 256], 127298: [[83], 256], 127299: [[84], 256], 127300: [[85], 256], 127301: [[86], 256], 127302: [[87], 256], 127303: [[88], 256], 127304: [[89], 256], 127305: [[90], 256], 127306: [[72, 86], 256], 127307: [[77, 86], 256], 127308: [[83, 68], 256], 127309: [[83, 83], 256], 127310: [[80, 80, 86], 256], 127311: [[87, 67], 256], 127338: [[77, 67], 256], 127339: [[77, 68], 256], 127376: [[68, 74], 256] }, + 61952: { 127488: [[12411, 12363], 256], 127489: [[12467, 12467], 256], 127490: [[12469], 256], 127504: [[25163], 256], 127505: [[23383], 256], 127506: [[21452], 256], 127507: [[12487], 256], 127508: [[20108], 256], 127509: [[22810], 256], 127510: [[35299], 256], 127511: [[22825], 256], 127512: [[20132], 256], 127513: [[26144], 256], 127514: [[28961], 256], 127515: [[26009], 256], 127516: [[21069], 256], 127517: [[24460], 256], 127518: [[20877], 256], 127519: [[26032], 256], 127520: [[21021], 256], 127521: [[32066], 256], 127522: [[29983], 256], 127523: [[36009], 256], 127524: [[22768], 256], 127525: [[21561], 256], 127526: [[28436], 256], 127527: [[25237], 256], 127528: [[25429], 256], 127529: [[19968], 256], 127530: [[19977], 256], 127531: [[36938], 256], 127532: [[24038], 256], 127533: [[20013], 256], 127534: [[21491], 256], 127535: [[25351], 256], 127536: [[36208], 256], 127537: [[25171], 256], 127538: [[31105], 256], 127539: [[31354], 256], 127540: [[21512], 256], 127541: [[28288], 256], 127542: [[26377], 256], 127543: [[26376], 256], 127544: [[30003], 256], 127545: [[21106], 256], 127546: [[21942], 256], 127552: [[12308, 26412, 12309], 256], 127553: [[12308, 19977, 12309], 256], 127554: [[12308, 20108, 12309], 256], 127555: [[12308, 23433, 12309], 256], 127556: [[12308, 28857, 12309], 256], 127557: [[12308, 25171, 12309], 256], 127558: [[12308, 30423, 12309], 256], 127559: [[12308, 21213, 12309], 256], 127560: [[12308, 25943, 12309], 256], 127568: [[24471], 256], 127569: [[21487], 256] }, + 63488: { 194560: [[20029]], 194561: [[20024]], 194562: [[20033]], 194563: [[131362]], 194564: [[20320]], 194565: [[20398]], 194566: [[20411]], 194567: [[20482]], 194568: [[20602]], 194569: [[20633]], 194570: [[20711]], 194571: [[20687]], 194572: [[13470]], 194573: [[132666]], 194574: [[20813]], 194575: [[20820]], 194576: [[20836]], 194577: [[20855]], 194578: [[132380]], 194579: [[13497]], 194580: [[20839]], 194581: [[20877]], 194582: [[132427]], 194583: [[20887]], 194584: [[20900]], 194585: [[20172]], 194586: [[20908]], 194587: [[20917]], 194588: [[168415]], 194589: [[20981]], 194590: [[20995]], 194591: [[13535]], 194592: [[21051]], 194593: [[21062]], 194594: [[21106]], 194595: [[21111]], 194596: [[13589]], 194597: [[21191]], 194598: [[21193]], 194599: [[21220]], 194600: [[21242]], 194601: [[21253]], 194602: [[21254]], 194603: [[21271]], 194604: [[21321]], 194605: [[21329]], 194606: [[21338]], 194607: [[21363]], 194608: [[21373]], 194609: [[21375]], 194610: [[21375]], 194611: [[21375]], 194612: [[133676]], 194613: [[28784]], 194614: [[21450]], 194615: [[21471]], 194616: [[133987]], 194617: [[21483]], 194618: [[21489]], 194619: [[21510]], 194620: [[21662]], 194621: [[21560]], 194622: [[21576]], 194623: [[21608]], 194624: [[21666]], 194625: [[21750]], 194626: [[21776]], 194627: [[21843]], 194628: [[21859]], 194629: [[21892]], 194630: [[21892]], 194631: [[21913]], 194632: [[21931]], 194633: [[21939]], 194634: [[21954]], 194635: [[22294]], 194636: [[22022]], 194637: [[22295]], 194638: [[22097]], 194639: [[22132]], 194640: [[20999]], 194641: [[22766]], 194642: [[22478]], 194643: [[22516]], 194644: [[22541]], 194645: [[22411]], 194646: [[22578]], 194647: [[22577]], 194648: [[22700]], 194649: [[136420]], 194650: [[22770]], 194651: [[22775]], 194652: [[22790]], 194653: [[22810]], 194654: [[22818]], 194655: [[22882]], 194656: [[136872]], 194657: [[136938]], 194658: [[23020]], 194659: [[23067]], 194660: [[23079]], 194661: [[23000]], 194662: [[23142]], 194663: [[14062]], 194664: [[14076]], 194665: [[23304]], 194666: [[23358]], 194667: [[23358]], 194668: [[137672]], 194669: [[23491]], 194670: [[23512]], 194671: [[23527]], 194672: [[23539]], 194673: [[138008]], 194674: [[23551]], 194675: [[23558]], 194676: [[24403]], 194677: [[23586]], 194678: [[14209]], 194679: [[23648]], 194680: [[23662]], 194681: [[23744]], 194682: [[23693]], 194683: [[138724]], 194684: [[23875]], 194685: [[138726]], 194686: [[23918]], 194687: [[23915]], 194688: [[23932]], 194689: [[24033]], 194690: [[24034]], 194691: [[14383]], 194692: [[24061]], 194693: [[24104]], 194694: [[24125]], 194695: [[24169]], 194696: [[14434]], 194697: [[139651]], 194698: [[14460]], 194699: [[24240]], 194700: [[24243]], 194701: [[24246]], 194702: [[24266]], 194703: [[172946]], 194704: [[24318]], 194705: [[140081]], 194706: [[140081]], 194707: [[33281]], 194708: [[24354]], 194709: [[24354]], 194710: [[14535]], 194711: [[144056]], 194712: [[156122]], 194713: [[24418]], 194714: [[24427]], 194715: [[14563]], 194716: [[24474]], 194717: [[24525]], 194718: [[24535]], 194719: [[24569]], 194720: [[24705]], 194721: [[14650]], 194722: [[14620]], 194723: [[24724]], 194724: [[141012]], 194725: [[24775]], 194726: [[24904]], 194727: [[24908]], 194728: [[24910]], 194729: [[24908]], 194730: [[24954]], 194731: [[24974]], 194732: [[25010]], 194733: [[24996]], 194734: [[25007]], 194735: [[25054]], 194736: [[25074]], 194737: [[25078]], 194738: [[25104]], 194739: [[25115]], 194740: [[25181]], 194741: [[25265]], 194742: [[25300]], 194743: [[25424]], 194744: [[142092]], 194745: [[25405]], 194746: [[25340]], 194747: [[25448]], 194748: [[25475]], 194749: [[25572]], 194750: [[142321]], 194751: [[25634]], 194752: [[25541]], 194753: [[25513]], 194754: [[14894]], 194755: [[25705]], 194756: [[25726]], 194757: [[25757]], 194758: [[25719]], 194759: [[14956]], 194760: [[25935]], 194761: [[25964]], 194762: [[143370]], 194763: [[26083]], 194764: [[26360]], 194765: [[26185]], 194766: [[15129]], 194767: [[26257]], 194768: [[15112]], 194769: [[15076]], 194770: [[20882]], 194771: [[20885]], 194772: [[26368]], 194773: [[26268]], 194774: [[32941]], 194775: [[17369]], 194776: [[26391]], 194777: [[26395]], 194778: [[26401]], 194779: [[26462]], 194780: [[26451]], 194781: [[144323]], 194782: [[15177]], 194783: [[26618]], 194784: [[26501]], 194785: [[26706]], 194786: [[26757]], 194787: [[144493]], 194788: [[26766]], 194789: [[26655]], 194790: [[26900]], 194791: [[15261]], 194792: [[26946]], 194793: [[27043]], 194794: [[27114]], 194795: [[27304]], 194796: [[145059]], 194797: [[27355]], 194798: [[15384]], 194799: [[27425]], 194800: [[145575]], 194801: [[27476]], 194802: [[15438]], 194803: [[27506]], 194804: [[27551]], 194805: [[27578]], 194806: [[27579]], 194807: [[146061]], 194808: [[138507]], 194809: [[146170]], 194810: [[27726]], 194811: [[146620]], 194812: [[27839]], 194813: [[27853]], 194814: [[27751]], 194815: [[27926]] }, + 63744: { 63744: [[35912]], 63745: [[26356]], 63746: [[36554]], 63747: [[36040]], 63748: [[28369]], 63749: [[20018]], 63750: [[21477]], 63751: [[40860]], 63752: [[40860]], 63753: [[22865]], 63754: [[37329]], 63755: [[21895]], 63756: [[22856]], 63757: [[25078]], 63758: [[30313]], 63759: [[32645]], 63760: [[34367]], 63761: [[34746]], 63762: [[35064]], 63763: [[37007]], 63764: [[27138]], 63765: [[27931]], 63766: [[28889]], 63767: [[29662]], 63768: [[33853]], 63769: [[37226]], 63770: [[39409]], 63771: [[20098]], 63772: [[21365]], 63773: [[27396]], 63774: [[29211]], 63775: [[34349]], 63776: [[40478]], 63777: [[23888]], 63778: [[28651]], 63779: [[34253]], 63780: [[35172]], 63781: [[25289]], 63782: [[33240]], 63783: [[34847]], 63784: [[24266]], 63785: [[26391]], 63786: [[28010]], 63787: [[29436]], 63788: [[37070]], 63789: [[20358]], 63790: [[20919]], 63791: [[21214]], 63792: [[25796]], 63793: [[27347]], 63794: [[29200]], 63795: [[30439]], 63796: [[32769]], 63797: [[34310]], 63798: [[34396]], 63799: [[36335]], 63800: [[38706]], 63801: [[39791]], 63802: [[40442]], 63803: [[30860]], 63804: [[31103]], 63805: [[32160]], 63806: [[33737]], 63807: [[37636]], 63808: [[40575]], 63809: [[35542]], 63810: [[22751]], 63811: [[24324]], 63812: [[31840]], 63813: [[32894]], 63814: [[29282]], 63815: [[30922]], 63816: [[36034]], 63817: [[38647]], 63818: [[22744]], 63819: [[23650]], 63820: [[27155]], 63821: [[28122]], 63822: [[28431]], 63823: [[32047]], 63824: [[32311]], 63825: [[38475]], 63826: [[21202]], 63827: [[32907]], 63828: [[20956]], 63829: [[20940]], 63830: [[31260]], 63831: [[32190]], 63832: [[33777]], 63833: [[38517]], 63834: [[35712]], 63835: [[25295]], 63836: [[27138]], 63837: [[35582]], 63838: [[20025]], 63839: [[23527]], 63840: [[24594]], 63841: [[29575]], 63842: [[30064]], 63843: [[21271]], 63844: [[30971]], 63845: [[20415]], 63846: [[24489]], 63847: [[19981]], 63848: [[27852]], 63849: [[25976]], 63850: [[32034]], 63851: [[21443]], 63852: [[22622]], 63853: [[30465]], 63854: [[33865]], 63855: [[35498]], 63856: [[27578]], 63857: [[36784]], 63858: [[27784]], 63859: [[25342]], 63860: [[33509]], 63861: [[25504]], 63862: [[30053]], 63863: [[20142]], 63864: [[20841]], 63865: [[20937]], 63866: [[26753]], 63867: [[31975]], 63868: [[33391]], 63869: [[35538]], 63870: [[37327]], 63871: [[21237]], 63872: [[21570]], 63873: [[22899]], 63874: [[24300]], 63875: [[26053]], 63876: [[28670]], 63877: [[31018]], 63878: [[38317]], 63879: [[39530]], 63880: [[40599]], 63881: [[40654]], 63882: [[21147]], 63883: [[26310]], 63884: [[27511]], 63885: [[36706]], 63886: [[24180]], 63887: [[24976]], 63888: [[25088]], 63889: [[25754]], 63890: [[28451]], 63891: [[29001]], 63892: [[29833]], 63893: [[31178]], 63894: [[32244]], 63895: [[32879]], 63896: [[36646]], 63897: [[34030]], 63898: [[36899]], 63899: [[37706]], 63900: [[21015]], 63901: [[21155]], 63902: [[21693]], 63903: [[28872]], 63904: [[35010]], 63905: [[35498]], 63906: [[24265]], 63907: [[24565]], 63908: [[25467]], 63909: [[27566]], 63910: [[31806]], 63911: [[29557]], 63912: [[20196]], 63913: [[22265]], 63914: [[23527]], 63915: [[23994]], 63916: [[24604]], 63917: [[29618]], 63918: [[29801]], 63919: [[32666]], 63920: [[32838]], 63921: [[37428]], 63922: [[38646]], 63923: [[38728]], 63924: [[38936]], 63925: [[20363]], 63926: [[31150]], 63927: [[37300]], 63928: [[38584]], 63929: [[24801]], 63930: [[20102]], 63931: [[20698]], 63932: [[23534]], 63933: [[23615]], 63934: [[26009]], 63935: [[27138]], 63936: [[29134]], 63937: [[30274]], 63938: [[34044]], 63939: [[36988]], 63940: [[40845]], 63941: [[26248]], 63942: [[38446]], 63943: [[21129]], 63944: [[26491]], 63945: [[26611]], 63946: [[27969]], 63947: [[28316]], 63948: [[29705]], 63949: [[30041]], 63950: [[30827]], 63951: [[32016]], 63952: [[39006]], 63953: [[20845]], 63954: [[25134]], 63955: [[38520]], 63956: [[20523]], 63957: [[23833]], 63958: [[28138]], 63959: [[36650]], 63960: [[24459]], 63961: [[24900]], 63962: [[26647]], 63963: [[29575]], 63964: [[38534]], 63965: [[21033]], 63966: [[21519]], 63967: [[23653]], 63968: [[26131]], 63969: [[26446]], 63970: [[26792]], 63971: [[27877]], 63972: [[29702]], 63973: [[30178]], 63974: [[32633]], 63975: [[35023]], 63976: [[35041]], 63977: [[37324]], 63978: [[38626]], 63979: [[21311]], 63980: [[28346]], 63981: [[21533]], 63982: [[29136]], 63983: [[29848]], 63984: [[34298]], 63985: [[38563]], 63986: [[40023]], 63987: [[40607]], 63988: [[26519]], 63989: [[28107]], 63990: [[33256]], 63991: [[31435]], 63992: [[31520]], 63993: [[31890]], 63994: [[29376]], 63995: [[28825]], 63996: [[35672]], 63997: [[20160]], 63998: [[33590]], 63999: [[21050]], 194816: [[27966]], 194817: [[28023]], 194818: [[27969]], 194819: [[28009]], 194820: [[28024]], 194821: [[28037]], 194822: [[146718]], 194823: [[27956]], 194824: [[28207]], 194825: [[28270]], 194826: [[15667]], 194827: [[28363]], 194828: [[28359]], 194829: [[147153]], 194830: [[28153]], 194831: [[28526]], 194832: [[147294]], 194833: [[147342]], 194834: [[28614]], 194835: [[28729]], 194836: [[28702]], 194837: [[28699]], 194838: [[15766]], 194839: [[28746]], 194840: [[28797]], 194841: [[28791]], 194842: [[28845]], 194843: [[132389]], 194844: [[28997]], 194845: [[148067]], 194846: [[29084]], 194847: [[148395]], 194848: [[29224]], 194849: [[29237]], 194850: [[29264]], 194851: [[149000]], 194852: [[29312]], 194853: [[29333]], 194854: [[149301]], 194855: [[149524]], 194856: [[29562]], 194857: [[29579]], 194858: [[16044]], 194859: [[29605]], 194860: [[16056]], 194861: [[16056]], 194862: [[29767]], 194863: [[29788]], 194864: [[29809]], 194865: [[29829]], 194866: [[29898]], 194867: [[16155]], 194868: [[29988]], 194869: [[150582]], 194870: [[30014]], 194871: [[150674]], 194872: [[30064]], 194873: [[139679]], 194874: [[30224]], 194875: [[151457]], 194876: [[151480]], 194877: [[151620]], 194878: [[16380]], 194879: [[16392]], 194880: [[30452]], 194881: [[151795]], 194882: [[151794]], 194883: [[151833]], 194884: [[151859]], 194885: [[30494]], 194886: [[30495]], 194887: [[30495]], 194888: [[30538]], 194889: [[16441]], 194890: [[30603]], 194891: [[16454]], 194892: [[16534]], 194893: [[152605]], 194894: [[30798]], 194895: [[30860]], 194896: [[30924]], 194897: [[16611]], 194898: [[153126]], 194899: [[31062]], 194900: [[153242]], 194901: [[153285]], 194902: [[31119]], 194903: [[31211]], 194904: [[16687]], 194905: [[31296]], 194906: [[31306]], 194907: [[31311]], 194908: [[153980]], 194909: [[154279]], 194910: [[154279]], 194911: [[31470]], 194912: [[16898]], 194913: [[154539]], 194914: [[31686]], 194915: [[31689]], 194916: [[16935]], 194917: [[154752]], 194918: [[31954]], 194919: [[17056]], 194920: [[31976]], 194921: [[31971]], 194922: [[32000]], 194923: [[155526]], 194924: [[32099]], 194925: [[17153]], 194926: [[32199]], 194927: [[32258]], 194928: [[32325]], 194929: [[17204]], 194930: [[156200]], 194931: [[156231]], 194932: [[17241]], 194933: [[156377]], 194934: [[32634]], 194935: [[156478]], 194936: [[32661]], 194937: [[32762]], 194938: [[32773]], 194939: [[156890]], 194940: [[156963]], 194941: [[32864]], 194942: [[157096]], 194943: [[32880]], 194944: [[144223]], 194945: [[17365]], 194946: [[32946]], 194947: [[33027]], 194948: [[17419]], 194949: [[33086]], 194950: [[23221]], 194951: [[157607]], 194952: [[157621]], 194953: [[144275]], 194954: [[144284]], 194955: [[33281]], 194956: [[33284]], 194957: [[36766]], 194958: [[17515]], 194959: [[33425]], 194960: [[33419]], 194961: [[33437]], 194962: [[21171]], 194963: [[33457]], 194964: [[33459]], 194965: [[33469]], 194966: [[33510]], 194967: [[158524]], 194968: [[33509]], 194969: [[33565]], 194970: [[33635]], 194971: [[33709]], 194972: [[33571]], 194973: [[33725]], 194974: [[33767]], 194975: [[33879]], 194976: [[33619]], 194977: [[33738]], 194978: [[33740]], 194979: [[33756]], 194980: [[158774]], 194981: [[159083]], 194982: [[158933]], 194983: [[17707]], 194984: [[34033]], 194985: [[34035]], 194986: [[34070]], 194987: [[160714]], 194988: [[34148]], 194989: [[159532]], 194990: [[17757]], 194991: [[17761]], 194992: [[159665]], 194993: [[159954]], 194994: [[17771]], 194995: [[34384]], 194996: [[34396]], 194997: [[34407]], 194998: [[34409]], 194999: [[34473]], 195000: [[34440]], 195001: [[34574]], 195002: [[34530]], 195003: [[34681]], 195004: [[34600]], 195005: [[34667]], 195006: [[34694]], 195007: [[17879]], 195008: [[34785]], 195009: [[34817]], 195010: [[17913]], 195011: [[34912]], 195012: [[34915]], 195013: [[161383]], 195014: [[35031]], 195015: [[35038]], 195016: [[17973]], 195017: [[35066]], 195018: [[13499]], 195019: [[161966]], 195020: [[162150]], 195021: [[18110]], 195022: [[18119]], 195023: [[35488]], 195024: [[35565]], 195025: [[35722]], 195026: [[35925]], 195027: [[162984]], 195028: [[36011]], 195029: [[36033]], 195030: [[36123]], 195031: [[36215]], 195032: [[163631]], 195033: [[133124]], 195034: [[36299]], 195035: [[36284]], 195036: [[36336]], 195037: [[133342]], 195038: [[36564]], 195039: [[36664]], 195040: [[165330]], 195041: [[165357]], 195042: [[37012]], 195043: [[37105]], 195044: [[37137]], 195045: [[165678]], 195046: [[37147]], 195047: [[37432]], 195048: [[37591]], 195049: [[37592]], 195050: [[37500]], 195051: [[37881]], 195052: [[37909]], 195053: [[166906]], 195054: [[38283]], 195055: [[18837]], 195056: [[38327]], 195057: [[167287]], 195058: [[18918]], 195059: [[38595]], 195060: [[23986]], 195061: [[38691]], 195062: [[168261]], 195063: [[168474]], 195064: [[19054]], 195065: [[19062]], 195066: [[38880]], 195067: [[168970]], 195068: [[19122]], 195069: [[169110]], 195070: [[38923]], 195071: [[38923]] }, + 64000: { 64000: [[20999]], 64001: [[24230]], 64002: [[25299]], 64003: [[31958]], 64004: [[23429]], 64005: [[27934]], 64006: [[26292]], 64007: [[36667]], 64008: [[34892]], 64009: [[38477]], 64010: [[35211]], 64011: [[24275]], 64012: [[20800]], 64013: [[21952]], 64016: [[22618]], 64018: [[26228]], 64021: [[20958]], 64022: [[29482]], 64023: [[30410]], 64024: [[31036]], 64025: [[31070]], 64026: [[31077]], 64027: [[31119]], 64028: [[38742]], 64029: [[31934]], 64030: [[32701]], 64032: [[34322]], 64034: [[35576]], 64037: [[36920]], 64038: [[37117]], 64042: [[39151]], 64043: [[39164]], 64044: [[39208]], 64045: [[40372]], 64046: [[37086]], 64047: [[38583]], 64048: [[20398]], 64049: [[20711]], 64050: [[20813]], 64051: [[21193]], 64052: [[21220]], 64053: [[21329]], 64054: [[21917]], 64055: [[22022]], 64056: [[22120]], 64057: [[22592]], 64058: [[22696]], 64059: [[23652]], 64060: [[23662]], 64061: [[24724]], 64062: [[24936]], 64063: [[24974]], 64064: [[25074]], 64065: [[25935]], 64066: [[26082]], 64067: [[26257]], 64068: [[26757]], 64069: [[28023]], 64070: [[28186]], 64071: [[28450]], 64072: [[29038]], 64073: [[29227]], 64074: [[29730]], 64075: [[30865]], 64076: [[31038]], 64077: [[31049]], 64078: [[31048]], 64079: [[31056]], 64080: [[31062]], 64081: [[31069]], 64082: [[31117]], 64083: [[31118]], 64084: [[31296]], 64085: [[31361]], 64086: [[31680]], 64087: [[32244]], 64088: [[32265]], 64089: [[32321]], 64090: [[32626]], 64091: [[32773]], 64092: [[33261]], 64093: [[33401]], 64094: [[33401]], 64095: [[33879]], 64096: [[35088]], 64097: [[35222]], 64098: [[35585]], 64099: [[35641]], 64100: [[36051]], 64101: [[36104]], 64102: [[36790]], 64103: [[36920]], 64104: [[38627]], 64105: [[38911]], 64106: [[38971]], 64107: [[24693]], 64108: [[148206]], 64109: [[33304]], 64112: [[20006]], 64113: [[20917]], 64114: [[20840]], 64115: [[20352]], 64116: [[20805]], 64117: [[20864]], 64118: [[21191]], 64119: [[21242]], 64120: [[21917]], 64121: [[21845]], 64122: [[21913]], 64123: [[21986]], 64124: [[22618]], 64125: [[22707]], 64126: [[22852]], 64127: [[22868]], 64128: [[23138]], 64129: [[23336]], 64130: [[24274]], 64131: [[24281]], 64132: [[24425]], 64133: [[24493]], 64134: [[24792]], 64135: [[24910]], 64136: [[24840]], 64137: [[24974]], 64138: [[24928]], 64139: [[25074]], 64140: [[25140]], 64141: [[25540]], 64142: [[25628]], 64143: [[25682]], 64144: [[25942]], 64145: [[26228]], 64146: [[26391]], 64147: [[26395]], 64148: [[26454]], 64149: [[27513]], 64150: [[27578]], 64151: [[27969]], 64152: [[28379]], 64153: [[28363]], 64154: [[28450]], 64155: [[28702]], 64156: [[29038]], 64157: [[30631]], 64158: [[29237]], 64159: [[29359]], 64160: [[29482]], 64161: [[29809]], 64162: [[29958]], 64163: [[30011]], 64164: [[30237]], 64165: [[30239]], 64166: [[30410]], 64167: [[30427]], 64168: [[30452]], 64169: [[30538]], 64170: [[30528]], 64171: [[30924]], 64172: [[31409]], 64173: [[31680]], 64174: [[31867]], 64175: [[32091]], 64176: [[32244]], 64177: [[32574]], 64178: [[32773]], 64179: [[33618]], 64180: [[33775]], 64181: [[34681]], 64182: [[35137]], 64183: [[35206]], 64184: [[35222]], 64185: [[35519]], 64186: [[35576]], 64187: [[35531]], 64188: [[35585]], 64189: [[35582]], 64190: [[35565]], 64191: [[35641]], 64192: [[35722]], 64193: [[36104]], 64194: [[36664]], 64195: [[36978]], 64196: [[37273]], 64197: [[37494]], 64198: [[38524]], 64199: [[38627]], 64200: [[38742]], 64201: [[38875]], 64202: [[38911]], 64203: [[38923]], 64204: [[38971]], 64205: [[39698]], 64206: [[40860]], 64207: [[141386]], 64208: [[141380]], 64209: [[144341]], 64210: [[15261]], 64211: [[16408]], 64212: [[16441]], 64213: [[152137]], 64214: [[154832]], 64215: [[163539]], 64216: [[40771]], 64217: [[40846]], 195072: [[38953]], 195073: [[169398]], 195074: [[39138]], 195075: [[19251]], 195076: [[39209]], 195077: [[39335]], 195078: [[39362]], 195079: [[39422]], 195080: [[19406]], 195081: [[170800]], 195082: [[39698]], 195083: [[40000]], 195084: [[40189]], 195085: [[19662]], 195086: [[19693]], 195087: [[40295]], 195088: [[172238]], 195089: [[19704]], 195090: [[172293]], 195091: [[172558]], 195092: [[172689]], 195093: [[40635]], 195094: [[19798]], 195095: [[40697]], 195096: [[40702]], 195097: [[40709]], 195098: [[40719]], 195099: [[40726]], 195100: [[40763]], 195101: [[173568]] }, + 64256: { 64256: [[102, 102], 256], 64257: [[102, 105], 256], 64258: [[102, 108], 256], 64259: [[102, 102, 105], 256], 64260: [[102, 102, 108], 256], 64261: [[383, 116], 256], 64262: [[115, 116], 256], 64275: [[1396, 1398], 256], 64276: [[1396, 1381], 256], 64277: [[1396, 1387], 256], 64278: [[1406, 1398], 256], 64279: [[1396, 1389], 256], 64285: [[1497, 1460], 512], 64286: [, 26], 64287: [[1522, 1463], 512], 64288: [[1506], 256], 64289: [[1488], 256], 64290: [[1491], 256], 64291: [[1492], 256], 64292: [[1499], 256], 64293: [[1500], 256], 64294: [[1501], 256], 64295: [[1512], 256], 64296: [[1514], 256], 64297: [[43], 256], 64298: [[1513, 1473], 512], 64299: [[1513, 1474], 512], 64300: [[64329, 1473], 512], 64301: [[64329, 1474], 512], 64302: [[1488, 1463], 512], 64303: [[1488, 1464], 512], 64304: [[1488, 1468], 512], 64305: [[1489, 1468], 512], 64306: [[1490, 1468], 512], 64307: [[1491, 1468], 512], 64308: [[1492, 1468], 512], 64309: [[1493, 1468], 512], 64310: [[1494, 1468], 512], 64312: [[1496, 1468], 512], 64313: [[1497, 1468], 512], 64314: [[1498, 1468], 512], 64315: [[1499, 1468], 512], 64316: [[1500, 1468], 512], 64318: [[1502, 1468], 512], 64320: [[1504, 1468], 512], 64321: [[1505, 1468], 512], 64323: [[1507, 1468], 512], 64324: [[1508, 1468], 512], 64326: [[1510, 1468], 512], 64327: [[1511, 1468], 512], 64328: [[1512, 1468], 512], 64329: [[1513, 1468], 512], 64330: [[1514, 1468], 512], 64331: [[1493, 1465], 512], 64332: [[1489, 1471], 512], 64333: [[1499, 1471], 512], 64334: [[1508, 1471], 512], 64335: [[1488, 1500], 256], 64336: [[1649], 256], 64337: [[1649], 256], 64338: [[1659], 256], 64339: [[1659], 256], 64340: [[1659], 256], 64341: [[1659], 256], 64342: [[1662], 256], 64343: [[1662], 256], 64344: [[1662], 256], 64345: [[1662], 256], 64346: [[1664], 256], 64347: [[1664], 256], 64348: [[1664], 256], 64349: [[1664], 256], 64350: [[1658], 256], 64351: [[1658], 256], 64352: [[1658], 256], 64353: [[1658], 256], 64354: [[1663], 256], 64355: [[1663], 256], 64356: [[1663], 256], 64357: [[1663], 256], 64358: [[1657], 256], 64359: [[1657], 256], 64360: [[1657], 256], 64361: [[1657], 256], 64362: [[1700], 256], 64363: [[1700], 256], 64364: [[1700], 256], 64365: [[1700], 256], 64366: [[1702], 256], 64367: [[1702], 256], 64368: [[1702], 256], 64369: [[1702], 256], 64370: [[1668], 256], 64371: [[1668], 256], 64372: [[1668], 256], 64373: [[1668], 256], 64374: [[1667], 256], 64375: [[1667], 256], 64376: [[1667], 256], 64377: [[1667], 256], 64378: [[1670], 256], 64379: [[1670], 256], 64380: [[1670], 256], 64381: [[1670], 256], 64382: [[1671], 256], 64383: [[1671], 256], 64384: [[1671], 256], 64385: [[1671], 256], 64386: [[1677], 256], 64387: [[1677], 256], 64388: [[1676], 256], 64389: [[1676], 256], 64390: [[1678], 256], 64391: [[1678], 256], 64392: [[1672], 256], 64393: [[1672], 256], 64394: [[1688], 256], 64395: [[1688], 256], 64396: [[1681], 256], 64397: [[1681], 256], 64398: [[1705], 256], 64399: [[1705], 256], 64400: [[1705], 256], 64401: [[1705], 256], 64402: [[1711], 256], 64403: [[1711], 256], 64404: [[1711], 256], 64405: [[1711], 256], 64406: [[1715], 256], 64407: [[1715], 256], 64408: [[1715], 256], 64409: [[1715], 256], 64410: [[1713], 256], 64411: [[1713], 256], 64412: [[1713], 256], 64413: [[1713], 256], 64414: [[1722], 256], 64415: [[1722], 256], 64416: [[1723], 256], 64417: [[1723], 256], 64418: [[1723], 256], 64419: [[1723], 256], 64420: [[1728], 256], 64421: [[1728], 256], 64422: [[1729], 256], 64423: [[1729], 256], 64424: [[1729], 256], 64425: [[1729], 256], 64426: [[1726], 256], 64427: [[1726], 256], 64428: [[1726], 256], 64429: [[1726], 256], 64430: [[1746], 256], 64431: [[1746], 256], 64432: [[1747], 256], 64433: [[1747], 256], 64467: [[1709], 256], 64468: [[1709], 256], 64469: [[1709], 256], 64470: [[1709], 256], 64471: [[1735], 256], 64472: [[1735], 256], 64473: [[1734], 256], 64474: [[1734], 256], 64475: [[1736], 256], 64476: [[1736], 256], 64477: [[1655], 256], 64478: [[1739], 256], 64479: [[1739], 256], 64480: [[1733], 256], 64481: [[1733], 256], 64482: [[1737], 256], 64483: [[1737], 256], 64484: [[1744], 256], 64485: [[1744], 256], 64486: [[1744], 256], 64487: [[1744], 256], 64488: [[1609], 256], 64489: [[1609], 256], 64490: [[1574, 1575], 256], 64491: [[1574, 1575], 256], 64492: [[1574, 1749], 256], 64493: [[1574, 1749], 256], 64494: [[1574, 1608], 256], 64495: [[1574, 1608], 256], 64496: [[1574, 1735], 256], 64497: [[1574, 1735], 256], 64498: [[1574, 1734], 256], 64499: [[1574, 1734], 256], 64500: [[1574, 1736], 256], 64501: [[1574, 1736], 256], 64502: [[1574, 1744], 256], 64503: [[1574, 1744], 256], 64504: [[1574, 1744], 256], 64505: [[1574, 1609], 256], 64506: [[1574, 1609], 256], 64507: [[1574, 1609], 256], 64508: [[1740], 256], 64509: [[1740], 256], 64510: [[1740], 256], 64511: [[1740], 256] }, + 64512: { 64512: [[1574, 1580], 256], 64513: [[1574, 1581], 256], 64514: [[1574, 1605], 256], 64515: [[1574, 1609], 256], 64516: [[1574, 1610], 256], 64517: [[1576, 1580], 256], 64518: [[1576, 1581], 256], 64519: [[1576, 1582], 256], 64520: [[1576, 1605], 256], 64521: [[1576, 1609], 256], 64522: [[1576, 1610], 256], 64523: [[1578, 1580], 256], 64524: [[1578, 1581], 256], 64525: [[1578, 1582], 256], 64526: [[1578, 1605], 256], 64527: [[1578, 1609], 256], 64528: [[1578, 1610], 256], 64529: [[1579, 1580], 256], 64530: [[1579, 1605], 256], 64531: [[1579, 1609], 256], 64532: [[1579, 1610], 256], 64533: [[1580, 1581], 256], 64534: [[1580, 1605], 256], 64535: [[1581, 1580], 256], 64536: [[1581, 1605], 256], 64537: [[1582, 1580], 256], 64538: [[1582, 1581], 256], 64539: [[1582, 1605], 256], 64540: [[1587, 1580], 256], 64541: [[1587, 1581], 256], 64542: [[1587, 1582], 256], 64543: [[1587, 1605], 256], 64544: [[1589, 1581], 256], 64545: [[1589, 1605], 256], 64546: [[1590, 1580], 256], 64547: [[1590, 1581], 256], 64548: [[1590, 1582], 256], 64549: [[1590, 1605], 256], 64550: [[1591, 1581], 256], 64551: [[1591, 1605], 256], 64552: [[1592, 1605], 256], 64553: [[1593, 1580], 256], 64554: [[1593, 1605], 256], 64555: [[1594, 1580], 256], 64556: [[1594, 1605], 256], 64557: [[1601, 1580], 256], 64558: [[1601, 1581], 256], 64559: [[1601, 1582], 256], 64560: [[1601, 1605], 256], 64561: [[1601, 1609], 256], 64562: [[1601, 1610], 256], 64563: [[1602, 1581], 256], 64564: [[1602, 1605], 256], 64565: [[1602, 1609], 256], 64566: [[1602, 1610], 256], 64567: [[1603, 1575], 256], 64568: [[1603, 1580], 256], 64569: [[1603, 1581], 256], 64570: [[1603, 1582], 256], 64571: [[1603, 1604], 256], 64572: [[1603, 1605], 256], 64573: [[1603, 1609], 256], 64574: [[1603, 1610], 256], 64575: [[1604, 1580], 256], 64576: [[1604, 1581], 256], 64577: [[1604, 1582], 256], 64578: [[1604, 1605], 256], 64579: [[1604, 1609], 256], 64580: [[1604, 1610], 256], 64581: [[1605, 1580], 256], 64582: [[1605, 1581], 256], 64583: [[1605, 1582], 256], 64584: [[1605, 1605], 256], 64585: [[1605, 1609], 256], 64586: [[1605, 1610], 256], 64587: [[1606, 1580], 256], 64588: [[1606, 1581], 256], 64589: [[1606, 1582], 256], 64590: [[1606, 1605], 256], 64591: [[1606, 1609], 256], 64592: [[1606, 1610], 256], 64593: [[1607, 1580], 256], 64594: [[1607, 1605], 256], 64595: [[1607, 1609], 256], 64596: [[1607, 1610], 256], 64597: [[1610, 1580], 256], 64598: [[1610, 1581], 256], 64599: [[1610, 1582], 256], 64600: [[1610, 1605], 256], 64601: [[1610, 1609], 256], 64602: [[1610, 1610], 256], 64603: [[1584, 1648], 256], 64604: [[1585, 1648], 256], 64605: [[1609, 1648], 256], 64606: [[32, 1612, 1617], 256], 64607: [[32, 1613, 1617], 256], 64608: [[32, 1614, 1617], 256], 64609: [[32, 1615, 1617], 256], 64610: [[32, 1616, 1617], 256], 64611: [[32, 1617, 1648], 256], 64612: [[1574, 1585], 256], 64613: [[1574, 1586], 256], 64614: [[1574, 1605], 256], 64615: [[1574, 1606], 256], 64616: [[1574, 1609], 256], 64617: [[1574, 1610], 256], 64618: [[1576, 1585], 256], 64619: [[1576, 1586], 256], 64620: [[1576, 1605], 256], 64621: [[1576, 1606], 256], 64622: [[1576, 1609], 256], 64623: [[1576, 1610], 256], 64624: [[1578, 1585], 256], 64625: [[1578, 1586], 256], 64626: [[1578, 1605], 256], 64627: [[1578, 1606], 256], 64628: [[1578, 1609], 256], 64629: [[1578, 1610], 256], 64630: [[1579, 1585], 256], 64631: [[1579, 1586], 256], 64632: [[1579, 1605], 256], 64633: [[1579, 1606], 256], 64634: [[1579, 1609], 256], 64635: [[1579, 1610], 256], 64636: [[1601, 1609], 256], 64637: [[1601, 1610], 256], 64638: [[1602, 1609], 256], 64639: [[1602, 1610], 256], 64640: [[1603, 1575], 256], 64641: [[1603, 1604], 256], 64642: [[1603, 1605], 256], 64643: [[1603, 1609], 256], 64644: [[1603, 1610], 256], 64645: [[1604, 1605], 256], 64646: [[1604, 1609], 256], 64647: [[1604, 1610], 256], 64648: [[1605, 1575], 256], 64649: [[1605, 1605], 256], 64650: [[1606, 1585], 256], 64651: [[1606, 1586], 256], 64652: [[1606, 1605], 256], 64653: [[1606, 1606], 256], 64654: [[1606, 1609], 256], 64655: [[1606, 1610], 256], 64656: [[1609, 1648], 256], 64657: [[1610, 1585], 256], 64658: [[1610, 1586], 256], 64659: [[1610, 1605], 256], 64660: [[1610, 1606], 256], 64661: [[1610, 1609], 256], 64662: [[1610, 1610], 256], 64663: [[1574, 1580], 256], 64664: [[1574, 1581], 256], 64665: [[1574, 1582], 256], 64666: [[1574, 1605], 256], 64667: [[1574, 1607], 256], 64668: [[1576, 1580], 256], 64669: [[1576, 1581], 256], 64670: [[1576, 1582], 256], 64671: [[1576, 1605], 256], 64672: [[1576, 1607], 256], 64673: [[1578, 1580], 256], 64674: [[1578, 1581], 256], 64675: [[1578, 1582], 256], 64676: [[1578, 1605], 256], 64677: [[1578, 1607], 256], 64678: [[1579, 1605], 256], 64679: [[1580, 1581], 256], 64680: [[1580, 1605], 256], 64681: [[1581, 1580], 256], 64682: [[1581, 1605], 256], 64683: [[1582, 1580], 256], 64684: [[1582, 1605], 256], 64685: [[1587, 1580], 256], 64686: [[1587, 1581], 256], 64687: [[1587, 1582], 256], 64688: [[1587, 1605], 256], 64689: [[1589, 1581], 256], 64690: [[1589, 1582], 256], 64691: [[1589, 1605], 256], 64692: [[1590, 1580], 256], 64693: [[1590, 1581], 256], 64694: [[1590, 1582], 256], 64695: [[1590, 1605], 256], 64696: [[1591, 1581], 256], 64697: [[1592, 1605], 256], 64698: [[1593, 1580], 256], 64699: [[1593, 1605], 256], 64700: [[1594, 1580], 256], 64701: [[1594, 1605], 256], 64702: [[1601, 1580], 256], 64703: [[1601, 1581], 256], 64704: [[1601, 1582], 256], 64705: [[1601, 1605], 256], 64706: [[1602, 1581], 256], 64707: [[1602, 1605], 256], 64708: [[1603, 1580], 256], 64709: [[1603, 1581], 256], 64710: [[1603, 1582], 256], 64711: [[1603, 1604], 256], 64712: [[1603, 1605], 256], 64713: [[1604, 1580], 256], 64714: [[1604, 1581], 256], 64715: [[1604, 1582], 256], 64716: [[1604, 1605], 256], 64717: [[1604, 1607], 256], 64718: [[1605, 1580], 256], 64719: [[1605, 1581], 256], 64720: [[1605, 1582], 256], 64721: [[1605, 1605], 256], 64722: [[1606, 1580], 256], 64723: [[1606, 1581], 256], 64724: [[1606, 1582], 256], 64725: [[1606, 1605], 256], 64726: [[1606, 1607], 256], 64727: [[1607, 1580], 256], 64728: [[1607, 1605], 256], 64729: [[1607, 1648], 256], 64730: [[1610, 1580], 256], 64731: [[1610, 1581], 256], 64732: [[1610, 1582], 256], 64733: [[1610, 1605], 256], 64734: [[1610, 1607], 256], 64735: [[1574, 1605], 256], 64736: [[1574, 1607], 256], 64737: [[1576, 1605], 256], 64738: [[1576, 1607], 256], 64739: [[1578, 1605], 256], 64740: [[1578, 1607], 256], 64741: [[1579, 1605], 256], 64742: [[1579, 1607], 256], 64743: [[1587, 1605], 256], 64744: [[1587, 1607], 256], 64745: [[1588, 1605], 256], 64746: [[1588, 1607], 256], 64747: [[1603, 1604], 256], 64748: [[1603, 1605], 256], 64749: [[1604, 1605], 256], 64750: [[1606, 1605], 256], 64751: [[1606, 1607], 256], 64752: [[1610, 1605], 256], 64753: [[1610, 1607], 256], 64754: [[1600, 1614, 1617], 256], 64755: [[1600, 1615, 1617], 256], 64756: [[1600, 1616, 1617], 256], 64757: [[1591, 1609], 256], 64758: [[1591, 1610], 256], 64759: [[1593, 1609], 256], 64760: [[1593, 1610], 256], 64761: [[1594, 1609], 256], 64762: [[1594, 1610], 256], 64763: [[1587, 1609], 256], 64764: [[1587, 1610], 256], 64765: [[1588, 1609], 256], 64766: [[1588, 1610], 256], 64767: [[1581, 1609], 256] }, + 64768: { 64768: [[1581, 1610], 256], 64769: [[1580, 1609], 256], 64770: [[1580, 1610], 256], 64771: [[1582, 1609], 256], 64772: [[1582, 1610], 256], 64773: [[1589, 1609], 256], 64774: [[1589, 1610], 256], 64775: [[1590, 1609], 256], 64776: [[1590, 1610], 256], 64777: [[1588, 1580], 256], 64778: [[1588, 1581], 256], 64779: [[1588, 1582], 256], 64780: [[1588, 1605], 256], 64781: [[1588, 1585], 256], 64782: [[1587, 1585], 256], 64783: [[1589, 1585], 256], 64784: [[1590, 1585], 256], 64785: [[1591, 1609], 256], 64786: [[1591, 1610], 256], 64787: [[1593, 1609], 256], 64788: [[1593, 1610], 256], 64789: [[1594, 1609], 256], 64790: [[1594, 1610], 256], 64791: [[1587, 1609], 256], 64792: [[1587, 1610], 256], 64793: [[1588, 1609], 256], 64794: [[1588, 1610], 256], 64795: [[1581, 1609], 256], 64796: [[1581, 1610], 256], 64797: [[1580, 1609], 256], 64798: [[1580, 1610], 256], 64799: [[1582, 1609], 256], 64800: [[1582, 1610], 256], 64801: [[1589, 1609], 256], 64802: [[1589, 1610], 256], 64803: [[1590, 1609], 256], 64804: [[1590, 1610], 256], 64805: [[1588, 1580], 256], 64806: [[1588, 1581], 256], 64807: [[1588, 1582], 256], 64808: [[1588, 1605], 256], 64809: [[1588, 1585], 256], 64810: [[1587, 1585], 256], 64811: [[1589, 1585], 256], 64812: [[1590, 1585], 256], 64813: [[1588, 1580], 256], 64814: [[1588, 1581], 256], 64815: [[1588, 1582], 256], 64816: [[1588, 1605], 256], 64817: [[1587, 1607], 256], 64818: [[1588, 1607], 256], 64819: [[1591, 1605], 256], 64820: [[1587, 1580], 256], 64821: [[1587, 1581], 256], 64822: [[1587, 1582], 256], 64823: [[1588, 1580], 256], 64824: [[1588, 1581], 256], 64825: [[1588, 1582], 256], 64826: [[1591, 1605], 256], 64827: [[1592, 1605], 256], 64828: [[1575, 1611], 256], 64829: [[1575, 1611], 256], 64848: [[1578, 1580, 1605], 256], 64849: [[1578, 1581, 1580], 256], 64850: [[1578, 1581, 1580], 256], 64851: [[1578, 1581, 1605], 256], 64852: [[1578, 1582, 1605], 256], 64853: [[1578, 1605, 1580], 256], 64854: [[1578, 1605, 1581], 256], 64855: [[1578, 1605, 1582], 256], 64856: [[1580, 1605, 1581], 256], 64857: [[1580, 1605, 1581], 256], 64858: [[1581, 1605, 1610], 256], 64859: [[1581, 1605, 1609], 256], 64860: [[1587, 1581, 1580], 256], 64861: [[1587, 1580, 1581], 256], 64862: [[1587, 1580, 1609], 256], 64863: [[1587, 1605, 1581], 256], 64864: [[1587, 1605, 1581], 256], 64865: [[1587, 1605, 1580], 256], 64866: [[1587, 1605, 1605], 256], 64867: [[1587, 1605, 1605], 256], 64868: [[1589, 1581, 1581], 256], 64869: [[1589, 1581, 1581], 256], 64870: [[1589, 1605, 1605], 256], 64871: [[1588, 1581, 1605], 256], 64872: [[1588, 1581, 1605], 256], 64873: [[1588, 1580, 1610], 256], 64874: [[1588, 1605, 1582], 256], 64875: [[1588, 1605, 1582], 256], 64876: [[1588, 1605, 1605], 256], 64877: [[1588, 1605, 1605], 256], 64878: [[1590, 1581, 1609], 256], 64879: [[1590, 1582, 1605], 256], 64880: [[1590, 1582, 1605], 256], 64881: [[1591, 1605, 1581], 256], 64882: [[1591, 1605, 1581], 256], 64883: [[1591, 1605, 1605], 256], 64884: [[1591, 1605, 1610], 256], 64885: [[1593, 1580, 1605], 256], 64886: [[1593, 1605, 1605], 256], 64887: [[1593, 1605, 1605], 256], 64888: [[1593, 1605, 1609], 256], 64889: [[1594, 1605, 1605], 256], 64890: [[1594, 1605, 1610], 256], 64891: [[1594, 1605, 1609], 256], 64892: [[1601, 1582, 1605], 256], 64893: [[1601, 1582, 1605], 256], 64894: [[1602, 1605, 1581], 256], 64895: [[1602, 1605, 1605], 256], 64896: [[1604, 1581, 1605], 256], 64897: [[1604, 1581, 1610], 256], 64898: [[1604, 1581, 1609], 256], 64899: [[1604, 1580, 1580], 256], 64900: [[1604, 1580, 1580], 256], 64901: [[1604, 1582, 1605], 256], 64902: [[1604, 1582, 1605], 256], 64903: [[1604, 1605, 1581], 256], 64904: [[1604, 1605, 1581], 256], 64905: [[1605, 1581, 1580], 256], 64906: [[1605, 1581, 1605], 256], 64907: [[1605, 1581, 1610], 256], 64908: [[1605, 1580, 1581], 256], 64909: [[1605, 1580, 1605], 256], 64910: [[1605, 1582, 1580], 256], 64911: [[1605, 1582, 1605], 256], 64914: [[1605, 1580, 1582], 256], 64915: [[1607, 1605, 1580], 256], 64916: [[1607, 1605, 1605], 256], 64917: [[1606, 1581, 1605], 256], 64918: [[1606, 1581, 1609], 256], 64919: [[1606, 1580, 1605], 256], 64920: [[1606, 1580, 1605], 256], 64921: [[1606, 1580, 1609], 256], 64922: [[1606, 1605, 1610], 256], 64923: [[1606, 1605, 1609], 256], 64924: [[1610, 1605, 1605], 256], 64925: [[1610, 1605, 1605], 256], 64926: [[1576, 1582, 1610], 256], 64927: [[1578, 1580, 1610], 256], 64928: [[1578, 1580, 1609], 256], 64929: [[1578, 1582, 1610], 256], 64930: [[1578, 1582, 1609], 256], 64931: [[1578, 1605, 1610], 256], 64932: [[1578, 1605, 1609], 256], 64933: [[1580, 1605, 1610], 256], 64934: [[1580, 1581, 1609], 256], 64935: [[1580, 1605, 1609], 256], 64936: [[1587, 1582, 1609], 256], 64937: [[1589, 1581, 1610], 256], 64938: [[1588, 1581, 1610], 256], 64939: [[1590, 1581, 1610], 256], 64940: [[1604, 1580, 1610], 256], 64941: [[1604, 1605, 1610], 256], 64942: [[1610, 1581, 1610], 256], 64943: [[1610, 1580, 1610], 256], 64944: [[1610, 1605, 1610], 256], 64945: [[1605, 1605, 1610], 256], 64946: [[1602, 1605, 1610], 256], 64947: [[1606, 1581, 1610], 256], 64948: [[1602, 1605, 1581], 256], 64949: [[1604, 1581, 1605], 256], 64950: [[1593, 1605, 1610], 256], 64951: [[1603, 1605, 1610], 256], 64952: [[1606, 1580, 1581], 256], 64953: [[1605, 1582, 1610], 256], 64954: [[1604, 1580, 1605], 256], 64955: [[1603, 1605, 1605], 256], 64956: [[1604, 1580, 1605], 256], 64957: [[1606, 1580, 1581], 256], 64958: [[1580, 1581, 1610], 256], 64959: [[1581, 1580, 1610], 256], 64960: [[1605, 1580, 1610], 256], 64961: [[1601, 1605, 1610], 256], 64962: [[1576, 1581, 1610], 256], 64963: [[1603, 1605, 1605], 256], 64964: [[1593, 1580, 1605], 256], 64965: [[1589, 1605, 1605], 256], 64966: [[1587, 1582, 1610], 256], 64967: [[1606, 1580, 1610], 256], 65008: [[1589, 1604, 1746], 256], 65009: [[1602, 1604, 1746], 256], 65010: [[1575, 1604, 1604, 1607], 256], 65011: [[1575, 1603, 1576, 1585], 256], 65012: [[1605, 1581, 1605, 1583], 256], 65013: [[1589, 1604, 1593, 1605], 256], 65014: [[1585, 1587, 1608, 1604], 256], 65015: [[1593, 1604, 1610, 1607], 256], 65016: [[1608, 1587, 1604, 1605], 256], 65017: [[1589, 1604, 1609], 256], 65018: [[1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605], 256], 65019: [[1580, 1604, 32, 1580, 1604, 1575, 1604, 1607], 256], 65020: [[1585, 1740, 1575, 1604], 256] }, + 65024: { 65040: [[44], 256], 65041: [[12289], 256], 65042: [[12290], 256], 65043: [[58], 256], 65044: [[59], 256], 65045: [[33], 256], 65046: [[63], 256], 65047: [[12310], 256], 65048: [[12311], 256], 65049: [[8230], 256], 65056: [, 230], 65057: [, 230], 65058: [, 230], 65059: [, 230], 65060: [, 230], 65061: [, 230], 65062: [, 230], 65063: [, 220], 65064: [, 220], 65065: [, 220], 65066: [, 220], 65067: [, 220], 65068: [, 220], 65069: [, 220], 65072: [[8229], 256], 65073: [[8212], 256], 65074: [[8211], 256], 65075: [[95], 256], 65076: [[95], 256], 65077: [[40], 256], 65078: [[41], 256], 65079: [[123], 256], 65080: [[125], 256], 65081: [[12308], 256], 65082: [[12309], 256], 65083: [[12304], 256], 65084: [[12305], 256], 65085: [[12298], 256], 65086: [[12299], 256], 65087: [[12296], 256], 65088: [[12297], 256], 65089: [[12300], 256], 65090: [[12301], 256], 65091: [[12302], 256], 65092: [[12303], 256], 65095: [[91], 256], 65096: [[93], 256], 65097: [[8254], 256], 65098: [[8254], 256], 65099: [[8254], 256], 65100: [[8254], 256], 65101: [[95], 256], 65102: [[95], 256], 65103: [[95], 256], 65104: [[44], 256], 65105: [[12289], 256], 65106: [[46], 256], 65108: [[59], 256], 65109: [[58], 256], 65110: [[63], 256], 65111: [[33], 256], 65112: [[8212], 256], 65113: [[40], 256], 65114: [[41], 256], 65115: [[123], 256], 65116: [[125], 256], 65117: [[12308], 256], 65118: [[12309], 256], 65119: [[35], 256], 65120: [[38], 256], 65121: [[42], 256], 65122: [[43], 256], 65123: [[45], 256], 65124: [[60], 256], 65125: [[62], 256], 65126: [[61], 256], 65128: [[92], 256], 65129: [[36], 256], 65130: [[37], 256], 65131: [[64], 256], 65136: [[32, 1611], 256], 65137: [[1600, 1611], 256], 65138: [[32, 1612], 256], 65140: [[32, 1613], 256], 65142: [[32, 1614], 256], 65143: [[1600, 1614], 256], 65144: [[32, 1615], 256], 65145: [[1600, 1615], 256], 65146: [[32, 1616], 256], 65147: [[1600, 1616], 256], 65148: [[32, 1617], 256], 65149: [[1600, 1617], 256], 65150: [[32, 1618], 256], 65151: [[1600, 1618], 256], 65152: [[1569], 256], 65153: [[1570], 256], 65154: [[1570], 256], 65155: [[1571], 256], 65156: [[1571], 256], 65157: [[1572], 256], 65158: [[1572], 256], 65159: [[1573], 256], 65160: [[1573], 256], 65161: [[1574], 256], 65162: [[1574], 256], 65163: [[1574], 256], 65164: [[1574], 256], 65165: [[1575], 256], 65166: [[1575], 256], 65167: [[1576], 256], 65168: [[1576], 256], 65169: [[1576], 256], 65170: [[1576], 256], 65171: [[1577], 256], 65172: [[1577], 256], 65173: [[1578], 256], 65174: [[1578], 256], 65175: [[1578], 256], 65176: [[1578], 256], 65177: [[1579], 256], 65178: [[1579], 256], 65179: [[1579], 256], 65180: [[1579], 256], 65181: [[1580], 256], 65182: [[1580], 256], 65183: [[1580], 256], 65184: [[1580], 256], 65185: [[1581], 256], 65186: [[1581], 256], 65187: [[1581], 256], 65188: [[1581], 256], 65189: [[1582], 256], 65190: [[1582], 256], 65191: [[1582], 256], 65192: [[1582], 256], 65193: [[1583], 256], 65194: [[1583], 256], 65195: [[1584], 256], 65196: [[1584], 256], 65197: [[1585], 256], 65198: [[1585], 256], 65199: [[1586], 256], 65200: [[1586], 256], 65201: [[1587], 256], 65202: [[1587], 256], 65203: [[1587], 256], 65204: [[1587], 256], 65205: [[1588], 256], 65206: [[1588], 256], 65207: [[1588], 256], 65208: [[1588], 256], 65209: [[1589], 256], 65210: [[1589], 256], 65211: [[1589], 256], 65212: [[1589], 256], 65213: [[1590], 256], 65214: [[1590], 256], 65215: [[1590], 256], 65216: [[1590], 256], 65217: [[1591], 256], 65218: [[1591], 256], 65219: [[1591], 256], 65220: [[1591], 256], 65221: [[1592], 256], 65222: [[1592], 256], 65223: [[1592], 256], 65224: [[1592], 256], 65225: [[1593], 256], 65226: [[1593], 256], 65227: [[1593], 256], 65228: [[1593], 256], 65229: [[1594], 256], 65230: [[1594], 256], 65231: [[1594], 256], 65232: [[1594], 256], 65233: [[1601], 256], 65234: [[1601], 256], 65235: [[1601], 256], 65236: [[1601], 256], 65237: [[1602], 256], 65238: [[1602], 256], 65239: [[1602], 256], 65240: [[1602], 256], 65241: [[1603], 256], 65242: [[1603], 256], 65243: [[1603], 256], 65244: [[1603], 256], 65245: [[1604], 256], 65246: [[1604], 256], 65247: [[1604], 256], 65248: [[1604], 256], 65249: [[1605], 256], 65250: [[1605], 256], 65251: [[1605], 256], 65252: [[1605], 256], 65253: [[1606], 256], 65254: [[1606], 256], 65255: [[1606], 256], 65256: [[1606], 256], 65257: [[1607], 256], 65258: [[1607], 256], 65259: [[1607], 256], 65260: [[1607], 256], 65261: [[1608], 256], 65262: [[1608], 256], 65263: [[1609], 256], 65264: [[1609], 256], 65265: [[1610], 256], 65266: [[1610], 256], 65267: [[1610], 256], 65268: [[1610], 256], 65269: [[1604, 1570], 256], 65270: [[1604, 1570], 256], 65271: [[1604, 1571], 256], 65272: [[1604, 1571], 256], 65273: [[1604, 1573], 256], 65274: [[1604, 1573], 256], 65275: [[1604, 1575], 256], 65276: [[1604, 1575], 256] }, + 65280: { 65281: [[33], 256], 65282: [[34], 256], 65283: [[35], 256], 65284: [[36], 256], 65285: [[37], 256], 65286: [[38], 256], 65287: [[39], 256], 65288: [[40], 256], 65289: [[41], 256], 65290: [[42], 256], 65291: [[43], 256], 65292: [[44], 256], 65293: [[45], 256], 65294: [[46], 256], 65295: [[47], 256], 65296: [[48], 256], 65297: [[49], 256], 65298: [[50], 256], 65299: [[51], 256], 65300: [[52], 256], 65301: [[53], 256], 65302: [[54], 256], 65303: [[55], 256], 65304: [[56], 256], 65305: [[57], 256], 65306: [[58], 256], 65307: [[59], 256], 65308: [[60], 256], 65309: [[61], 256], 65310: [[62], 256], 65311: [[63], 256], 65312: [[64], 256], 65313: [[65], 256], 65314: [[66], 256], 65315: [[67], 256], 65316: [[68], 256], 65317: [[69], 256], 65318: [[70], 256], 65319: [[71], 256], 65320: [[72], 256], 65321: [[73], 256], 65322: [[74], 256], 65323: [[75], 256], 65324: [[76], 256], 65325: [[77], 256], 65326: [[78], 256], 65327: [[79], 256], 65328: [[80], 256], 65329: [[81], 256], 65330: [[82], 256], 65331: [[83], 256], 65332: [[84], 256], 65333: [[85], 256], 65334: [[86], 256], 65335: [[87], 256], 65336: [[88], 256], 65337: [[89], 256], 65338: [[90], 256], 65339: [[91], 256], 65340: [[92], 256], 65341: [[93], 256], 65342: [[94], 256], 65343: [[95], 256], 65344: [[96], 256], 65345: [[97], 256], 65346: [[98], 256], 65347: [[99], 256], 65348: [[100], 256], 65349: [[101], 256], 65350: [[102], 256], 65351: [[103], 256], 65352: [[104], 256], 65353: [[105], 256], 65354: [[106], 256], 65355: [[107], 256], 65356: [[108], 256], 65357: [[109], 256], 65358: [[110], 256], 65359: [[111], 256], 65360: [[112], 256], 65361: [[113], 256], 65362: [[114], 256], 65363: [[115], 256], 65364: [[116], 256], 65365: [[117], 256], 65366: [[118], 256], 65367: [[119], 256], 65368: [[120], 256], 65369: [[121], 256], 65370: [[122], 256], 65371: [[123], 256], 65372: [[124], 256], 65373: [[125], 256], 65374: [[126], 256], 65375: [[10629], 256], 65376: [[10630], 256], 65377: [[12290], 256], 65378: [[12300], 256], 65379: [[12301], 256], 65380: [[12289], 256], 65381: [[12539], 256], 65382: [[12530], 256], 65383: [[12449], 256], 65384: [[12451], 256], 65385: [[12453], 256], 65386: [[12455], 256], 65387: [[12457], 256], 65388: [[12515], 256], 65389: [[12517], 256], 65390: [[12519], 256], 65391: [[12483], 256], 65392: [[12540], 256], 65393: [[12450], 256], 65394: [[12452], 256], 65395: [[12454], 256], 65396: [[12456], 256], 65397: [[12458], 256], 65398: [[12459], 256], 65399: [[12461], 256], 65400: [[12463], 256], 65401: [[12465], 256], 65402: [[12467], 256], 65403: [[12469], 256], 65404: [[12471], 256], 65405: [[12473], 256], 65406: [[12475], 256], 65407: [[12477], 256], 65408: [[12479], 256], 65409: [[12481], 256], 65410: [[12484], 256], 65411: [[12486], 256], 65412: [[12488], 256], 65413: [[12490], 256], 65414: [[12491], 256], 65415: [[12492], 256], 65416: [[12493], 256], 65417: [[12494], 256], 65418: [[12495], 256], 65419: [[12498], 256], 65420: [[12501], 256], 65421: [[12504], 256], 65422: [[12507], 256], 65423: [[12510], 256], 65424: [[12511], 256], 65425: [[12512], 256], 65426: [[12513], 256], 65427: [[12514], 256], 65428: [[12516], 256], 65429: [[12518], 256], 65430: [[12520], 256], 65431: [[12521], 256], 65432: [[12522], 256], 65433: [[12523], 256], 65434: [[12524], 256], 65435: [[12525], 256], 65436: [[12527], 256], 65437: [[12531], 256], 65438: [[12441], 256], 65439: [[12442], 256], 65440: [[12644], 256], 65441: [[12593], 256], 65442: [[12594], 256], 65443: [[12595], 256], 65444: [[12596], 256], 65445: [[12597], 256], 65446: [[12598], 256], 65447: [[12599], 256], 65448: [[12600], 256], 65449: [[12601], 256], 65450: [[12602], 256], 65451: [[12603], 256], 65452: [[12604], 256], 65453: [[12605], 256], 65454: [[12606], 256], 65455: [[12607], 256], 65456: [[12608], 256], 65457: [[12609], 256], 65458: [[12610], 256], 65459: [[12611], 256], 65460: [[12612], 256], 65461: [[12613], 256], 65462: [[12614], 256], 65463: [[12615], 256], 65464: [[12616], 256], 65465: [[12617], 256], 65466: [[12618], 256], 65467: [[12619], 256], 65468: [[12620], 256], 65469: [[12621], 256], 65470: [[12622], 256], 65474: [[12623], 256], 65475: [[12624], 256], 65476: [[12625], 256], 65477: [[12626], 256], 65478: [[12627], 256], 65479: [[12628], 256], 65482: [[12629], 256], 65483: [[12630], 256], 65484: [[12631], 256], 65485: [[12632], 256], 65486: [[12633], 256], 65487: [[12634], 256], 65490: [[12635], 256], 65491: [[12636], 256], 65492: [[12637], 256], 65493: [[12638], 256], 65494: [[12639], 256], 65495: [[12640], 256], 65498: [[12641], 256], 65499: [[12642], 256], 65500: [[12643], 256], 65504: [[162], 256], 65505: [[163], 256], 65506: [[172], 256], 65507: [[175], 256], 65508: [[166], 256], 65509: [[165], 256], 65510: [[8361], 256], 65512: [[9474], 256], 65513: [[8592], 256], 65514: [[8593], 256], 65515: [[8594], 256], 65516: [[8595], 256], 65517: [[9632], 256], 65518: [[9675], 256] } -Encoder.prototype.encode = function (obj, callback) { - debug('encoding packet %j', obj); + }; - if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { - encodeAsBinary(obj, callback); - } else { - var encoding = encodeAsString(obj); - callback([encoding]); - } -}; + /***** Module to export */ + var unorm = { + nfc: nfc, + nfd: nfd, + nfkc: nfkc, + nfkd: nfkd + }; -/** - * Encode packet as string. - * - * @param {Object} packet - * @return {String} encoded - * @api private - */ + /*globals module:true,define:true*/ -function encodeAsString(obj) { + // CommonJS + if ((typeof module === "undefined" ? "undefined" : _typeof(module)) === "object") { + module.exports = unorm; - // first is type - var str = '' + obj.type; + // AMD + } else if (typeof define === "function" && define.amd) { + define("unorm", function () { + return unorm; + }); - // attachments if we have them - if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { - str += obj.attachments + '-'; - } + // Global + } else { + root.unorm = unorm; + } - // if we have a namespace other than `/` - // we append it followed by a comma `,` - if (obj.nsp && '/' !== obj.nsp) { - str += obj.nsp + ','; - } + /***** Export as shim for String::normalize method *****/ + /* + http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#november_8_2013_draft_rev_21 + 21.1.3.12 String.prototype.normalize(form="NFC") + When the normalize method is called with one argument form, the following steps are taken: + 1. Let O be CheckObjectCoercible(this value). + 2. Let S be ToString(O). + 3. ReturnIfAbrupt(S). + 4. If form is not provided or undefined let form be "NFC". + 5. Let f be ToString(form). + 6. ReturnIfAbrupt(f). + 7. If f is not one of "NFC", "NFD", "NFKC", or "NFKD", then throw a RangeError Exception. + 8. Let ns be the String value is the result of normalizing S into the normalization form named by f as specified in Unicode Standard Annex #15, UnicodeNormalizatoin Forms. + 9. Return ns. + The length property of the normalize method is 0. + *NOTE* The normalize function is intentionally generic; it does not require that its this value be a String object. Therefore it can be transferred to other kinds of objects for use as a method. + */ + unorm.shimApplied = false; - // immediately followed by the id - if (null != obj.id) { - str += obj.id; - } + if (!String.prototype.normalize) { + String.prototype.normalize = function (form) { + var str = "" + this; + form = form === undefined ? "NFC" : form; - // json data - if (null != obj.data) { - var payload = tryStringify(obj.data); - if (payload !== false) { - str += payload; - } else { - return ERROR_PACKET; - } - } + if (form === "NFC") { + return unorm.nfc(str); + } else if (form === "NFD") { + return unorm.nfd(str); + } else if (form === "NFKC") { + return unorm.nfkc(str); + } else if (form === "NFKD") { + return unorm.nfkd(str); + } else { + throw new RangeError("Invalid normalization form: " + form); + } + }; - debug('encoded %j as %s', obj, str); - return str; -} + unorm.shimApplied = true; + } +})(undefined); -function tryStringify(str) { - try { - return JSON.stringify(str); - } catch (e) { - return false; - } -} +},{}],769:[function(require,module,exports){ +(function (global){ +'use strict'; -/** - * Encode packet as 'buffer sequence' by removing blobs, and - * deconstructing packet into object with placeholders and - * a list of buffers. - * - * @param {Object} packet - * @return {Buffer} encoded - * @api private - */ +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -function encodeAsBinary(obj, callback) { +/*! https://mths.be/utf8js v2.1.2 by @mathias */ +;(function (root) { - function writeEncoding(bloblessData) { - var deconstruction = binary.deconstructPacket(bloblessData); - var pack = encodeAsString(deconstruction.packet); - var buffers = deconstruction.buffers; + // Detect free variables `exports` + var freeExports = (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) == 'object' && exports; - buffers.unshift(pack); // add packet info to beginning of data list - callback(buffers); // write all the buffers - } + // Detect free variable `module` + var freeModule = (typeof module === 'undefined' ? 'undefined' : _typeof(module)) == 'object' && module && module.exports == freeExports && module; - binary.removeBlobs(obj, writeEncoding); -} + // Detect free variable `global`, from Node.js or Browserified code, + // and use it as `root` + var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global; + if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { + root = freeGlobal; + } -/** - * A socket.io Decoder instance - * - * @return {Object} decoder - * @api public - */ + /*--------------------------------------------------------------------------*/ -function Decoder() { - this.reconstructor = null; -} + var stringFromCharCode = String.fromCharCode; -/** - * Mix in `Emitter` with Decoder. - */ + // Taken from https://mths.be/punycode + function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + var value; + var extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // low surrogate + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } -Emitter(Decoder.prototype); + // Taken from https://mths.be/punycode + function ucs2encode(array) { + var length = array.length; + var index = -1; + var value; + var output = ''; + while (++index < length) { + value = array[index]; + if (value > 0xFFFF) { + value -= 0x10000; + output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); + value = 0xDC00 | value & 0x3FF; + } + output += stringFromCharCode(value); + } + return output; + } -/** - * Decodes an ecoded packet string into packet JSON. - * - * @param {String} obj - encoded packet - * @return {Object} packet - * @api public - */ + function checkScalarValue(codePoint) { + if (codePoint >= 0xD800 && codePoint <= 0xDFFF) { + throw Error('Lone surrogate U+' + codePoint.toString(16).toUpperCase() + ' is not a scalar value'); + } + } + /*--------------------------------------------------------------------------*/ -Decoder.prototype.add = function (obj) { - var packet; - if (typeof obj === 'string') { - packet = decodeString(obj); - if (exports.BINARY_EVENT === packet.type || exports.BINARY_ACK === packet.type) { - // binary packet's json - this.reconstructor = new BinaryReconstructor(packet); + function createByte(codePoint, shift) { + return stringFromCharCode(codePoint >> shift & 0x3F | 0x80); + } - // no attachments, labeled binary but no binary data to follow - if (this.reconstructor.reconPack.attachments === 0) { - this.emit('decoded', packet); - } - } else { - // non-binary full packet - this.emit('decoded', packet); - } - } else if (isBuf(obj) || obj.base64) { - // raw binary data - if (!this.reconstructor) { - throw new Error('got binary data when not reconstructing a packet'); - } else { - packet = this.reconstructor.takeBinaryData(obj); - if (packet) { - // received final buffer - this.reconstructor = null; - this.emit('decoded', packet); - } - } - } else { - throw new Error('Unknown type: ' + obj); - } -}; + function encodeCodePoint(codePoint) { + if ((codePoint & 0xFFFFFF80) == 0) { + // 1-byte sequence + return stringFromCharCode(codePoint); + } + var symbol = ''; + if ((codePoint & 0xFFFFF800) == 0) { + // 2-byte sequence + symbol = stringFromCharCode(codePoint >> 6 & 0x1F | 0xC0); + } else if ((codePoint & 0xFFFF0000) == 0) { + // 3-byte sequence + checkScalarValue(codePoint); + symbol = stringFromCharCode(codePoint >> 12 & 0x0F | 0xE0); + symbol += createByte(codePoint, 6); + } else if ((codePoint & 0xFFE00000) == 0) { + // 4-byte sequence + symbol = stringFromCharCode(codePoint >> 18 & 0x07 | 0xF0); + symbol += createByte(codePoint, 12); + symbol += createByte(codePoint, 6); + } + symbol += stringFromCharCode(codePoint & 0x3F | 0x80); + return symbol; + } -/** - * Decode a packet String (JSON data) - * - * @param {String} str - * @return {Object} packet - * @api private - */ + function utf8encode(string) { + var codePoints = ucs2decode(string); + var length = codePoints.length; + var index = -1; + var codePoint; + var byteString = ''; + while (++index < length) { + codePoint = codePoints[index]; + byteString += encodeCodePoint(codePoint); + } + return byteString; + } -function decodeString(str) { - var i = 0; - // look up type - var p = { - type: Number(str.charAt(0)) - }; + /*--------------------------------------------------------------------------*/ - if (null == exports.types[p.type]) { - return error('unknown packet type ' + p.type); - } + function readContinuationByte() { + if (byteIndex >= byteCount) { + throw Error('Invalid byte index'); + } - // look up attachments if type binary - if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) { - var buf = ''; - while (str.charAt(++i) !== '-') { - buf += str.charAt(i); - if (i == str.length) break; - } - if (buf != Number(buf) || str.charAt(i) !== '-') { - throw new Error('Illegal attachments'); - } - p.attachments = Number(buf); - } + var continuationByte = byteArray[byteIndex] & 0xFF; + byteIndex++; - // look up namespace (if any) - if ('/' === str.charAt(i + 1)) { - p.nsp = ''; - while (++i) { - var c = str.charAt(i); - if (',' === c) break; - p.nsp += c; - if (i === str.length) break; - } - } else { - p.nsp = '/'; - } + if ((continuationByte & 0xC0) == 0x80) { + return continuationByte & 0x3F; + } - // look up id - var next = str.charAt(i + 1); - if ('' !== next && Number(next) == next) { - p.id = ''; - while (++i) { - var c = str.charAt(i); - if (null == c || Number(c) != c) { - --i; - break; - } - p.id += str.charAt(i); - if (i === str.length) break; - } - p.id = Number(p.id); - } + // If we end up here, it’s not a continuation byte + throw Error('Invalid continuation byte'); + } - // look up json data - if (str.charAt(++i)) { - var payload = tryParse(str.substr(i)); - var isPayloadValid = payload !== false && (p.type === exports.ERROR || isArray(payload)); - if (isPayloadValid) { - p.data = payload; - } else { - return error('invalid payload'); - } - } + function decodeSymbol() { + var byte1; + var byte2; + var byte3; + var byte4; + var codePoint; - debug('decoded %s as %j', str, p); - return p; -} + if (byteIndex > byteCount) { + throw Error('Invalid byte index'); + } -function tryParse(str) { - try { - return JSON.parse(str); - } catch (e) { - return false; - } -} + if (byteIndex == byteCount) { + return false; + } -/** - * Deallocates a parser's resources - * - * @api public - */ + // Read first byte + byte1 = byteArray[byteIndex] & 0xFF; + byteIndex++; -Decoder.prototype.destroy = function () { - if (this.reconstructor) { - this.reconstructor.finishedReconstruction(); - } -}; + // 1-byte sequence (no continuation bytes) + if ((byte1 & 0x80) == 0) { + return byte1; + } + + // 2-byte sequence + if ((byte1 & 0xE0) == 0xC0) { + byte2 = readContinuationByte(); + codePoint = (byte1 & 0x1F) << 6 | byte2; + if (codePoint >= 0x80) { + return codePoint; + } else { + throw Error('Invalid continuation byte'); + } + } + + // 3-byte sequence (may include unpaired surrogates) + if ((byte1 & 0xF0) == 0xE0) { + byte2 = readContinuationByte(); + byte3 = readContinuationByte(); + codePoint = (byte1 & 0x0F) << 12 | byte2 << 6 | byte3; + if (codePoint >= 0x0800) { + checkScalarValue(codePoint); + return codePoint; + } else { + throw Error('Invalid continuation byte'); + } + } + + // 4-byte sequence + if ((byte1 & 0xF8) == 0xF0) { + byte2 = readContinuationByte(); + byte3 = readContinuationByte(); + byte4 = readContinuationByte(); + codePoint = (byte1 & 0x07) << 0x12 | byte2 << 0x0C | byte3 << 0x06 | byte4; + if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) { + return codePoint; + } + } + + throw Error('Invalid UTF-8 detected'); + } + + var byteArray; + var byteCount; + var byteIndex; + function utf8decode(byteString) { + byteArray = ucs2decode(byteString); + byteCount = byteArray.length; + byteIndex = 0; + var codePoints = []; + var tmp; + while ((tmp = decodeSymbol()) !== false) { + codePoints.push(tmp); + } + return ucs2encode(codePoints); + } + + /*--------------------------------------------------------------------------*/ + + var utf8 = { + 'version': '2.1.2', + 'encode': utf8encode, + 'decode': utf8decode + }; + + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if (typeof define == 'function' && _typeof(define.amd) == 'object' && define.amd) { + define(function () { + return utf8; + }); + } else if (freeExports && !freeExports.nodeType) { + if (freeModule) { + // in Node.js or RingoJS v0.8.0+ + freeModule.exports = utf8; + } else { + // in Narwhal or RingoJS v0.7.0- + var object = {}; + var hasOwnProperty = object.hasOwnProperty; + for (var key in utf8) { + hasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]); + } + } + } else { + // in Rhino or a web browser + root.utf8 = utf8; + } +})(undefined); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],770:[function(require,module,exports){ +(function (global){ +'use strict'; /** - * A manager of a binary event's 'buffer sequence'. Should - * be constructed whenever a packet of type BINARY_EVENT is - * decoded. - * - * @param {Object} packet - * @return {BinaryReconstructor} initialized reconstructor - * @api private + * Module exports. */ -function BinaryReconstructor(packet) { - this.reconPack = packet; - this.buffers = []; -} +module.exports = deprecate; /** - * Method to be called when binary data received from connection - * after a BINARY_EVENT packet. + * Mark that a method should not be used. + * Returns a modified function which warns once by default. * - * @param {Buffer | ArrayBuffer} binData - the raw binary data received - * @return {null | Object} returns null if more binary data is expected or - * a reconstructed packet object if all buffers have been received. - * @api private + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public */ -BinaryReconstructor.prototype.takeBinaryData = function (binData) { - this.buffers.push(binData); - if (this.buffers.length === this.reconPack.attachments) { - // done with buffer list - var packet = binary.reconstructPacket(this.reconPack, this.buffers); - this.finishedReconstruction(); - return packet; +function deprecate(fn, msg) { + if (config('noDeprecation')) { + return fn; } - return null; -}; + + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +} /** - * Cleans up binary packet reconstruction variables. + * Checks `localStorage` for boolean values for the given `name`. * + * @param {String} name + * @returns {Boolean} * @api private */ -BinaryReconstructor.prototype.finishedReconstruction = function () { - this.reconPack = null; - this.buffers = []; -}; - -function error(msg) { - return { - type: exports.ERROR, - data: 'parser error: ' + msg - }; +function config(name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; } -},{"./binary":758,"./is-buffer":760,"component-emitter":265,"debug":761,"isarray":763}],760:[function(require,module,exports){ -(function (global){ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],771:[function(require,module,exports){ 'use strict'; -module.exports = isBuf; +var v1 = require('./v1'); +var v4 = require('./v4'); -var withNativeBuffer = typeof global.Buffer === 'function' && typeof global.Buffer.isBuffer === 'function'; -var withNativeArrayBuffer = typeof global.ArrayBuffer === 'function'; +var uuid = v4; +uuid.v1 = v1; +uuid.v4 = v4; -var isView = function () { - if (withNativeArrayBuffer && typeof global.ArrayBuffer.isView === 'function') { - return global.ArrayBuffer.isView; - } else { - return function (obj) { - return obj.buffer instanceof global.ArrayBuffer; - }; - } -}(); +module.exports = uuid; + +},{"./v1":774,"./v4":775}],772:[function(require,module,exports){ +'use strict'; /** - * Returns true if obj is a buffer or an arraybuffer. - * - * @api private + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX */ +var byteToHex = []; +for (var i = 0; i < 256; ++i) { + byteToHex[i] = (i + 0x100).toString(16).substr(1); +} -function isBuf(obj) { - return withNativeBuffer && global.Buffer.isBuffer(obj) || withNativeArrayBuffer && (obj instanceof global.ArrayBuffer || isView(obj)); +function bytesToUuid(buf, offset) { + var i = offset || 0; + var bth = byteToHex; + // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 + return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join(''); } -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],761:[function(require,module,exports){ -arguments[4][637][0].apply(exports,arguments) -},{"./debug":762,"_process":704,"dup":637}],762:[function(require,module,exports){ -arguments[4][638][0].apply(exports,arguments) -},{"dup":638,"ms":690}],763:[function(require,module,exports){ -arguments[4][650][0].apply(exports,arguments) -},{"dup":650}],764:[function(require,module,exports){ -'use strict'; +module.exports = bytesToUuid; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. +},{}],773:[function(require,module,exports){ +'use strict'; -module.exports = Stream; +// Unique ID creation requires a high quality random # generator. In the +// browser this is a little complicated due to unknown quality of Math.random() +// and inconsistent support for the `crypto` API. We do the best we can via +// feature-detection -var EE = require('events').EventEmitter; -var inherits = require('inherits'); +// getRandomValues needs to be invoked in a context where "this" is a Crypto +// implementation. Also, find the complete implementation of crypto on IE11. +var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto); -inherits(Stream, EE); -Stream.Readable = require('readable-stream/readable.js'); -Stream.Writable = require('readable-stream/writable.js'); -Stream.Duplex = require('readable-stream/duplex.js'); -Stream.Transform = require('readable-stream/transform.js'); -Stream.PassThrough = require('readable-stream/passthrough.js'); +if (getRandomValues) { + // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto + var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef -// Backwards-compat with node 0.4.x -Stream.Stream = Stream; + module.exports = function whatwgRNG() { + getRandomValues(rnds8); + return rnds8; + }; +} else { + // Math.random()-based (RNG) + // + // If all else fails, use Math.random(). It's fast, but is of unspecified + // quality. + var rnds = new Array(16); -// old-style streams. Note that the pipe method (the only relevant -// part of this class) is overridden in the Readable class. + module.exports = function mathRNG() { + for (var i = 0, r; i < 16; i++) { + if ((i & 0x03) === 0) r = Math.random() * 0x100000000; + rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; + } -function Stream() { - EE.call(this); + return rnds; + }; } -Stream.prototype.pipe = function (dest, options) { - var source = this; +},{}],774:[function(require,module,exports){ +'use strict'; - function ondata(chunk) { - if (dest.writable) { - if (false === dest.write(chunk) && source.pause) { - source.pause(); - } - } - } +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); - source.on('data', ondata); +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html - function ondrain() { - if (source.readable && source.resume) { - source.resume(); +var _nodeId; +var _clockseq; + +// Previous uuid creation time +var _lastMSecs = 0; +var _lastNSecs = 0; + +// See https://github.com/broofa/node-uuid for API details +function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || []; + + options = options || {}; + var node = options.node || _nodeId; + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; + + // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + if (node == null || clockseq == null) { + var seedBytes = rng(); + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; } } - dest.on('drain', ondrain); + // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); - // If the 'end' option is not supplied, dest.end() will be called when - // source gets the 'end' or 'close' events. Only dest.end() once. - if (!dest._isStdio && (!options || options.end !== false)) { - source.on('end', onend); - source.on('close', onclose); - } + // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - var didOnEnd = false; - function onend() { - if (didOnEnd) return; - didOnEnd = true; + // Time since last uuid creation (in msecs) + var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - dest.end(); + // Per 4.2.1.2, Bump clockseq on clock regression + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; } - function onclose() { - if (didOnEnd) return; - didOnEnd = true; - - if (typeof dest.destroy === 'function') dest.destroy(); + // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; } - // don't leave dangling pipes when there are errors. - function onerror(er) { - cleanup(); - if (EE.listenerCount(this, 'error') === 0) { - throw er; // Unhandled stream error in pipe. - } + // Per 4.2.1.2 Throw error if too many uuids are requested + if (nsecs >= 10000) { + throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); } - source.on('error', onerror); - dest.on('error', onerror); + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; - // remove all the event listeners that were added. - function cleanup() { - source.removeListener('data', ondata); - dest.removeListener('drain', ondrain); + // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + msecs += 12219292800000; - source.removeListener('end', onend); - source.removeListener('close', onclose); + // `time_low` + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; - source.removeListener('error', onerror); - dest.removeListener('error', onerror); + // `time_mid` + var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; - source.removeListener('end', cleanup); - source.removeListener('close', cleanup); + // `time_high_and_version` + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + b[i++] = tmh >>> 16 & 0xff; - dest.removeListener('close', cleanup); - } + // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + b[i++] = clockseq >>> 8 | 0x80; - source.on('end', cleanup); - source.on('close', cleanup); + // `clock_seq_low` + b[i++] = clockseq & 0xff; - dest.on('close', cleanup); + // `node` + for (var n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } - dest.emit('pipe', source); + return buf ? buf : bytesToUuid(b); +} - // Allow for unix-like usage: A.pipe(B).pipe(C) - return dest; -}; +module.exports = v1; -},{"events":646,"inherits":671,"readable-stream/duplex.js":713,"readable-stream/passthrough.js":722,"readable-stream/readable.js":723,"readable-stream/transform.js":724,"readable-stream/writable.js":725}],765:[function(require,module,exports){ +},{"./lib/bytesToUuid":772,"./lib/rng":773}],775:[function(require,module,exports){ 'use strict'; -// Generated by CoffeeScript 1.8.0 -(function () { - var ValueError, - create, - explicitToImplicit, - format, - implicitToExplicit, - lookup, - resolve, - __hasProp = {}.hasOwnProperty, - __extends = function __extends(child, parent) { - for (var key in parent) { - if (__hasProp.call(parent, key)) child[key] = parent[key]; - }function ctor() { - this.constructor = child; - }ctor.prototype = parent.prototype;child.prototype = new ctor();child.__super__ = parent.prototype;return child; - }, - __slice = [].slice; +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); - ValueError = function (_super) { - __extends(ValueError, _super); +function v4(options, buf, offset) { + var i = buf && offset || 0; - function ValueError(message) { - this.message = message; + if (typeof options == 'string') { + buf = options === 'binary' ? new Array(16) : null; + options = null; + } + options = options || {}; + + var rnds = options.random || (options.rng || rng)(); + + // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; + + // Copy bytes to buffer, if provided + if (buf) { + for (var ii = 0; ii < 16; ++ii) { + buf[i + ii] = rnds[ii]; } + } - ValueError.prototype.name = 'ValueError'; + return buf || bytesToUuid(rnds); +} - return ValueError; - }(Error); +module.exports = v4; - implicitToExplicit = 'cannot switch from implicit to explicit numbering'; +},{"./lib/bytesToUuid":772,"./lib/rng":773}],776:[function(require,module,exports){ +'use strict'; - explicitToImplicit = 'cannot switch from explicit to implicit numbering'; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - create = function create(transformers) { - if (transformers == null) { - transformers = {}; +var indexOf = require('indexof'); + +var Object_keys = function Object_keys(obj) { + if (Object.keys) return Object.keys(obj);else { + var res = []; + for (var key in obj) { + res.push(key); + }return res; } - return function () { - var args, explicit, idx, implicit, message, template; - template = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; - idx = 0; - explicit = implicit = false; - message = 'cannot switch from {} to {} numbering'; - return template.replace(/([{}])\1|[{](.*?)(?:!(.+?))?[}]/g, function (match, literal, key, transformer) { - var value, _ref, _ref1; - if (literal) { - return literal; - } - if (key.length) { - if (implicit) { - throw new ValueError(implicitToExplicit); - } - explicit = true; - value = (_ref = lookup(args, key)) != null ? _ref : ''; - } else { - if (explicit) { - throw new ValueError(explicitToImplicit); - } - implicit = true; - value = (_ref1 = args[idx++]) != null ? _ref1 : ''; - } - if (Object.prototype.hasOwnProperty.call(transformers, transformer)) { - return transformers[transformer](value); - } else { - return value; - } - }); - }; - }; +}; - lookup = function lookup(object, key) { - var match; - if (!/^(\d+)([.]|$)/.test(key)) { - key = '0.' + key; +var forEach = function forEach(xs, fn) { + if (xs.forEach) return xs.forEach(fn);else for (var i = 0; i < xs.length; i++) { + fn(xs[i], i, xs); } - while (match = /(.+?)[.](.+)/.exec(key)) { - object = resolve(object, match[1]); - key = match[2]; +}; + +var defineProp = function () { + try { + Object.defineProperty({}, '_', {}); + return function (obj, name, value) { + Object.defineProperty(obj, name, { + writable: true, + enumerable: false, + configurable: true, + value: value + }); + }; + } catch (e) { + return function (obj, name, value) { + obj[name] = value; + }; } - return resolve(object, key); - }; +}(); - resolve = function resolve(object, key) { - var value; - value = object[key]; - if (typeof value === 'function') { - return value.call(object); - } else { - return value; +var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function', 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError', 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape']; + +function Context() {} +Context.prototype = {}; + +var Script = exports.Script = function NodeScript(code) { + if (!(this instanceof Script)) return new Script(code); + this.code = code; +}; + +Script.prototype.runInContext = function (context) { + if (!(context instanceof Context)) { + throw new TypeError("needs a 'context' argument."); } - }; - format = create({}); + var iframe = document.createElement('iframe'); + if (!iframe.style) iframe.style = {}; + iframe.style.display = 'none'; - format.create = create; + document.body.appendChild(iframe); - format.extend = function (prototype, transformers) { - var $format; - $format = create(transformers); - prototype.format = function () { - return $format.apply(null, [this].concat(__slice.call(arguments))); - }; - }; + var win = iframe.contentWindow; + var wEval = win.eval, + wExecScript = win.execScript; - if (typeof module !== 'undefined') { - module.exports = format; - } else if (typeof define === 'function' && define.amd) { - define(format); - } else { - window.format = format; - } -}).call(undefined); + if (!wEval && wExecScript) { + // win.eval() magically appears when this is called in IE: + wExecScript.call(win, 'null'); + wEval = win.eval; + } -},{}],766:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. + forEach(Object_keys(context), function (key) { + win[key] = context[key]; + }); + forEach(globals, function (key) { + if (context[key]) { + win[key] = context[key]; + } + }); -'use strict'; + var winKeys = Object_keys(win); -/**/ + var res = wEval.call(win, this.code); -var Buffer = require('safe-buffer').Buffer; -/**/ + forEach(Object_keys(win), function (key) { + // Avoid copying circular objects like `top` and `window` by only + // updating existing context properties or new properties in the `win` + // that was only introduced after the eval. + if (key in context || indexOf(winKeys, key) === -1) { + context[key] = win[key]; + } + }); -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } + forEach(globals, function (key) { + if (!(key in context)) { + defineProp(context, key, win[key]); + } + }); + + document.body.removeChild(iframe); + + return res; }; -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } +Script.prototype.runInThisContext = function () { + return eval(this.code); // maybe... }; -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} +Script.prototype.runInNewContext = function (context) { + var ctx = Script.createContext(context); + var res = this.runInContext(ctx); -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} + forEach(Object_keys(ctx), function (key) { + context[key] = ctx[key]; + }); -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; + return res; }; -StringDecoder.prototype.end = utf8End; +forEach(Object_keys(Script.prototype), function (name) { + exports[name] = Script[name] = function (code) { + var s = Script(code); + return s[name].apply(s, [].slice.call(arguments, 1)); + }; +}); -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; +exports.createScript = function (code) { + return exports.Script(code); +}; -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; +exports.createContext = Script.createContext = function (context) { + var copy = new Context(); + if ((typeof context === 'undefined' ? 'undefined' : _typeof(context)) === 'object') { + forEach(Object_keys(context), function (key) { + copy[key] = context[key]; + }); + } + return copy; }; -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. If an invalid byte is detected, -2 is returned. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return byte >> 6 === 0x02 ? -1 : -2; +},{"indexof":670}],777:[function(require,module,exports){ +'use strict'; + +// Base58 encoding/decoding +// Originally written by Mike Hearn for BitcoinJ +// Copyright (c) 2011 Google Inc +// Ported to JavaScript by Stefan Thomas +// Merged Buffer refactorings from base58-native by Stephen Pair +// Copyright (c) 2013 BitPay Inc + +var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; +var ALPHABET_MAP = {}; +for (var i = 0; i < ALPHABET.length; ++i) { + ALPHABET_MAP[ALPHABET.charAt(i)] = i; } +var BASE = ALPHABET.length; -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} +module.exports = { + decode: function decode(string) { + if (string.length === 0) return []; -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\uFFFD'; - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\uFFFD'; - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\uFFFD'; - } + var i, + j, + bytes = [0]; + for (i = 0; i < string.length; ++i) { + var c = string[i]; + if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character'); + + for (j = 0; j < bytes.length; ++j) { + bytes[j] *= BASE; + }bytes[0] += ALPHABET_MAP[c]; + + var carry = 0; + for (j = 0; j < bytes.length; ++j) { + bytes[j] += carry; + carry = bytes[j] >> 8; + bytes[j] &= 0xff; + } + + while (carry) { + bytes.push(carry & 0xff); + carry >>= 8; + } + } + // deal with leading zeros + for (i = 0; string[i] === '1' && i < string.length - 1; ++i) { + bytes.push(0); + } + + return bytes.reverse(); } - } -} +}; -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} +},{}],778:[function(require,module,exports){ +(function (Buffer){ +'use strict'; -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} +/** + * Credits to https://github.com/cryptocoinjs/blake-hash + */ -// For UTF-8, a replacement character is added when ending on a partial -// character. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\uFFFD'; - return r; -} +Blake256.sigma = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9], [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11], [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10], [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5], [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9]]; -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } +Blake256.u256 = [0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917]; + +Blake256.padding = new Buffer([0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); + +Blake256.prototype._length_carry = function (arr) { + for (var j = 0; j < arr.length; ++j) { + if (arr[j] < 0x0100000000) break; + arr[j] -= 0x0100000000; + arr[j + 1] += 1; } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} +}; -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} +Blake256.prototype.update = function (data, encoding) { + data = new Buffer(data, encoding); + var block = this._block; + var offset = 0; -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} + while (this._blockOffset + data.length - offset >= block.length) { + for (var i = this._blockOffset; i < block.length;) { + block[i++] = data[offset++]; + }this._length[0] += block.length * 8; + this._length_carry(this._length); -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} + this._compress(); + this._blockOffset = 0; + } -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} + while (offset < data.length) { + block[this._blockOffset++] = data[offset++]; + }return this; +}; -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; +var zo = new Buffer([0x01]); +var oo = new Buffer([0x81]); + +function rot(x, n) { + return (x << 32 - n | x >>> n) >>> 0; } -},{"safe-buffer":729}],767:[function(require,module,exports){ -'use strict'; +function g(v, m, i, a, b, c, d, e) { + var sigma = Blake256.sigma; + var u256 = Blake256.u256; -var isHexPrefixed = require('is-hex-prefixed'); + v[a] = v[a] + ((m[sigma[i][e]] ^ u256[sigma[i][e + 1]]) >>> 0) + v[b] >>> 0; + v[d] = rot(v[d] ^ v[a], 16); + v[c] = v[c] + v[d] >>> 0; + v[b] = rot(v[b] ^ v[c], 12); + v[a] = v[a] + ((m[sigma[i][e + 1]] ^ u256[sigma[i][e]]) >>> 0) + v[b] >>> 0; + v[d] = rot(v[d] ^ v[a], 8); + v[c] = v[c] + v[d] >>> 0; + v[b] = rot(v[b] ^ v[c], 7); +} -/** - * Removes '0x' from a given `String` is present - * @param {String} str the string value - * @return {String|Optional} a string by pass if necessary - */ -module.exports = function stripHexPrefix(str) { - if (typeof str !== 'string') { - return str; - } +function Blake256() { + this._h = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19]; - return isHexPrefixed(str) ? str.slice(2) : str; -}; + this._s = [0, 0, 0, 0]; -},{"is-hex-prefixed":673}],768:[function(require,module,exports){ -"use strict"; + this._block = new Buffer(64); + this._blockOffset = 0; + this._length = [0, 0]; -module.exports = toArray; + this._nullt = false; -function toArray(list, index) { - var array = []; + this._zo = zo; + this._oo = oo; +} - index = index || 0; +Blake256.prototype._compress = function () { + var u256 = Blake256.u256; + var v = new Array(16); + var m = new Array(16); + var i; - for (var i = index || 0; i < list.length; i++) { - array[i - index] = list[i]; + for (i = 0; i < 16; ++i) { + m[i] = this._block.readUInt32BE(i * 4); + }for (i = 0; i < 8; ++i) { + v[i] = this._h[i] >>> 0; + }for (i = 8; i < 12; ++i) { + v[i] = (this._s[i - 8] ^ u256[i - 8]) >>> 0; + }for (i = 12; i < 16; ++i) { + v[i] = u256[i - 8]; + }if (!this._nullt) { + v[12] = (v[12] ^ this._length[0]) >>> 0; + v[13] = (v[13] ^ this._length[0]) >>> 0; + v[14] = (v[14] ^ this._length[1]) >>> 0; + v[15] = (v[15] ^ this._length[1]) >>> 0; } - return array; -} + for (i = 0; i < 14; ++i) { + /* column step */ + g(v, m, i, 0, 4, 8, 12, 0); + g(v, m, i, 1, 5, 9, 13, 2); + g(v, m, i, 2, 6, 10, 14, 4); + g(v, m, i, 3, 7, 11, 15, 6); + /* diagonal step */ + g(v, m, i, 0, 5, 10, 15, 8); + g(v, m, i, 1, 6, 11, 12, 10); + g(v, m, i, 2, 7, 8, 13, 12); + g(v, m, i, 3, 4, 9, 14, 14); + } -},{}],769:[function(require,module,exports){ -"use strict"; + for (i = 0; i < 16; ++i) { + this._h[i % 8] = (this._h[i % 8] ^ v[i]) >>> 0; + }for (i = 0; i < 8; ++i) { + this._h[i] = (this._h[i] ^ this._s[i % 4]) >>> 0; + } +}; -module.exports = { 97: { "value": "0061", "name": "LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0041", "lowercase_mapping": "", "titlecase_mapping": "0041", "symbol": "\x61" }, 98: { "value": "0062", "name": "LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0042", "lowercase_mapping": "", "titlecase_mapping": "0042", "symbol": "\x62" }, 99: { "value": "0063", "name": "LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0043", "lowercase_mapping": "", "titlecase_mapping": "0043", "symbol": "\x63" }, 100: { "value": "0064", "name": "LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0044", "lowercase_mapping": "", "titlecase_mapping": "0044", "symbol": "\x64" }, 101: { "value": "0065", "name": "LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0045", "lowercase_mapping": "", "titlecase_mapping": "0045", "symbol": "\x65" }, 102: { "value": "0066", "name": "LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0046", "lowercase_mapping": "", "titlecase_mapping": "0046", "symbol": "\x66" }, 103: { "value": "0067", "name": "LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0047", "lowercase_mapping": "", "titlecase_mapping": "0047", "symbol": "\x67" }, 104: { "value": "0068", "name": "LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0048", "lowercase_mapping": "", "titlecase_mapping": "0048", "symbol": "\x68" }, 105: { "value": "0069", "name": "LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\x69" }, 106: { "value": "006A", "name": "LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004A", "lowercase_mapping": "", "titlecase_mapping": "004A", "symbol": "\x6A" }, 107: { "value": "006B", "name": "LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004B", "lowercase_mapping": "", "titlecase_mapping": "004B", "symbol": "\x6B" }, 108: { "value": "006C", "name": "LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004C", "lowercase_mapping": "", "titlecase_mapping": "004C", "symbol": "\x6C" }, 109: { "value": "006D", "name": "LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004D", "lowercase_mapping": "", "titlecase_mapping": "004D", "symbol": "\x6D" }, 110: { "value": "006E", "name": "LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004E", "lowercase_mapping": "", "titlecase_mapping": "004E", "symbol": "\x6E" }, 111: { "value": "006F", "name": "LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004F", "lowercase_mapping": "", "titlecase_mapping": "004F", "symbol": "\x6F" }, 112: { "value": "0070", "name": "LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0050", "lowercase_mapping": "", "titlecase_mapping": "0050", "symbol": "\x70" }, 113: { "value": "0071", "name": "LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0051", "lowercase_mapping": "", "titlecase_mapping": "0051", "symbol": "\x71" }, 114: { "value": "0072", "name": "LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0052", "lowercase_mapping": "", "titlecase_mapping": "0052", "symbol": "\x72" }, 115: { "value": "0073", "name": "LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\x73" }, 116: { "value": "0074", "name": "LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0054", "lowercase_mapping": "", "titlecase_mapping": "0054", "symbol": "\x74" }, 117: { "value": "0075", "name": "LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0055", "lowercase_mapping": "", "titlecase_mapping": "0055", "symbol": "\x75" }, 118: { "value": "0076", "name": "LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0056", "lowercase_mapping": "", "titlecase_mapping": "0056", "symbol": "\x76" }, 119: { "value": "0077", "name": "LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0057", "lowercase_mapping": "", "titlecase_mapping": "0057", "symbol": "\x77" }, 120: { "value": "0078", "name": "LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0058", "lowercase_mapping": "", "titlecase_mapping": "0058", "symbol": "\x78" }, 121: { "value": "0079", "name": "LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0059", "lowercase_mapping": "", "titlecase_mapping": "0059", "symbol": "\x79" }, 122: { "value": "007A", "name": "LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "005A", "lowercase_mapping": "", "titlecase_mapping": "005A", "symbol": "\x7A" }, 181: { "value": "00B5", "name": "MICRO SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\xB5" }, 223: { "value": "00DF", "name": "LATIN SMALL LETTER SHARP S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\xDF" }, 224: { "value": "00E0", "name": "LATIN SMALL LETTER A WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A GRAVE", "comment": "", "uppercase_mapping": "00C0", "lowercase_mapping": "", "titlecase_mapping": "00C0", "symbol": "\xE0" }, 225: { "value": "00E1", "name": "LATIN SMALL LETTER A WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A ACUTE", "comment": "", "uppercase_mapping": "00C1", "lowercase_mapping": "", "titlecase_mapping": "00C1", "symbol": "\xE1" }, 226: { "value": "00E2", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A CIRCUMFLEX", "comment": "", "uppercase_mapping": "00C2", "lowercase_mapping": "", "titlecase_mapping": "00C2", "symbol": "\xE2" }, 227: { "value": "00E3", "name": "LATIN SMALL LETTER A WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A TILDE", "comment": "", "uppercase_mapping": "00C3", "lowercase_mapping": "", "titlecase_mapping": "00C3", "symbol": "\xE3" }, 228: { "value": "00E4", "name": "LATIN SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS", "comment": "", "uppercase_mapping": "00C4", "lowercase_mapping": "", "titlecase_mapping": "00C4", "symbol": "\xE4" }, 229: { "value": "00E5", "name": "LATIN SMALL LETTER A WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A RING", "comment": "", "uppercase_mapping": "00C5", "lowercase_mapping": "", "titlecase_mapping": "00C5", "symbol": "\xE5" }, 230: { "value": "00E6", "name": "LATIN SMALL LETTER AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E", "comment": "", "uppercase_mapping": "00C6", "lowercase_mapping": "", "titlecase_mapping": "00C6", "symbol": "\xE6" }, 231: { "value": "00E7", "name": "LATIN SMALL LETTER C WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CEDILLA", "comment": "", "uppercase_mapping": "00C7", "lowercase_mapping": "", "titlecase_mapping": "00C7", "symbol": "\xE7" }, 232: { "value": "00E8", "name": "LATIN SMALL LETTER E WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E GRAVE", "comment": "", "uppercase_mapping": "00C8", "lowercase_mapping": "", "titlecase_mapping": "00C8", "symbol": "\xE8" }, 233: { "value": "00E9", "name": "LATIN SMALL LETTER E WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E ACUTE", "comment": "", "uppercase_mapping": "00C9", "lowercase_mapping": "", "titlecase_mapping": "00C9", "symbol": "\xE9" }, 234: { "value": "00EA", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CA", "lowercase_mapping": "", "titlecase_mapping": "00CA", "symbol": "\xEA" }, 235: { "value": "00EB", "name": "LATIN SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DIAERESIS", "comment": "", "uppercase_mapping": "00CB", "lowercase_mapping": "", "titlecase_mapping": "00CB", "symbol": "\xEB" }, 236: { "value": "00EC", "name": "LATIN SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I GRAVE", "comment": "", "uppercase_mapping": "00CC", "lowercase_mapping": "", "titlecase_mapping": "00CC", "symbol": "\xEC" }, 237: { "value": "00ED", "name": "LATIN SMALL LETTER I WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I ACUTE", "comment": "", "uppercase_mapping": "00CD", "lowercase_mapping": "", "titlecase_mapping": "00CD", "symbol": "\xED" }, 238: { "value": "00EE", "name": "LATIN SMALL LETTER I WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CE", "lowercase_mapping": "", "titlecase_mapping": "00CE", "symbol": "\xEE" }, 239: { "value": "00EF", "name": "LATIN SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I DIAERESIS", "comment": "", "uppercase_mapping": "00CF", "lowercase_mapping": "", "titlecase_mapping": "00CF", "symbol": "\xEF" }, 240: { "value": "00F0", "name": "LATIN SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00D0", "lowercase_mapping": "", "titlecase_mapping": "00D0", "symbol": "\xF0" }, 241: { "value": "00F1", "name": "LATIN SMALL LETTER N WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N TILDE", "comment": "", "uppercase_mapping": "00D1", "lowercase_mapping": "", "titlecase_mapping": "00D1", "symbol": "\xF1" }, 242: { "value": "00F2", "name": "LATIN SMALL LETTER O WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O GRAVE", "comment": "", "uppercase_mapping": "00D2", "lowercase_mapping": "", "titlecase_mapping": "00D2", "symbol": "\xF2" }, 243: { "value": "00F3", "name": "LATIN SMALL LETTER O WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O ACUTE", "comment": "", "uppercase_mapping": "00D3", "lowercase_mapping": "", "titlecase_mapping": "00D3", "symbol": "\xF3" }, 244: { "value": "00F4", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O CIRCUMFLEX", "comment": "", "uppercase_mapping": "00D4", "lowercase_mapping": "", "titlecase_mapping": "00D4", "symbol": "\xF4" }, 245: { "value": "00F5", "name": "LATIN SMALL LETTER O WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O TILDE", "comment": "", "uppercase_mapping": "00D5", "lowercase_mapping": "", "titlecase_mapping": "00D5", "symbol": "\xF5" }, 246: { "value": "00F6", "name": "LATIN SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DIAERESIS", "comment": "", "uppercase_mapping": "00D6", "lowercase_mapping": "", "titlecase_mapping": "00D6", "symbol": "\xF6" }, 248: { "value": "00F8", "name": "LATIN SMALL LETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O SLASH", "comment": "", "uppercase_mapping": "00D8", "lowercase_mapping": "", "titlecase_mapping": "00D8", "symbol": "\xF8" }, 249: { "value": "00F9", "name": "LATIN SMALL LETTER U WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U GRAVE", "comment": "", "uppercase_mapping": "00D9", "lowercase_mapping": "", "titlecase_mapping": "00D9", "symbol": "\xF9" }, 250: { "value": "00FA", "name": "LATIN SMALL LETTER U WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U ACUTE", "comment": "", "uppercase_mapping": "00DA", "lowercase_mapping": "", "titlecase_mapping": "00DA", "symbol": "\xFA" }, 251: { "value": "00FB", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U CIRCUMFLEX", "comment": "", "uppercase_mapping": "00DB", "lowercase_mapping": "", "titlecase_mapping": "00DB", "symbol": "\xFB" }, 252: { "value": "00FC", "name": "LATIN SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS", "comment": "", "uppercase_mapping": "00DC", "lowercase_mapping": "", "titlecase_mapping": "00DC", "symbol": "\xFC" }, 253: { "value": "00FD", "name": "LATIN SMALL LETTER Y WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y ACUTE", "comment": "", "uppercase_mapping": "00DD", "lowercase_mapping": "", "titlecase_mapping": "00DD", "symbol": "\xFD" }, 254: { "value": "00FE", "name": "LATIN SMALL LETTER THORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00DE", "lowercase_mapping": "", "titlecase_mapping": "00DE", "symbol": "\xFE" }, 255: { "value": "00FF", "name": "LATIN SMALL LETTER Y WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y DIAERESIS", "comment": "", "uppercase_mapping": "0178", "lowercase_mapping": "", "titlecase_mapping": "0178", "symbol": "\xFF" }, 257: { "value": "0101", "name": "LATIN SMALL LETTER A WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A MACRON", "comment": "", "uppercase_mapping": "0100", "lowercase_mapping": "", "titlecase_mapping": "0100", "symbol": "\u0101" }, 259: { "value": "0103", "name": "LATIN SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A BREVE", "comment": "", "uppercase_mapping": "0102", "lowercase_mapping": "", "titlecase_mapping": "0102", "symbol": "\u0103" }, 261: { "value": "0105", "name": "LATIN SMALL LETTER A WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A OGONEK", "comment": "", "uppercase_mapping": "0104", "lowercase_mapping": "", "titlecase_mapping": "0104", "symbol": "\u0105" }, 263: { "value": "0107", "name": "LATIN SMALL LETTER C WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C ACUTE", "comment": "", "uppercase_mapping": "0106", "lowercase_mapping": "", "titlecase_mapping": "0106", "symbol": "\u0107" }, 265: { "value": "0109", "name": "LATIN SMALL LETTER C WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CIRCUMFLEX", "comment": "", "uppercase_mapping": "0108", "lowercase_mapping": "", "titlecase_mapping": "0108", "symbol": "\u0109" }, 267: { "value": "010B", "name": "LATIN SMALL LETTER C WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C DOT", "comment": "", "uppercase_mapping": "010A", "lowercase_mapping": "", "titlecase_mapping": "010A", "symbol": "\u010B" }, 269: { "value": "010D", "name": "LATIN SMALL LETTER C WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HACEK", "comment": "", "uppercase_mapping": "010C", "lowercase_mapping": "", "titlecase_mapping": "010C", "symbol": "\u010D" }, 271: { "value": "010F", "name": "LATIN SMALL LETTER D WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HACEK", "comment": "", "uppercase_mapping": "010E", "lowercase_mapping": "", "titlecase_mapping": "010E", "symbol": "\u010F" }, 273: { "value": "0111", "name": "LATIN SMALL LETTER D WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D BAR", "comment": "", "uppercase_mapping": "0110", "lowercase_mapping": "", "titlecase_mapping": "0110", "symbol": "\u0111" }, 275: { "value": "0113", "name": "LATIN SMALL LETTER E WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E MACRON", "comment": "", "uppercase_mapping": "0112", "lowercase_mapping": "", "titlecase_mapping": "0112", "symbol": "\u0113" }, 277: { "value": "0115", "name": "LATIN SMALL LETTER E WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E BREVE", "comment": "", "uppercase_mapping": "0114", "lowercase_mapping": "", "titlecase_mapping": "0114", "symbol": "\u0115" }, 279: { "value": "0117", "name": "LATIN SMALL LETTER E WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DOT", "comment": "", "uppercase_mapping": "0116", "lowercase_mapping": "", "titlecase_mapping": "0116", "symbol": "\u0117" }, 281: { "value": "0119", "name": "LATIN SMALL LETTER E WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E OGONEK", "comment": "", "uppercase_mapping": "0118", "lowercase_mapping": "", "titlecase_mapping": "0118", "symbol": "\u0119" }, 283: { "value": "011B", "name": "LATIN SMALL LETTER E WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E HACEK", "comment": "", "uppercase_mapping": "011A", "lowercase_mapping": "", "titlecase_mapping": "011A", "symbol": "\u011B" }, 285: { "value": "011D", "name": "LATIN SMALL LETTER G WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CIRCUMFLEX", "comment": "", "uppercase_mapping": "011C", "lowercase_mapping": "", "titlecase_mapping": "011C", "symbol": "\u011D" }, 287: { "value": "011F", "name": "LATIN SMALL LETTER G WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BREVE", "comment": "", "uppercase_mapping": "011E", "lowercase_mapping": "", "titlecase_mapping": "011E", "symbol": "\u011F" }, 289: { "value": "0121", "name": "LATIN SMALL LETTER G WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G DOT", "comment": "", "uppercase_mapping": "0120", "lowercase_mapping": "", "titlecase_mapping": "0120", "symbol": "\u0121" }, 291: { "value": "0123", "name": "LATIN SMALL LETTER G WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CEDILLA", "comment": "", "uppercase_mapping": "0122", "lowercase_mapping": "", "titlecase_mapping": "0122", "symbol": "\u0123" }, 293: { "value": "0125", "name": "LATIN SMALL LETTER H WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H CIRCUMFLEX", "comment": "", "uppercase_mapping": "0124", "lowercase_mapping": "", "titlecase_mapping": "0124", "symbol": "\u0125" }, 295: { "value": "0127", "name": "LATIN SMALL LETTER H WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H BAR", "comment": "", "uppercase_mapping": "0126", "lowercase_mapping": "", "titlecase_mapping": "0126", "symbol": "\u0127" }, 297: { "value": "0129", "name": "LATIN SMALL LETTER I WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I TILDE", "comment": "", "uppercase_mapping": "0128", "lowercase_mapping": "", "titlecase_mapping": "0128", "symbol": "\u0129" }, 299: { "value": "012B", "name": "LATIN SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I MACRON", "comment": "", "uppercase_mapping": "012A", "lowercase_mapping": "", "titlecase_mapping": "012A", "symbol": "\u012B" }, 301: { "value": "012D", "name": "LATIN SMALL LETTER I WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I BREVE", "comment": "", "uppercase_mapping": "012C", "lowercase_mapping": "", "titlecase_mapping": "012C", "symbol": "\u012D" }, 303: { "value": "012F", "name": "LATIN SMALL LETTER I WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I OGONEK", "comment": "", "uppercase_mapping": "012E", "lowercase_mapping": "", "titlecase_mapping": "012E", "symbol": "\u012F" }, 305: { "value": "0131", "name": "LATIN SMALL LETTER DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\u0131" }, 307: { "value": "0133", "name": "LATIN SMALL LIGATURE IJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I J", "comment": "", "uppercase_mapping": "0132", "lowercase_mapping": "", "titlecase_mapping": "0132", "symbol": "\u0133" }, 309: { "value": "0135", "name": "LATIN SMALL LETTER J WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J CIRCUMFLEX", "comment": "", "uppercase_mapping": "0134", "lowercase_mapping": "", "titlecase_mapping": "0134", "symbol": "\u0135" }, 311: { "value": "0137", "name": "LATIN SMALL LETTER K WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K CEDILLA", "comment": "", "uppercase_mapping": "0136", "lowercase_mapping": "", "titlecase_mapping": "0136", "symbol": "\u0137" }, 312: { "value": "0138", "name": "LATIN SMALL LETTER KRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0138" }, 314: { "value": "013A", "name": "LATIN SMALL LETTER L WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L ACUTE", "comment": "", "uppercase_mapping": "0139", "lowercase_mapping": "", "titlecase_mapping": "0139", "symbol": "\u013A" }, 316: { "value": "013C", "name": "LATIN SMALL LETTER L WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L CEDILLA", "comment": "", "uppercase_mapping": "013B", "lowercase_mapping": "", "titlecase_mapping": "013B", "symbol": "\u013C" }, 318: { "value": "013E", "name": "LATIN SMALL LETTER L WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L HACEK", "comment": "", "uppercase_mapping": "013D", "lowercase_mapping": "", "titlecase_mapping": "013D", "symbol": "\u013E" }, 320: { "value": "0140", "name": "LATIN SMALL LETTER L WITH MIDDLE DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 00B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "013F", "lowercase_mapping": "", "titlecase_mapping": "013F", "symbol": "\u0140" }, 322: { "value": "0142", "name": "LATIN SMALL LETTER L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L SLASH", "comment": "", "uppercase_mapping": "0141", "lowercase_mapping": "", "titlecase_mapping": "0141", "symbol": "\u0142" }, 324: { "value": "0144", "name": "LATIN SMALL LETTER N WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N ACUTE", "comment": "", "uppercase_mapping": "0143", "lowercase_mapping": "", "titlecase_mapping": "0143", "symbol": "\u0144" }, 326: { "value": "0146", "name": "LATIN SMALL LETTER N WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N CEDILLA", "comment": "", "uppercase_mapping": "0145", "lowercase_mapping": "", "titlecase_mapping": "0145", "symbol": "\u0146" }, 328: { "value": "0148", "name": "LATIN SMALL LETTER N WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HACEK", "comment": "", "uppercase_mapping": "0147", "lowercase_mapping": "", "titlecase_mapping": "0147", "symbol": "\u0148" }, 329: { "value": "0149", "name": "LATIN SMALL LETTER N PRECEDED BY APOSTROPHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 02BC 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER APOSTROPHE N", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0149" }, 331: { "value": "014B", "name": "LATIN SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "014A", "lowercase_mapping": "", "titlecase_mapping": "014A", "symbol": "\u014B" }, 333: { "value": "014D", "name": "LATIN SMALL LETTER O WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O MACRON", "comment": "", "uppercase_mapping": "014C", "lowercase_mapping": "", "titlecase_mapping": "014C", "symbol": "\u014D" }, 335: { "value": "014F", "name": "LATIN SMALL LETTER O WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O BREVE", "comment": "", "uppercase_mapping": "014E", "lowercase_mapping": "", "titlecase_mapping": "014E", "symbol": "\u014F" }, 337: { "value": "0151", "name": "LATIN SMALL LETTER O WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0150", "lowercase_mapping": "", "titlecase_mapping": "0150", "symbol": "\u0151" }, 339: { "value": "0153", "name": "LATIN SMALL LIGATURE OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O E", "comment": "", "uppercase_mapping": "0152", "lowercase_mapping": "", "titlecase_mapping": "0152", "symbol": "\u0153" }, 341: { "value": "0155", "name": "LATIN SMALL LETTER R WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R ACUTE", "comment": "", "uppercase_mapping": "0154", "lowercase_mapping": "", "titlecase_mapping": "0154", "symbol": "\u0155" }, 343: { "value": "0157", "name": "LATIN SMALL LETTER R WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R CEDILLA", "comment": "", "uppercase_mapping": "0156", "lowercase_mapping": "", "titlecase_mapping": "0156", "symbol": "\u0157" }, 345: { "value": "0159", "name": "LATIN SMALL LETTER R WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HACEK", "comment": "", "uppercase_mapping": "0158", "lowercase_mapping": "", "titlecase_mapping": "0158", "symbol": "\u0159" }, 347: { "value": "015B", "name": "LATIN SMALL LETTER S WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S ACUTE", "comment": "", "uppercase_mapping": "015A", "lowercase_mapping": "", "titlecase_mapping": "015A", "symbol": "\u015B" }, 349: { "value": "015D", "name": "LATIN SMALL LETTER S WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CIRCUMFLEX", "comment": "", "uppercase_mapping": "015C", "lowercase_mapping": "", "titlecase_mapping": "015C", "symbol": "\u015D" }, 351: { "value": "015F", "name": "LATIN SMALL LETTER S WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CEDILLA", "comment": "", "uppercase_mapping": "015E", "lowercase_mapping": "", "titlecase_mapping": "015E", "symbol": "\u015F" }, 353: { "value": "0161", "name": "LATIN SMALL LETTER S WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HACEK", "comment": "", "uppercase_mapping": "0160", "lowercase_mapping": "", "titlecase_mapping": "0160", "symbol": "\u0161" }, 355: { "value": "0163", "name": "LATIN SMALL LETTER T WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T CEDILLA", "comment": "", "uppercase_mapping": "0162", "lowercase_mapping": "", "titlecase_mapping": "0162", "symbol": "\u0163" }, 357: { "value": "0165", "name": "LATIN SMALL LETTER T WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HACEK", "comment": "", "uppercase_mapping": "0164", "lowercase_mapping": "", "titlecase_mapping": "0164", "symbol": "\u0165" }, 359: { "value": "0167", "name": "LATIN SMALL LETTER T WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T BAR", "comment": "", "uppercase_mapping": "0166", "lowercase_mapping": "", "titlecase_mapping": "0166", "symbol": "\u0167" }, 361: { "value": "0169", "name": "LATIN SMALL LETTER U WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U TILDE", "comment": "", "uppercase_mapping": "0168", "lowercase_mapping": "", "titlecase_mapping": "0168", "symbol": "\u0169" }, 363: { "value": "016B", "name": "LATIN SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U MACRON", "comment": "", "uppercase_mapping": "016A", "lowercase_mapping": "", "titlecase_mapping": "016A", "symbol": "\u016B" }, 365: { "value": "016D", "name": "LATIN SMALL LETTER U WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U BREVE", "comment": "", "uppercase_mapping": "016C", "lowercase_mapping": "", "titlecase_mapping": "016C", "symbol": "\u016D" }, 367: { "value": "016F", "name": "LATIN SMALL LETTER U WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U RING", "comment": "", "uppercase_mapping": "016E", "lowercase_mapping": "", "titlecase_mapping": "016E", "symbol": "\u016F" }, 369: { "value": "0171", "name": "LATIN SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0170", "lowercase_mapping": "", "titlecase_mapping": "0170", "symbol": "\u0171" }, 371: { "value": "0173", "name": "LATIN SMALL LETTER U WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U OGONEK", "comment": "", "uppercase_mapping": "0172", "lowercase_mapping": "", "titlecase_mapping": "0172", "symbol": "\u0173" }, 373: { "value": "0175", "name": "LATIN SMALL LETTER W WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER W CIRCUMFLEX", "comment": "", "uppercase_mapping": "0174", "lowercase_mapping": "", "titlecase_mapping": "0174", "symbol": "\u0175" }, 375: { "value": "0177", "name": "LATIN SMALL LETTER Y WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y CIRCUMFLEX", "comment": "", "uppercase_mapping": "0176", "lowercase_mapping": "", "titlecase_mapping": "0176", "symbol": "\u0177" }, 378: { "value": "017A", "name": "LATIN SMALL LETTER Z WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z ACUTE", "comment": "", "uppercase_mapping": "0179", "lowercase_mapping": "", "titlecase_mapping": "0179", "symbol": "\u017A" }, 380: { "value": "017C", "name": "LATIN SMALL LETTER Z WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z DOT", "comment": "", "uppercase_mapping": "017B", "lowercase_mapping": "", "titlecase_mapping": "017B", "symbol": "\u017C" }, 382: { "value": "017E", "name": "LATIN SMALL LETTER Z WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z HACEK", "comment": "", "uppercase_mapping": "017D", "lowercase_mapping": "", "titlecase_mapping": "017D", "symbol": "\u017E" }, 383: { "value": "017F", "name": "LATIN SMALL LETTER LONG S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\u017F" }, 384: { "value": "0180", "name": "LATIN SMALL LETTER B WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B BAR", "comment": "", "uppercase_mapping": "0243", "lowercase_mapping": "", "titlecase_mapping": "0243", "symbol": "\u0180" }, 387: { "value": "0183", "name": "LATIN SMALL LETTER B WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B TOPBAR", "comment": "", "uppercase_mapping": "0182", "lowercase_mapping": "", "titlecase_mapping": "0182", "symbol": "\u0183" }, 389: { "value": "0185", "name": "LATIN SMALL LETTER TONE SIX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0184", "lowercase_mapping": "", "titlecase_mapping": "0184", "symbol": "\u0185" }, 392: { "value": "0188", "name": "LATIN SMALL LETTER C WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HOOK", "comment": "", "uppercase_mapping": "0187", "lowercase_mapping": "", "titlecase_mapping": "0187", "symbol": "\u0188" }, 396: { "value": "018C", "name": "LATIN SMALL LETTER D WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D TOPBAR", "comment": "", "uppercase_mapping": "018B", "lowercase_mapping": "", "titlecase_mapping": "018B", "symbol": "\u018C" }, 397: { "value": "018D", "name": "LATIN SMALL LETTER TURNED DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u018D" }, 402: { "value": "0192", "name": "LATIN SMALL LETTER F WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT F", "comment": "", "uppercase_mapping": "0191", "lowercase_mapping": "", "titlecase_mapping": "0191", "symbol": "\u0192" }, 405: { "value": "0195", "name": "LATIN SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H V", "comment": "", "uppercase_mapping": "01F6", "lowercase_mapping": "", "titlecase_mapping": "01F6", "symbol": "\u0195" }, 409: { "value": "0199", "name": "LATIN SMALL LETTER K WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HOOK", "comment": "", "uppercase_mapping": "0198", "lowercase_mapping": "", "titlecase_mapping": "0198", "symbol": "\u0199" }, 410: { "value": "019A", "name": "LATIN SMALL LETTER L WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED L", "comment": "", "uppercase_mapping": "023D", "lowercase_mapping": "", "titlecase_mapping": "023D", "symbol": "\u019A" }, 411: { "value": "019B", "name": "LATIN SMALL LETTER LAMBDA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED LAMBDA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u019B" }, 414: { "value": "019E", "name": "LATIN SMALL LETTER N WITH LONG RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0220", "lowercase_mapping": "", "titlecase_mapping": "0220", "symbol": "\u019E" }, 417: { "value": "01A1", "name": "LATIN SMALL LETTER O WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HORN", "comment": "", "uppercase_mapping": "01A0", "lowercase_mapping": "", "titlecase_mapping": "01A0", "symbol": "\u01A1" }, 419: { "value": "01A3", "name": "LATIN SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O I", "comment": "", "uppercase_mapping": "01A2", "lowercase_mapping": "", "titlecase_mapping": "01A2", "symbol": "\u01A3" }, 421: { "value": "01A5", "name": "LATIN SMALL LETTER P WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER P HOOK", "comment": "", "uppercase_mapping": "01A4", "lowercase_mapping": "", "titlecase_mapping": "01A4", "symbol": "\u01A5" }, 424: { "value": "01A8", "name": "LATIN SMALL LETTER TONE TWO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A7", "lowercase_mapping": "", "titlecase_mapping": "01A7", "symbol": "\u01A8" }, 426: { "value": "01AA", "name": "LATIN LETTER REVERSED ESH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AA" }, 427: { "value": "01AB", "name": "LATIN SMALL LETTER T WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T PALATAL HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AB" }, 429: { "value": "01AD", "name": "LATIN SMALL LETTER T WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HOOK", "comment": "", "uppercase_mapping": "01AC", "lowercase_mapping": "", "titlecase_mapping": "01AC", "symbol": "\u01AD" }, 432: { "value": "01B0", "name": "LATIN SMALL LETTER U WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HORN", "comment": "", "uppercase_mapping": "01AF", "lowercase_mapping": "", "titlecase_mapping": "01AF", "symbol": "\u01B0" }, 436: { "value": "01B4", "name": "LATIN SMALL LETTER Y WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y HOOK", "comment": "", "uppercase_mapping": "01B3", "lowercase_mapping": "", "titlecase_mapping": "01B3", "symbol": "\u01B4" }, 438: { "value": "01B6", "name": "LATIN SMALL LETTER Z WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z BAR", "comment": "", "uppercase_mapping": "01B5", "lowercase_mapping": "", "titlecase_mapping": "01B5", "symbol": "\u01B6" }, 441: { "value": "01B9", "name": "LATIN SMALL LETTER EZH REVERSED", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED YOGH", "comment": "", "uppercase_mapping": "01B8", "lowercase_mapping": "", "titlecase_mapping": "01B8", "symbol": "\u01B9" }, 442: { "value": "01BA", "name": "LATIN SMALL LETTER EZH WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH WITH TAIL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BA" }, 445: { "value": "01BD", "name": "LATIN SMALL LETTER TONE FIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01BC", "lowercase_mapping": "", "titlecase_mapping": "01BC", "symbol": "\u01BD" }, 446: { "value": "01BE", "name": "LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER INVERTED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BE" }, 447: { "value": "01BF", "name": "LATIN LETTER WYNN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F7", "lowercase_mapping": "", "titlecase_mapping": "01F7", "symbol": "\u01BF" }, 454: { "value": "01C6", "name": "LATIN SMALL LETTER DZ WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 017E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z HACEK", "comment": "", "uppercase_mapping": "01C4", "lowercase_mapping": "", "titlecase_mapping": "01C5", "symbol": "\u01C6" }, 457: { "value": "01C9", "name": "LATIN SMALL LETTER LJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L J", "comment": "", "uppercase_mapping": "01C7", "lowercase_mapping": "", "titlecase_mapping": "01C8", "symbol": "\u01C9" }, 460: { "value": "01CC", "name": "LATIN SMALL LETTER NJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N J", "comment": "", "uppercase_mapping": "01CA", "lowercase_mapping": "", "titlecase_mapping": "01CB", "symbol": "\u01CC" }, 462: { "value": "01CE", "name": "LATIN SMALL LETTER A WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A HACEK", "comment": "", "uppercase_mapping": "01CD", "lowercase_mapping": "", "titlecase_mapping": "01CD", "symbol": "\u01CE" }, 464: { "value": "01D0", "name": "LATIN SMALL LETTER I WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I HACEK", "comment": "", "uppercase_mapping": "01CF", "lowercase_mapping": "", "titlecase_mapping": "01CF", "symbol": "\u01D0" }, 466: { "value": "01D2", "name": "LATIN SMALL LETTER O WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HACEK", "comment": "", "uppercase_mapping": "01D1", "lowercase_mapping": "", "titlecase_mapping": "01D1", "symbol": "\u01D2" }, 468: { "value": "01D4", "name": "LATIN SMALL LETTER U WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HACEK", "comment": "", "uppercase_mapping": "01D3", "lowercase_mapping": "", "titlecase_mapping": "01D3", "symbol": "\u01D4" }, 470: { "value": "01D6", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01D5", "lowercase_mapping": "", "titlecase_mapping": "01D5", "symbol": "\u01D6" }, 472: { "value": "01D8", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS ACUTE", "comment": "", "uppercase_mapping": "01D7", "lowercase_mapping": "", "titlecase_mapping": "01D7", "symbol": "\u01D8" }, 474: { "value": "01DA", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS HACEK", "comment": "", "uppercase_mapping": "01D9", "lowercase_mapping": "", "titlecase_mapping": "01D9", "symbol": "\u01DA" }, 476: { "value": "01DC", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS GRAVE", "comment": "", "uppercase_mapping": "01DB", "lowercase_mapping": "", "titlecase_mapping": "01DB", "symbol": "\u01DC" }, 477: { "value": "01DD", "name": "LATIN SMALL LETTER TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018E", "lowercase_mapping": "", "titlecase_mapping": "018E", "symbol": "\u01DD" }, 479: { "value": "01DF", "name": "LATIN SMALL LETTER A WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E4 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01DE", "lowercase_mapping": "", "titlecase_mapping": "01DE", "symbol": "\u01DF" }, 481: { "value": "01E1", "name": "LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0227 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DOT MACRON", "comment": "", "uppercase_mapping": "01E0", "lowercase_mapping": "", "titlecase_mapping": "01E0", "symbol": "\u01E1" }, 483: { "value": "01E3", "name": "LATIN SMALL LETTER AE WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E MACRON", "comment": "", "uppercase_mapping": "01E2", "lowercase_mapping": "", "titlecase_mapping": "01E2", "symbol": "\u01E3" }, 485: { "value": "01E5", "name": "LATIN SMALL LETTER G WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BAR", "comment": "", "uppercase_mapping": "01E4", "lowercase_mapping": "", "titlecase_mapping": "01E4", "symbol": "\u01E5" }, 487: { "value": "01E7", "name": "LATIN SMALL LETTER G WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HACEK", "comment": "", "uppercase_mapping": "01E6", "lowercase_mapping": "", "titlecase_mapping": "01E6", "symbol": "\u01E7" }, 489: { "value": "01E9", "name": "LATIN SMALL LETTER K WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HACEK", "comment": "", "uppercase_mapping": "01E8", "lowercase_mapping": "", "titlecase_mapping": "01E8", "symbol": "\u01E9" }, 491: { "value": "01EB", "name": "LATIN SMALL LETTER O WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK", "comment": "", "uppercase_mapping": "01EA", "lowercase_mapping": "", "titlecase_mapping": "01EA", "symbol": "\u01EB" }, 493: { "value": "01ED", "name": "LATIN SMALL LETTER O WITH OGONEK AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01EB 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK MACRON", "comment": "", "uppercase_mapping": "01EC", "lowercase_mapping": "", "titlecase_mapping": "01EC", "symbol": "\u01ED" }, 495: { "value": "01EF", "name": "LATIN SMALL LETTER EZH WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0292 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH HACEK", "comment": "", "uppercase_mapping": "01EE", "lowercase_mapping": "", "titlecase_mapping": "01EE", "symbol": "\u01EF" }, 496: { "value": "01F0", "name": "LATIN SMALL LETTER J WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J HACEK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01F0" }, 499: { "value": "01F3", "name": "LATIN SMALL LETTER DZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F1", "lowercase_mapping": "", "titlecase_mapping": "01F2", "symbol": "\u01F3" }, 501: { "value": "01F5", "name": "LATIN SMALL LETTER G WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F4", "lowercase_mapping": "", "titlecase_mapping": "01F4", "symbol": "\u01F5" }, 505: { "value": "01F9", "name": "LATIN SMALL LETTER N WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F8", "lowercase_mapping": "", "titlecase_mapping": "01F8", "symbol": "\u01F9" }, 507: { "value": "01FB", "name": "LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FA", "lowercase_mapping": "", "titlecase_mapping": "01FA", "symbol": "\u01FB" }, 509: { "value": "01FD", "name": "LATIN SMALL LETTER AE WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FC", "lowercase_mapping": "", "titlecase_mapping": "01FC", "symbol": "\u01FD" }, 511: { "value": "01FF", "name": "LATIN SMALL LETTER O WITH STROKE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F8 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FE", "lowercase_mapping": "", "titlecase_mapping": "01FE", "symbol": "\u01FF" }, 513: { "value": "0201", "name": "LATIN SMALL LETTER A WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0200", "lowercase_mapping": "", "titlecase_mapping": "0200", "symbol": "\u0201" }, 515: { "value": "0203", "name": "LATIN SMALL LETTER A WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0202", "lowercase_mapping": "", "titlecase_mapping": "0202", "symbol": "\u0203" }, 517: { "value": "0205", "name": "LATIN SMALL LETTER E WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0204", "lowercase_mapping": "", "titlecase_mapping": "0204", "symbol": "\u0205" }, 519: { "value": "0207", "name": "LATIN SMALL LETTER E WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0206", "lowercase_mapping": "", "titlecase_mapping": "0206", "symbol": "\u0207" }, 521: { "value": "0209", "name": "LATIN SMALL LETTER I WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0208", "lowercase_mapping": "", "titlecase_mapping": "0208", "symbol": "\u0209" }, 523: { "value": "020B", "name": "LATIN SMALL LETTER I WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020A", "lowercase_mapping": "", "titlecase_mapping": "020A", "symbol": "\u020B" }, 525: { "value": "020D", "name": "LATIN SMALL LETTER O WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020C", "lowercase_mapping": "", "titlecase_mapping": "020C", "symbol": "\u020D" }, 527: { "value": "020F", "name": "LATIN SMALL LETTER O WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020E", "lowercase_mapping": "", "titlecase_mapping": "020E", "symbol": "\u020F" }, 529: { "value": "0211", "name": "LATIN SMALL LETTER R WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0210", "lowercase_mapping": "", "titlecase_mapping": "0210", "symbol": "\u0211" }, 531: { "value": "0213", "name": "LATIN SMALL LETTER R WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0212", "lowercase_mapping": "", "titlecase_mapping": "0212", "symbol": "\u0213" }, 533: { "value": "0215", "name": "LATIN SMALL LETTER U WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0214", "lowercase_mapping": "", "titlecase_mapping": "0214", "symbol": "\u0215" }, 535: { "value": "0217", "name": "LATIN SMALL LETTER U WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0216", "lowercase_mapping": "", "titlecase_mapping": "0216", "symbol": "\u0217" }, 537: { "value": "0219", "name": "LATIN SMALL LETTER S WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0218", "lowercase_mapping": "", "titlecase_mapping": "0218", "symbol": "\u0219" }, 539: { "value": "021B", "name": "LATIN SMALL LETTER T WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021A", "lowercase_mapping": "", "titlecase_mapping": "021A", "symbol": "\u021B" }, 541: { "value": "021D", "name": "LATIN SMALL LETTER YOGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021C", "lowercase_mapping": "", "titlecase_mapping": "021C", "symbol": "\u021D" }, 543: { "value": "021F", "name": "LATIN SMALL LETTER H WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021E", "lowercase_mapping": "", "titlecase_mapping": "021E", "symbol": "\u021F" }, 545: { "value": "0221", "name": "LATIN SMALL LETTER D WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0221" }, 547: { "value": "0223", "name": "LATIN SMALL LETTER OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0222", "lowercase_mapping": "", "titlecase_mapping": "0222", "symbol": "\u0223" }, 549: { "value": "0225", "name": "LATIN SMALL LETTER Z WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0224", "lowercase_mapping": "", "titlecase_mapping": "0224", "symbol": "\u0225" }, 551: { "value": "0227", "name": "LATIN SMALL LETTER A WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0226", "lowercase_mapping": "", "titlecase_mapping": "0226", "symbol": "\u0227" }, 553: { "value": "0229", "name": "LATIN SMALL LETTER E WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0228", "lowercase_mapping": "", "titlecase_mapping": "0228", "symbol": "\u0229" }, 555: { "value": "022B", "name": "LATIN SMALL LETTER O WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022A", "lowercase_mapping": "", "titlecase_mapping": "022A", "symbol": "\u022B" }, 557: { "value": "022D", "name": "LATIN SMALL LETTER O WITH TILDE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022C", "lowercase_mapping": "", "titlecase_mapping": "022C", "symbol": "\u022D" }, 559: { "value": "022F", "name": "LATIN SMALL LETTER O WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022E", "lowercase_mapping": "", "titlecase_mapping": "022E", "symbol": "\u022F" }, 561: { "value": "0231", "name": "LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "022F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0230", "lowercase_mapping": "", "titlecase_mapping": "0230", "symbol": "\u0231" }, 563: { "value": "0233", "name": "LATIN SMALL LETTER Y WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0232", "lowercase_mapping": "", "titlecase_mapping": "0232", "symbol": "\u0233" }, 564: { "value": "0234", "name": "LATIN SMALL LETTER L WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0234" }, 565: { "value": "0235", "name": "LATIN SMALL LETTER N WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0235" }, 566: { "value": "0236", "name": "LATIN SMALL LETTER T WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0236" }, 567: { "value": "0237", "name": "LATIN SMALL LETTER DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0237" }, 568: { "value": "0238", "name": "LATIN SMALL LETTER DB DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0238" }, 569: { "value": "0239", "name": "LATIN SMALL LETTER QP DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0239" }, 572: { "value": "023C", "name": "LATIN SMALL LETTER C WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023B", "lowercase_mapping": "", "titlecase_mapping": "023B", "symbol": "\u023C" }, 575: { "value": "023F", "name": "LATIN SMALL LETTER S WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7E", "lowercase_mapping": "", "titlecase_mapping": "2C7E", "symbol": "\u023F" }, 576: { "value": "0240", "name": "LATIN SMALL LETTER Z WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7F", "lowercase_mapping": "", "titlecase_mapping": "2C7F", "symbol": "\u0240" }, 578: { "value": "0242", "name": "LATIN SMALL LETTER GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0241", "lowercase_mapping": "", "titlecase_mapping": "0241", "symbol": "\u0242" }, 583: { "value": "0247", "name": "LATIN SMALL LETTER E WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0246", "lowercase_mapping": "", "titlecase_mapping": "0246", "symbol": "\u0247" }, 585: { "value": "0249", "name": "LATIN SMALL LETTER J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0248", "lowercase_mapping": "", "titlecase_mapping": "0248", "symbol": "\u0249" }, 587: { "value": "024B", "name": "LATIN SMALL LETTER Q WITH HOOK TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024A", "lowercase_mapping": "", "titlecase_mapping": "024A", "symbol": "\u024B" }, 589: { "value": "024D", "name": "LATIN SMALL LETTER R WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024C", "lowercase_mapping": "", "titlecase_mapping": "024C", "symbol": "\u024D" }, 591: { "value": "024F", "name": "LATIN SMALL LETTER Y WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024E", "lowercase_mapping": "", "titlecase_mapping": "024E", "symbol": "\u024F" }, 592: { "value": "0250", "name": "LATIN SMALL LETTER TURNED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6F", "lowercase_mapping": "", "titlecase_mapping": "2C6F", "symbol": "\u0250" }, 593: { "value": "0251", "name": "LATIN SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT A", "comment": "", "uppercase_mapping": "2C6D", "lowercase_mapping": "", "titlecase_mapping": "2C6D", "symbol": "\u0251" }, 594: { "value": "0252", "name": "LATIN SMALL LETTER TURNED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED SCRIPT A", "comment": "", "uppercase_mapping": "2C70", "lowercase_mapping": "", "titlecase_mapping": "2C70", "symbol": "\u0252" }, 595: { "value": "0253", "name": "LATIN SMALL LETTER B WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B HOOK", "comment": "", "uppercase_mapping": "0181", "lowercase_mapping": "", "titlecase_mapping": "0181", "symbol": "\u0253" }, 596: { "value": "0254", "name": "LATIN SMALL LETTER OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0186", "lowercase_mapping": "", "titlecase_mapping": "0186", "symbol": "\u0254" }, 597: { "value": "0255", "name": "LATIN SMALL LETTER C WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0255" }, 598: { "value": "0256", "name": "LATIN SMALL LETTER D WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D RETROFLEX HOOK", "comment": "", "uppercase_mapping": "0189", "lowercase_mapping": "", "titlecase_mapping": "0189", "symbol": "\u0256" }, 599: { "value": "0257", "name": "LATIN SMALL LETTER D WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HOOK", "comment": "", "uppercase_mapping": "018A", "lowercase_mapping": "", "titlecase_mapping": "018A", "symbol": "\u0257" }, 600: { "value": "0258", "name": "LATIN SMALL LETTER REVERSED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0258" }, 601: { "value": "0259", "name": "LATIN SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018F", "lowercase_mapping": "", "titlecase_mapping": "018F", "symbol": "\u0259" }, 602: { "value": "025A", "name": "LATIN SMALL LETTER SCHWA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCHWA HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025A" }, 603: { "value": "025B", "name": "LATIN SMALL LETTER OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER EPSILON", "comment": "", "uppercase_mapping": "0190", "lowercase_mapping": "", "titlecase_mapping": "0190", "symbol": "\u025B" }, 604: { "value": "025C", "name": "LATIN SMALL LETTER REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON", "comment": "", "uppercase_mapping": "A7AB", "lowercase_mapping": "", "titlecase_mapping": "A7AB", "symbol": "\u025C" }, 605: { "value": "025D", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025D" }, 606: { "value": "025E", "name": "LATIN SMALL LETTER CLOSED REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED REVERSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025E" }, 607: { "value": "025F", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025F" }, 608: { "value": "0260", "name": "LATIN SMALL LETTER G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HOOK", "comment": "", "uppercase_mapping": "0193", "lowercase_mapping": "", "titlecase_mapping": "0193", "symbol": "\u0260" }, 609: { "value": "0261", "name": "LATIN SMALL LETTER SCRIPT G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AC", "lowercase_mapping": "", "titlecase_mapping": "A7AC", "symbol": "\u0261" }, 610: { "value": "0262", "name": "LATIN LETTER SMALL CAPITAL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0262" }, 611: { "value": "0263", "name": "LATIN SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0194", "lowercase_mapping": "", "titlecase_mapping": "0194", "symbol": "\u0263" }, 612: { "value": "0264", "name": "LATIN SMALL LETTER RAMS HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BABY GAMMA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0264" }, 613: { "value": "0265", "name": "LATIN SMALL LETTER TURNED H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78D", "lowercase_mapping": "", "titlecase_mapping": "A78D", "symbol": "\u0265" }, 614: { "value": "0266", "name": "LATIN SMALL LETTER H WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H HOOK", "comment": "", "uppercase_mapping": "A7AA", "lowercase_mapping": "", "titlecase_mapping": "A7AA", "symbol": "\u0266" }, 615: { "value": "0267", "name": "LATIN SMALL LETTER HENG WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER HENG HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0267" }, 616: { "value": "0268", "name": "LATIN SMALL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED I", "comment": "", "uppercase_mapping": "0197", "lowercase_mapping": "", "titlecase_mapping": "0197", "symbol": "\u0268" }, 617: { "value": "0269", "name": "LATIN SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0196", "lowercase_mapping": "", "titlecase_mapping": "0196", "symbol": "\u0269" }, 618: { "value": "026A", "name": "LATIN LETTER SMALL CAPITAL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AE", "lowercase_mapping": "", "titlecase_mapping": "A7AE", "symbol": "\u026A" }, 619: { "value": "026B", "name": "LATIN SMALL LETTER L WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C62", "lowercase_mapping": "", "titlecase_mapping": "2C62", "symbol": "\u026B" }, 620: { "value": "026C", "name": "LATIN SMALL LETTER L WITH BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L BELT", "comment": "", "uppercase_mapping": "A7AD", "lowercase_mapping": "", "titlecase_mapping": "A7AD", "symbol": "\u026C" }, 621: { "value": "026D", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026D" }, 622: { "value": "026E", "name": "LATIN SMALL LETTER LEZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026E" }, 623: { "value": "026F", "name": "LATIN SMALL LETTER TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019C", "lowercase_mapping": "", "titlecase_mapping": "019C", "symbol": "\u026F" }, 624: { "value": "0270", "name": "LATIN SMALL LETTER TURNED M WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0270" }, 625: { "value": "0271", "name": "LATIN SMALL LETTER M WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER M HOOK", "comment": "", "uppercase_mapping": "2C6E", "lowercase_mapping": "", "titlecase_mapping": "2C6E", "symbol": "\u0271" }, 626: { "value": "0272", "name": "LATIN SMALL LETTER N WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HOOK", "comment": "", "uppercase_mapping": "019D", "lowercase_mapping": "", "titlecase_mapping": "019D", "symbol": "\u0272" }, 627: { "value": "0273", "name": "LATIN SMALL LETTER N WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0273" }, 628: { "value": "0274", "name": "LATIN LETTER SMALL CAPITAL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0274" }, 629: { "value": "0275", "name": "LATIN SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019F", "lowercase_mapping": "", "titlecase_mapping": "019F", "symbol": "\u0275" }, 630: { "value": "0276", "name": "LATIN LETTER SMALL CAPITAL OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL O E", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0276" }, 631: { "value": "0277", "name": "LATIN SMALL LETTER CLOSED OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0277" }, 632: { "value": "0278", "name": "LATIN SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0278" }, 633: { "value": "0279", "name": "LATIN SMALL LETTER TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0279" }, 634: { "value": "027A", "name": "LATIN SMALL LETTER TURNED R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027A" }, 635: { "value": "027B", "name": "LATIN SMALL LETTER TURNED R WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED R HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027B" }, 636: { "value": "027C", "name": "LATIN SMALL LETTER R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027C" }, 637: { "value": "027D", "name": "LATIN SMALL LETTER R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HOOK", "comment": "", "uppercase_mapping": "2C64", "lowercase_mapping": "", "titlecase_mapping": "2C64", "symbol": "\u027D" }, 638: { "value": "027E", "name": "LATIN SMALL LETTER R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027E" }, 639: { "value": "027F", "name": "LATIN SMALL LETTER REVERSED R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027F" }, 640: { "value": "0280", "name": "LATIN LETTER SMALL CAPITAL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A6", "lowercase_mapping": "", "titlecase_mapping": "01A6", "symbol": "\u0280" }, 641: { "value": "0281", "name": "LATIN LETTER SMALL CAPITAL INVERTED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0281" }, 642: { "value": "0282", "name": "LATIN SMALL LETTER S WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0282" }, 643: { "value": "0283", "name": "LATIN SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A9", "lowercase_mapping": "", "titlecase_mapping": "01A9", "symbol": "\u0283" }, 644: { "value": "0284", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0284" }, 645: { "value": "0285", "name": "LATIN SMALL LETTER SQUAT REVERSED ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0285" }, 646: { "value": "0286", "name": "LATIN SMALL LETTER ESH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER ESH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0286" }, 647: { "value": "0287", "name": "LATIN SMALL LETTER TURNED T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B1", "lowercase_mapping": "", "titlecase_mapping": "A7B1", "symbol": "\u0287" }, 648: { "value": "0288", "name": "LATIN SMALL LETTER T WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T RETROFLEX HOOK", "comment": "", "uppercase_mapping": "01AE", "lowercase_mapping": "", "titlecase_mapping": "01AE", "symbol": "\u0288" }, 649: { "value": "0289", "name": "LATIN SMALL LETTER U BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0244", "lowercase_mapping": "", "titlecase_mapping": "0244", "symbol": "\u0289" }, 650: { "value": "028A", "name": "LATIN SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01B1", "lowercase_mapping": "", "titlecase_mapping": "01B1", "symbol": "\u028A" }, 651: { "value": "028B", "name": "LATIN SMALL LETTER V WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT V", "comment": "", "uppercase_mapping": "01B2", "lowercase_mapping": "", "titlecase_mapping": "01B2", "symbol": "\u028B" }, 652: { "value": "028C", "name": "LATIN SMALL LETTER TURNED V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0245", "lowercase_mapping": "", "titlecase_mapping": "0245", "symbol": "\u028C" }, 653: { "value": "028D", "name": "LATIN SMALL LETTER TURNED W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028D" }, 654: { "value": "028E", "name": "LATIN SMALL LETTER TURNED Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028E" }, 655: { "value": "028F", "name": "LATIN LETTER SMALL CAPITAL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028F" }, 656: { "value": "0290", "name": "LATIN SMALL LETTER Z WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0290" }, 657: { "value": "0291", "name": "LATIN SMALL LETTER Z WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0291" }, 658: { "value": "0292", "name": "LATIN SMALL LETTER EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH", "comment": "", "uppercase_mapping": "01B7", "lowercase_mapping": "", "titlecase_mapping": "01B7", "symbol": "\u0292" }, 659: { "value": "0293", "name": "LATIN SMALL LETTER EZH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0293" }, 661: { "value": "0295", "name": "LATIN LETTER PHARYNGEAL VOICED FRICATIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0295" }, 662: { "value": "0296", "name": "LATIN LETTER INVERTED GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0296" }, 663: { "value": "0297", "name": "LATIN LETTER STRETCHED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0297" }, 664: { "value": "0298", "name": "LATIN LETTER BILABIAL CLICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER BULLSEYE", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0298" }, 665: { "value": "0299", "name": "LATIN LETTER SMALL CAPITAL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0299" }, 666: { "value": "029A", "name": "LATIN SMALL LETTER CLOSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029A" }, 667: { "value": "029B", "name": "LATIN LETTER SMALL CAPITAL G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL G HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029B" }, 668: { "value": "029C", "name": "LATIN LETTER SMALL CAPITAL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029C" }, 669: { "value": "029D", "name": "LATIN SMALL LETTER J WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CROSSED-TAIL J", "comment": "", "uppercase_mapping": "A7B2", "lowercase_mapping": "", "titlecase_mapping": "A7B2", "symbol": "\u029D" }, 670: { "value": "029E", "name": "LATIN SMALL LETTER TURNED K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B0", "lowercase_mapping": "", "titlecase_mapping": "A7B0", "symbol": "\u029E" }, 671: { "value": "029F", "name": "LATIN LETTER SMALL CAPITAL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029F" }, 672: { "value": "02A0", "name": "LATIN SMALL LETTER Q WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Q HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A0" }, 673: { "value": "02A1", "name": "LATIN LETTER GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A1" }, 674: { "value": "02A2", "name": "LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A2" }, 675: { "value": "02A3", "name": "LATIN SMALL LETTER DZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A3" }, 676: { "value": "02A4", "name": "LATIN SMALL LETTER DEZH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A4" }, 677: { "value": "02A5", "name": "LATIN SMALL LETTER DZ DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A5" }, 678: { "value": "02A6", "name": "LATIN SMALL LETTER TS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T S", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A6" }, 679: { "value": "02A7", "name": "LATIN SMALL LETTER TESH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T ESH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A7" }, 680: { "value": "02A8", "name": "LATIN SMALL LETTER TC DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A8" }, 681: { "value": "02A9", "name": "LATIN SMALL LETTER FENG DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A9" }, 682: { "value": "02AA", "name": "LATIN SMALL LETTER LS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AA" }, 683: { "value": "02AB", "name": "LATIN SMALL LETTER LZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AB" }, 684: { "value": "02AC", "name": "LATIN LETTER BILABIAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AC" }, 685: { "value": "02AD", "name": "LATIN LETTER BIDENTAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AD" }, 686: { "value": "02AE", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AE" }, 687: { "value": "02AF", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AF" }, 881: { "value": "0371", "name": "GREEK SMALL LETTER HETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0370", "lowercase_mapping": "", "titlecase_mapping": "0370", "symbol": "\u0371" }, 883: { "value": "0373", "name": "GREEK SMALL LETTER ARCHAIC SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0372", "lowercase_mapping": "", "titlecase_mapping": "0372", "symbol": "\u0373" }, 887: { "value": "0377", "name": "GREEK SMALL LETTER PAMPHYLIAN DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0376", "lowercase_mapping": "", "titlecase_mapping": "0376", "symbol": "\u0377" }, 891: { "value": "037B", "name": "GREEK SMALL REVERSED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FD", "lowercase_mapping": "", "titlecase_mapping": "03FD", "symbol": "\u037B" }, 892: { "value": "037C", "name": "GREEK SMALL DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FE", "lowercase_mapping": "", "titlecase_mapping": "03FE", "symbol": "\u037C" }, 893: { "value": "037D", "name": "GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FF", "lowercase_mapping": "", "titlecase_mapping": "03FF", "symbol": "\u037D" }, 912: { "value": "0390", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0390" }, 940: { "value": "03AC", "name": "GREEK SMALL LETTER ALPHA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ALPHA TONOS", "comment": "", "uppercase_mapping": "0386", "lowercase_mapping": "", "titlecase_mapping": "0386", "symbol": "\u03AC" }, 941: { "value": "03AD", "name": "GREEK SMALL LETTER EPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER EPSILON TONOS", "comment": "", "uppercase_mapping": "0388", "lowercase_mapping": "", "titlecase_mapping": "0388", "symbol": "\u03AD" }, 942: { "value": "03AE", "name": "GREEK SMALL LETTER ETA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ETA TONOS", "comment": "", "uppercase_mapping": "0389", "lowercase_mapping": "", "titlecase_mapping": "0389", "symbol": "\u03AE" }, 943: { "value": "03AF", "name": "GREEK SMALL LETTER IOTA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA TONOS", "comment": "", "uppercase_mapping": "038A", "lowercase_mapping": "", "titlecase_mapping": "038A", "symbol": "\u03AF" }, 944: { "value": "03B0", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03B0" }, 945: { "value": "03B1", "name": "GREEK SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0391", "lowercase_mapping": "", "titlecase_mapping": "0391", "symbol": "\u03B1" }, 946: { "value": "03B2", "name": "GREEK SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03B2" }, 947: { "value": "03B3", "name": "GREEK SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0393", "lowercase_mapping": "", "titlecase_mapping": "0393", "symbol": "\u03B3" }, 948: { "value": "03B4", "name": "GREEK SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0394", "lowercase_mapping": "", "titlecase_mapping": "0394", "symbol": "\u03B4" }, 949: { "value": "03B5", "name": "GREEK SMALL LETTER EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03B5" }, 950: { "value": "03B6", "name": "GREEK SMALL LETTER ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0396", "lowercase_mapping": "", "titlecase_mapping": "0396", "symbol": "\u03B6" }, 951: { "value": "03B7", "name": "GREEK SMALL LETTER ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0397", "lowercase_mapping": "", "titlecase_mapping": "0397", "symbol": "\u03B7" }, 952: { "value": "03B8", "name": "GREEK SMALL LETTER THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03B8" }, 953: { "value": "03B9", "name": "GREEK SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u03B9" }, 954: { "value": "03BA", "name": "GREEK SMALL LETTER KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03BA" }, 955: { "value": "03BB", "name": "GREEK SMALL LETTER LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LAMBDA", "comment": "", "uppercase_mapping": "039B", "lowercase_mapping": "", "titlecase_mapping": "039B", "symbol": "\u03BB" }, 956: { "value": "03BC", "name": "GREEK SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\u03BC" }, 957: { "value": "03BD", "name": "GREEK SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039D", "lowercase_mapping": "", "titlecase_mapping": "039D", "symbol": "\u03BD" }, 958: { "value": "03BE", "name": "GREEK SMALL LETTER XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039E", "lowercase_mapping": "", "titlecase_mapping": "039E", "symbol": "\u03BE" }, 959: { "value": "03BF", "name": "GREEK SMALL LETTER OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039F", "lowercase_mapping": "", "titlecase_mapping": "039F", "symbol": "\u03BF" }, 960: { "value": "03C0", "name": "GREEK SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03C0" }, 961: { "value": "03C1", "name": "GREEK SMALL LETTER RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03C1" }, 962: { "value": "03C2", "name": "GREEK SMALL LETTER FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C2" }, 963: { "value": "03C3", "name": "GREEK SMALL LETTER SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C3" }, 964: { "value": "03C4", "name": "GREEK SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A4", "lowercase_mapping": "", "titlecase_mapping": "03A4", "symbol": "\u03C4" }, 965: { "value": "03C5", "name": "GREEK SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A5", "lowercase_mapping": "", "titlecase_mapping": "03A5", "symbol": "\u03C5" }, 966: { "value": "03C6", "name": "GREEK SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03C6" }, 967: { "value": "03C7", "name": "GREEK SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A7", "lowercase_mapping": "", "titlecase_mapping": "03A7", "symbol": "\u03C7" }, 968: { "value": "03C8", "name": "GREEK SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A8", "lowercase_mapping": "", "titlecase_mapping": "03A8", "symbol": "\u03C8" }, 969: { "value": "03C9", "name": "GREEK SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A9", "lowercase_mapping": "", "titlecase_mapping": "03A9", "symbol": "\u03C9" }, 970: { "value": "03CA", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS", "comment": "", "uppercase_mapping": "03AA", "lowercase_mapping": "", "titlecase_mapping": "03AA", "symbol": "\u03CA" }, 971: { "value": "03CB", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS", "comment": "", "uppercase_mapping": "03AB", "lowercase_mapping": "", "titlecase_mapping": "03AB", "symbol": "\u03CB" }, 972: { "value": "03CC", "name": "GREEK SMALL LETTER OMICRON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMICRON TONOS", "comment": "", "uppercase_mapping": "038C", "lowercase_mapping": "", "titlecase_mapping": "038C", "symbol": "\u03CC" }, 973: { "value": "03CD", "name": "GREEK SMALL LETTER UPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON TONOS", "comment": "", "uppercase_mapping": "038E", "lowercase_mapping": "", "titlecase_mapping": "038E", "symbol": "\u03CD" }, 974: { "value": "03CE", "name": "GREEK SMALL LETTER OMEGA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA TONOS", "comment": "", "uppercase_mapping": "038F", "lowercase_mapping": "", "titlecase_mapping": "038F", "symbol": "\u03CE" }, 976: { "value": "03D0", "name": "GREEK BETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER CURLED BETA", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03D0" }, 977: { "value": "03D1", "name": "GREEK THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT THETA", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03D1" }, 981: { "value": "03D5", "name": "GREEK PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT PHI", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03D5" }, 982: { "value": "03D6", "name": "GREEK PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA PI", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03D6" }, 983: { "value": "03D7", "name": "GREEK KAI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03CF", "lowercase_mapping": "", "titlecase_mapping": "03CF", "symbol": "\u03D7" }, 985: { "value": "03D9", "name": "GREEK SMALL LETTER ARCHAIC KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03D8", "lowercase_mapping": "", "titlecase_mapping": "03D8", "symbol": "\u03D9" }, 987: { "value": "03DB", "name": "GREEK SMALL LETTER STIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DA", "lowercase_mapping": "", "titlecase_mapping": "03DA", "symbol": "\u03DB" }, 989: { "value": "03DD", "name": "GREEK SMALL LETTER DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DC", "lowercase_mapping": "", "titlecase_mapping": "03DC", "symbol": "\u03DD" }, 991: { "value": "03DF", "name": "GREEK SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DE", "lowercase_mapping": "", "titlecase_mapping": "03DE", "symbol": "\u03DF" }, 993: { "value": "03E1", "name": "GREEK SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03E0", "lowercase_mapping": "", "titlecase_mapping": "03E0", "symbol": "\u03E1" }, 995: { "value": "03E3", "name": "COPTIC SMALL LETTER SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHEI", "comment": "", "uppercase_mapping": "03E2", "lowercase_mapping": "", "titlecase_mapping": "03E2", "symbol": "\u03E3" }, 997: { "value": "03E5", "name": "COPTIC SMALL LETTER FEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER FEI", "comment": "", "uppercase_mapping": "03E4", "lowercase_mapping": "", "titlecase_mapping": "03E4", "symbol": "\u03E5" }, 999: { "value": "03E7", "name": "COPTIC SMALL LETTER KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER KHEI", "comment": "", "uppercase_mapping": "03E6", "lowercase_mapping": "", "titlecase_mapping": "03E6", "symbol": "\u03E7" }, 1001: { "value": "03E9", "name": "COPTIC SMALL LETTER HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER HORI", "comment": "", "uppercase_mapping": "03E8", "lowercase_mapping": "", "titlecase_mapping": "03E8", "symbol": "\u03E9" }, 1003: { "value": "03EB", "name": "COPTIC SMALL LETTER GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER GANGIA", "comment": "", "uppercase_mapping": "03EA", "lowercase_mapping": "", "titlecase_mapping": "03EA", "symbol": "\u03EB" }, 1005: { "value": "03ED", "name": "COPTIC SMALL LETTER SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHIMA", "comment": "", "uppercase_mapping": "03EC", "lowercase_mapping": "", "titlecase_mapping": "03EC", "symbol": "\u03ED" }, 1007: { "value": "03EF", "name": "COPTIC SMALL LETTER DEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER DEI", "comment": "", "uppercase_mapping": "03EE", "lowercase_mapping": "", "titlecase_mapping": "03EE", "symbol": "\u03EF" }, 1008: { "value": "03F0", "name": "GREEK KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT KAPPA", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03F0" }, 1009: { "value": "03F1", "name": "GREEK RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER TAILED RHO", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03F1" }, 1010: { "value": "03F2", "name": "GREEK LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LUNATE SIGMA", "comment": "", "uppercase_mapping": "03F9", "lowercase_mapping": "", "titlecase_mapping": "03F9", "symbol": "\u03F2" }, 1011: { "value": "03F3", "name": "GREEK LETTER YOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "037F", "lowercase_mapping": "", "titlecase_mapping": "037F", "symbol": "\u03F3" }, 1013: { "value": "03F5", "name": "GREEK LUNATE EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03F5" }, 1016: { "value": "03F8", "name": "GREEK SMALL LETTER SHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03F7", "lowercase_mapping": "", "titlecase_mapping": "03F7", "symbol": "\u03F8" }, 1019: { "value": "03FB", "name": "GREEK SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FA", "lowercase_mapping": "", "titlecase_mapping": "03FA", "symbol": "\u03FB" }, 1020: { "value": "03FC", "name": "GREEK RHO WITH STROKE SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03FC" }, 1072: { "value": "0430", "name": "CYRILLIC SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0410", "lowercase_mapping": "", "titlecase_mapping": "0410", "symbol": "\u0430" }, 1073: { "value": "0431", "name": "CYRILLIC SMALL LETTER BE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0411", "lowercase_mapping": "", "titlecase_mapping": "0411", "symbol": "\u0431" }, 1074: { "value": "0432", "name": "CYRILLIC SMALL LETTER VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u0432" }, 1075: { "value": "0433", "name": "CYRILLIC SMALL LETTER GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE", "comment": "", "uppercase_mapping": "0413", "lowercase_mapping": "", "titlecase_mapping": "0413", "symbol": "\u0433" }, 1076: { "value": "0434", "name": "CYRILLIC SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u0434" }, 1077: { "value": "0435", "name": "CYRILLIC SMALL LETTER IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0415", "lowercase_mapping": "", "titlecase_mapping": "0415", "symbol": "\u0435" }, 1078: { "value": "0436", "name": "CYRILLIC SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0416", "lowercase_mapping": "", "titlecase_mapping": "0416", "symbol": "\u0436" }, 1079: { "value": "0437", "name": "CYRILLIC SMALL LETTER ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0417", "lowercase_mapping": "", "titlecase_mapping": "0417", "symbol": "\u0437" }, 1080: { "value": "0438", "name": "CYRILLIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER II", "comment": "", "uppercase_mapping": "0418", "lowercase_mapping": "", "titlecase_mapping": "0418", "symbol": "\u0438" }, 1081: { "value": "0439", "name": "CYRILLIC SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT II", "comment": "", "uppercase_mapping": "0419", "lowercase_mapping": "", "titlecase_mapping": "0419", "symbol": "\u0439" }, 1082: { "value": "043A", "name": "CYRILLIC SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041A", "lowercase_mapping": "", "titlecase_mapping": "041A", "symbol": "\u043A" }, 1083: { "value": "043B", "name": "CYRILLIC SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041B", "lowercase_mapping": "", "titlecase_mapping": "041B", "symbol": "\u043B" }, 1084: { "value": "043C", "name": "CYRILLIC SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041C", "lowercase_mapping": "", "titlecase_mapping": "041C", "symbol": "\u043C" }, 1085: { "value": "043D", "name": "CYRILLIC SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041D", "lowercase_mapping": "", "titlecase_mapping": "041D", "symbol": "\u043D" }, 1086: { "value": "043E", "name": "CYRILLIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u043E" }, 1087: { "value": "043F", "name": "CYRILLIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041F", "lowercase_mapping": "", "titlecase_mapping": "041F", "symbol": "\u043F" }, 1088: { "value": "0440", "name": "CYRILLIC SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0420", "lowercase_mapping": "", "titlecase_mapping": "0420", "symbol": "\u0440" }, 1089: { "value": "0441", "name": "CYRILLIC SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u0441" }, 1090: { "value": "0442", "name": "CYRILLIC SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u0442" }, 1091: { "value": "0443", "name": "CYRILLIC SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0423", "lowercase_mapping": "", "titlecase_mapping": "0423", "symbol": "\u0443" }, 1092: { "value": "0444", "name": "CYRILLIC SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0424", "lowercase_mapping": "", "titlecase_mapping": "0424", "symbol": "\u0444" }, 1093: { "value": "0445", "name": "CYRILLIC SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA", "comment": "", "uppercase_mapping": "0425", "lowercase_mapping": "", "titlecase_mapping": "0425", "symbol": "\u0445" }, 1094: { "value": "0446", "name": "CYRILLIC SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0426", "lowercase_mapping": "", "titlecase_mapping": "0426", "symbol": "\u0446" }, 1095: { "value": "0447", "name": "CYRILLIC SMALL LETTER CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0427", "lowercase_mapping": "", "titlecase_mapping": "0427", "symbol": "\u0447" }, 1096: { "value": "0448", "name": "CYRILLIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0428", "lowercase_mapping": "", "titlecase_mapping": "0428", "symbol": "\u0448" }, 1097: { "value": "0449", "name": "CYRILLIC SMALL LETTER SHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0429", "lowercase_mapping": "", "titlecase_mapping": "0429", "symbol": "\u0449" }, 1098: { "value": "044A", "name": "CYRILLIC SMALL LETTER HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u044A" }, 1099: { "value": "044B", "name": "CYRILLIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER YERI", "comment": "", "uppercase_mapping": "042B", "lowercase_mapping": "", "titlecase_mapping": "042B", "symbol": "\u044B" }, 1100: { "value": "044C", "name": "CYRILLIC SMALL LETTER SOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042C", "lowercase_mapping": "", "titlecase_mapping": "042C", "symbol": "\u044C" }, 1101: { "value": "044D", "name": "CYRILLIC SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED E", "comment": "", "uppercase_mapping": "042D", "lowercase_mapping": "", "titlecase_mapping": "042D", "symbol": "\u044D" }, 1102: { "value": "044E", "name": "CYRILLIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IU", "comment": "", "uppercase_mapping": "042E", "lowercase_mapping": "", "titlecase_mapping": "042E", "symbol": "\u044E" }, 1103: { "value": "044F", "name": "CYRILLIC SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IA", "comment": "", "uppercase_mapping": "042F", "lowercase_mapping": "", "titlecase_mapping": "042F", "symbol": "\u044F" }, 1104: { "value": "0450", "name": "CYRILLIC SMALL LETTER IE WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0400", "lowercase_mapping": "", "titlecase_mapping": "0400", "symbol": "\u0450" }, 1105: { "value": "0451", "name": "CYRILLIC SMALL LETTER IO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0401", "lowercase_mapping": "", "titlecase_mapping": "0401", "symbol": "\u0451" }, 1106: { "value": "0452", "name": "CYRILLIC SMALL LETTER DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0402", "lowercase_mapping": "", "titlecase_mapping": "0402", "symbol": "\u0452" }, 1107: { "value": "0453", "name": "CYRILLIC SMALL LETTER GJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0433 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0403", "lowercase_mapping": "", "titlecase_mapping": "0403", "symbol": "\u0453" }, 1108: { "value": "0454", "name": "CYRILLIC SMALL LETTER UKRAINIAN IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER E", "comment": "", "uppercase_mapping": "0404", "lowercase_mapping": "", "titlecase_mapping": "0404", "symbol": "\u0454" }, 1109: { "value": "0455", "name": "CYRILLIC SMALL LETTER DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0405", "lowercase_mapping": "", "titlecase_mapping": "0405", "symbol": "\u0455" }, 1110: { "value": "0456", "name": "CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER I", "comment": "", "uppercase_mapping": "0406", "lowercase_mapping": "", "titlecase_mapping": "0406", "symbol": "\u0456" }, 1111: { "value": "0457", "name": "CYRILLIC SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0456 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0407", "lowercase_mapping": "", "titlecase_mapping": "0407", "symbol": "\u0457" }, 1112: { "value": "0458", "name": "CYRILLIC SMALL LETTER JE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0408", "lowercase_mapping": "", "titlecase_mapping": "0408", "symbol": "\u0458" }, 1113: { "value": "0459", "name": "CYRILLIC SMALL LETTER LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0409", "lowercase_mapping": "", "titlecase_mapping": "0409", "symbol": "\u0459" }, 1114: { "value": "045A", "name": "CYRILLIC SMALL LETTER NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040A", "lowercase_mapping": "", "titlecase_mapping": "040A", "symbol": "\u045A" }, 1115: { "value": "045B", "name": "CYRILLIC SMALL LETTER TSHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040B", "lowercase_mapping": "", "titlecase_mapping": "040B", "symbol": "\u045B" }, 1116: { "value": "045C", "name": "CYRILLIC SMALL LETTER KJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040C", "lowercase_mapping": "", "titlecase_mapping": "040C", "symbol": "\u045C" }, 1117: { "value": "045D", "name": "CYRILLIC SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040D", "lowercase_mapping": "", "titlecase_mapping": "040D", "symbol": "\u045D" }, 1118: { "value": "045E", "name": "CYRILLIC SMALL LETTER SHORT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040E", "lowercase_mapping": "", "titlecase_mapping": "040E", "symbol": "\u045E" }, 1119: { "value": "045F", "name": "CYRILLIC SMALL LETTER DZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040F", "lowercase_mapping": "", "titlecase_mapping": "040F", "symbol": "\u045F" }, 1121: { "value": "0461", "name": "CYRILLIC SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0460", "lowercase_mapping": "", "titlecase_mapping": "0460", "symbol": "\u0461" }, 1123: { "value": "0463", "name": "CYRILLIC SMALL LETTER YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u0463" }, 1125: { "value": "0465", "name": "CYRILLIC SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0464", "lowercase_mapping": "", "titlecase_mapping": "0464", "symbol": "\u0465" }, 1127: { "value": "0467", "name": "CYRILLIC SMALL LETTER LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0466", "lowercase_mapping": "", "titlecase_mapping": "0466", "symbol": "\u0467" }, 1129: { "value": "0469", "name": "CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0468", "lowercase_mapping": "", "titlecase_mapping": "0468", "symbol": "\u0469" }, 1131: { "value": "046B", "name": "CYRILLIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046A", "lowercase_mapping": "", "titlecase_mapping": "046A", "symbol": "\u046B" }, 1133: { "value": "046D", "name": "CYRILLIC SMALL LETTER IOTIFIED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046C", "lowercase_mapping": "", "titlecase_mapping": "046C", "symbol": "\u046D" }, 1135: { "value": "046F", "name": "CYRILLIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046E", "lowercase_mapping": "", "titlecase_mapping": "046E", "symbol": "\u046F" }, 1137: { "value": "0471", "name": "CYRILLIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0470", "lowercase_mapping": "", "titlecase_mapping": "0470", "symbol": "\u0471" }, 1139: { "value": "0473", "name": "CYRILLIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0472", "lowercase_mapping": "", "titlecase_mapping": "0472", "symbol": "\u0473" }, 1141: { "value": "0475", "name": "CYRILLIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0474", "lowercase_mapping": "", "titlecase_mapping": "0474", "symbol": "\u0475" }, 1143: { "value": "0477", "name": "CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0475 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE", "comment": "", "uppercase_mapping": "0476", "lowercase_mapping": "", "titlecase_mapping": "0476", "symbol": "\u0477" }, 1145: { "value": "0479", "name": "CYRILLIC SMALL LETTER UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER UK DIGRAPH", "comment": "", "uppercase_mapping": "0478", "lowercase_mapping": "", "titlecase_mapping": "0478", "symbol": "\u0479" }, 1147: { "value": "047B", "name": "CYRILLIC SMALL LETTER ROUND OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047A", "lowercase_mapping": "", "titlecase_mapping": "047A", "symbol": "\u047B" }, 1149: { "value": "047D", "name": "CYRILLIC SMALL LETTER OMEGA WITH TITLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER OMEGA TITLO", "comment": "", "uppercase_mapping": "047C", "lowercase_mapping": "", "titlecase_mapping": "047C", "symbol": "\u047D" }, 1151: { "value": "047F", "name": "CYRILLIC SMALL LETTER OT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047E", "lowercase_mapping": "", "titlecase_mapping": "047E", "symbol": "\u047F" }, 1153: { "value": "0481", "name": "CYRILLIC SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0480", "lowercase_mapping": "", "titlecase_mapping": "0480", "symbol": "\u0481" }, 1163: { "value": "048B", "name": "CYRILLIC SMALL LETTER SHORT I WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048A", "lowercase_mapping": "", "titlecase_mapping": "048A", "symbol": "\u048B" }, 1165: { "value": "048D", "name": "CYRILLIC SMALL LETTER SEMISOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048C", "lowercase_mapping": "", "titlecase_mapping": "048C", "symbol": "\u048D" }, 1167: { "value": "048F", "name": "CYRILLIC SMALL LETTER ER WITH TICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048E", "lowercase_mapping": "", "titlecase_mapping": "048E", "symbol": "\u048F" }, 1169: { "value": "0491", "name": "CYRILLIC SMALL LETTER GHE WITH UPTURN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE WITH UPTURN", "comment": "", "uppercase_mapping": "0490", "lowercase_mapping": "", "titlecase_mapping": "0490", "symbol": "\u0491" }, 1171: { "value": "0493", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE BAR", "comment": "", "uppercase_mapping": "0492", "lowercase_mapping": "", "titlecase_mapping": "0492", "symbol": "\u0493" }, 1173: { "value": "0495", "name": "CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE HOOK", "comment": "", "uppercase_mapping": "0494", "lowercase_mapping": "", "titlecase_mapping": "0494", "symbol": "\u0495" }, 1175: { "value": "0497", "name": "CYRILLIC SMALL LETTER ZHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "0496", "lowercase_mapping": "", "titlecase_mapping": "0496", "symbol": "\u0497" }, 1177: { "value": "0499", "name": "CYRILLIC SMALL LETTER ZE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZE CEDILLA", "comment": "", "uppercase_mapping": "0498", "lowercase_mapping": "", "titlecase_mapping": "0498", "symbol": "\u0499" }, 1179: { "value": "049B", "name": "CYRILLIC SMALL LETTER KA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "049A", "lowercase_mapping": "", "titlecase_mapping": "049A", "symbol": "\u049B" }, 1181: { "value": "049D", "name": "CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA VERTICAL BAR", "comment": "", "uppercase_mapping": "049C", "lowercase_mapping": "", "titlecase_mapping": "049C", "symbol": "\u049D" }, 1183: { "value": "049F", "name": "CYRILLIC SMALL LETTER KA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA BAR", "comment": "", "uppercase_mapping": "049E", "lowercase_mapping": "", "titlecase_mapping": "049E", "symbol": "\u049F" }, 1185: { "value": "04A1", "name": "CYRILLIC SMALL LETTER BASHKIR KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED GE KA", "comment": "", "uppercase_mapping": "04A0", "lowercase_mapping": "", "titlecase_mapping": "04A0", "symbol": "\u04A1" }, 1187: { "value": "04A3", "name": "CYRILLIC SMALL LETTER EN WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04A2", "lowercase_mapping": "", "titlecase_mapping": "04A2", "symbol": "\u04A3" }, 1189: { "value": "04A5", "name": "CYRILLIC SMALL LIGATURE EN GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN GE", "comment": "", "uppercase_mapping": "04A4", "lowercase_mapping": "", "titlecase_mapping": "04A4", "symbol": "\u04A5" }, 1191: { "value": "04A7", "name": "CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER PE HOOK", "comment": "", "uppercase_mapping": "04A6", "lowercase_mapping": "", "titlecase_mapping": "04A6", "symbol": "\u04A7" }, 1193: { "value": "04A9", "name": "CYRILLIC SMALL LETTER ABKHASIAN HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER O HOOK", "comment": "", "uppercase_mapping": "04A8", "lowercase_mapping": "", "titlecase_mapping": "04A8", "symbol": "\u04A9" }, 1195: { "value": "04AB", "name": "CYRILLIC SMALL LETTER ES WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ES CEDILLA", "comment": "", "uppercase_mapping": "04AA", "lowercase_mapping": "", "titlecase_mapping": "04AA", "symbol": "\u04AB" }, 1197: { "value": "04AD", "name": "CYRILLIC SMALL LETTER TE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04AC", "lowercase_mapping": "", "titlecase_mapping": "04AC", "symbol": "\u04AD" }, 1199: { "value": "04AF", "name": "CYRILLIC SMALL LETTER STRAIGHT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04AE", "lowercase_mapping": "", "titlecase_mapping": "04AE", "symbol": "\u04AF" }, 1201: { "value": "04B1", "name": "CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER STRAIGHT U BAR", "comment": "", "uppercase_mapping": "04B0", "lowercase_mapping": "", "titlecase_mapping": "04B0", "symbol": "\u04B1" }, 1203: { "value": "04B3", "name": "CYRILLIC SMALL LETTER HA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B2", "lowercase_mapping": "", "titlecase_mapping": "04B2", "symbol": "\u04B3" }, 1205: { "value": "04B5", "name": "CYRILLIC SMALL LIGATURE TE TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE TSE", "comment": "", "uppercase_mapping": "04B4", "lowercase_mapping": "", "titlecase_mapping": "04B4", "symbol": "\u04B5" }, 1207: { "value": "04B7", "name": "CYRILLIC SMALL LETTER CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B6", "lowercase_mapping": "", "titlecase_mapping": "04B6", "symbol": "\u04B7" }, 1209: { "value": "04B9", "name": "CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE VERTICAL BAR", "comment": "", "uppercase_mapping": "04B8", "lowercase_mapping": "", "titlecase_mapping": "04B8", "symbol": "\u04B9" }, 1211: { "value": "04BB", "name": "CYRILLIC SMALL LETTER SHHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER H", "comment": "", "uppercase_mapping": "04BA", "lowercase_mapping": "", "titlecase_mapping": "04BA", "symbol": "\u04BB" }, 1213: { "value": "04BD", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK", "comment": "", "uppercase_mapping": "04BC", "lowercase_mapping": "", "titlecase_mapping": "04BC", "symbol": "\u04BD" }, 1215: { "value": "04BF", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK OGONEK", "comment": "", "uppercase_mapping": "04BE", "lowercase_mapping": "", "titlecase_mapping": "04BE", "symbol": "\u04BF" }, 1218: { "value": "04C2", "name": "CYRILLIC SMALL LETTER ZHE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT ZHE", "comment": "", "uppercase_mapping": "04C1", "lowercase_mapping": "", "titlecase_mapping": "04C1", "symbol": "\u04C2" }, 1220: { "value": "04C4", "name": "CYRILLIC SMALL LETTER KA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA HOOK", "comment": "", "uppercase_mapping": "04C3", "lowercase_mapping": "", "titlecase_mapping": "04C3", "symbol": "\u04C4" }, 1222: { "value": "04C6", "name": "CYRILLIC SMALL LETTER EL WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C5", "lowercase_mapping": "", "titlecase_mapping": "04C5", "symbol": "\u04C6" }, 1224: { "value": "04C8", "name": "CYRILLIC SMALL LETTER EN WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN HOOK", "comment": "", "uppercase_mapping": "04C7", "lowercase_mapping": "", "titlecase_mapping": "04C7", "symbol": "\u04C8" }, 1226: { "value": "04CA", "name": "CYRILLIC SMALL LETTER EN WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C9", "lowercase_mapping": "", "titlecase_mapping": "04C9", "symbol": "\u04CA" }, 1228: { "value": "04CC", "name": "CYRILLIC SMALL LETTER KHAKASSIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER", "comment": "", "uppercase_mapping": "04CB", "lowercase_mapping": "", "titlecase_mapping": "04CB", "symbol": "\u04CC" }, 1230: { "value": "04CE", "name": "CYRILLIC SMALL LETTER EM WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04CD", "lowercase_mapping": "", "titlecase_mapping": "04CD", "symbol": "\u04CE" }, 1231: { "value": "04CF", "name": "CYRILLIC SMALL LETTER PALOCHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C0", "lowercase_mapping": "", "titlecase_mapping": "04C0", "symbol": "\u04CF" }, 1233: { "value": "04D1", "name": "CYRILLIC SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D0", "lowercase_mapping": "", "titlecase_mapping": "04D0", "symbol": "\u04D1" }, 1235: { "value": "04D3", "name": "CYRILLIC SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D2", "lowercase_mapping": "", "titlecase_mapping": "04D2", "symbol": "\u04D3" }, 1237: { "value": "04D5", "name": "CYRILLIC SMALL LIGATURE A IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D4", "lowercase_mapping": "", "titlecase_mapping": "04D4", "symbol": "\u04D5" }, 1239: { "value": "04D7", "name": "CYRILLIC SMALL LETTER IE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D6", "lowercase_mapping": "", "titlecase_mapping": "04D6", "symbol": "\u04D7" }, 1241: { "value": "04D9", "name": "CYRILLIC SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D8", "lowercase_mapping": "", "titlecase_mapping": "04D8", "symbol": "\u04D9" }, 1243: { "value": "04DB", "name": "CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04D9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DA", "lowercase_mapping": "", "titlecase_mapping": "04DA", "symbol": "\u04DB" }, 1245: { "value": "04DD", "name": "CYRILLIC SMALL LETTER ZHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DC", "lowercase_mapping": "", "titlecase_mapping": "04DC", "symbol": "\u04DD" }, 1247: { "value": "04DF", "name": "CYRILLIC SMALL LETTER ZE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0437 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DE", "lowercase_mapping": "", "titlecase_mapping": "04DE", "symbol": "\u04DF" }, 1249: { "value": "04E1", "name": "CYRILLIC SMALL LETTER ABKHASIAN DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E0", "lowercase_mapping": "", "titlecase_mapping": "04E0", "symbol": "\u04E1" }, 1251: { "value": "04E3", "name": "CYRILLIC SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E2", "lowercase_mapping": "", "titlecase_mapping": "04E2", "symbol": "\u04E3" }, 1253: { "value": "04E5", "name": "CYRILLIC SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E4", "lowercase_mapping": "", "titlecase_mapping": "04E4", "symbol": "\u04E5" }, 1255: { "value": "04E7", "name": "CYRILLIC SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043E 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E6", "lowercase_mapping": "", "titlecase_mapping": "04E6", "symbol": "\u04E7" }, 1257: { "value": "04E9", "name": "CYRILLIC SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E8", "lowercase_mapping": "", "titlecase_mapping": "04E8", "symbol": "\u04E9" }, 1259: { "value": "04EB", "name": "CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04E9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EA", "lowercase_mapping": "", "titlecase_mapping": "04EA", "symbol": "\u04EB" }, 1261: { "value": "04ED", "name": "CYRILLIC SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044D 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EC", "lowercase_mapping": "", "titlecase_mapping": "04EC", "symbol": "\u04ED" }, 1263: { "value": "04EF", "name": "CYRILLIC SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EE", "lowercase_mapping": "", "titlecase_mapping": "04EE", "symbol": "\u04EF" }, 1265: { "value": "04F1", "name": "CYRILLIC SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F0", "lowercase_mapping": "", "titlecase_mapping": "04F0", "symbol": "\u04F1" }, 1267: { "value": "04F3", "name": "CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F2", "lowercase_mapping": "", "titlecase_mapping": "04F2", "symbol": "\u04F3" }, 1269: { "value": "04F5", "name": "CYRILLIC SMALL LETTER CHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0447 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F4", "lowercase_mapping": "", "titlecase_mapping": "04F4", "symbol": "\u04F5" }, 1271: { "value": "04F7", "name": "CYRILLIC SMALL LETTER GHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F6", "lowercase_mapping": "", "titlecase_mapping": "04F6", "symbol": "\u04F7" }, 1273: { "value": "04F9", "name": "CYRILLIC SMALL LETTER YERU WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F8", "lowercase_mapping": "", "titlecase_mapping": "04F8", "symbol": "\u04F9" }, 1275: { "value": "04FB", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FA", "lowercase_mapping": "", "titlecase_mapping": "04FA", "symbol": "\u04FB" }, 1277: { "value": "04FD", "name": "CYRILLIC SMALL LETTER HA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FC", "lowercase_mapping": "", "titlecase_mapping": "04FC", "symbol": "\u04FD" }, 1279: { "value": "04FF", "name": "CYRILLIC SMALL LETTER HA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FE", "lowercase_mapping": "", "titlecase_mapping": "04FE", "symbol": "\u04FF" }, 1281: { "value": "0501", "name": "CYRILLIC SMALL LETTER KOMI DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0500", "lowercase_mapping": "", "titlecase_mapping": "0500", "symbol": "\u0501" }, 1283: { "value": "0503", "name": "CYRILLIC SMALL LETTER KOMI DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0502", "lowercase_mapping": "", "titlecase_mapping": "0502", "symbol": "\u0503" }, 1285: { "value": "0505", "name": "CYRILLIC SMALL LETTER KOMI ZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0504", "lowercase_mapping": "", "titlecase_mapping": "0504", "symbol": "\u0505" }, 1287: { "value": "0507", "name": "CYRILLIC SMALL LETTER KOMI DZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0506", "lowercase_mapping": "", "titlecase_mapping": "0506", "symbol": "\u0507" }, 1289: { "value": "0509", "name": "CYRILLIC SMALL LETTER KOMI LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0508", "lowercase_mapping": "", "titlecase_mapping": "0508", "symbol": "\u0509" }, 1291: { "value": "050B", "name": "CYRILLIC SMALL LETTER KOMI NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050A", "lowercase_mapping": "", "titlecase_mapping": "050A", "symbol": "\u050B" }, 1293: { "value": "050D", "name": "CYRILLIC SMALL LETTER KOMI SJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050C", "lowercase_mapping": "", "titlecase_mapping": "050C", "symbol": "\u050D" }, 1295: { "value": "050F", "name": "CYRILLIC SMALL LETTER KOMI TJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050E", "lowercase_mapping": "", "titlecase_mapping": "050E", "symbol": "\u050F" }, 1297: { "value": "0511", "name": "CYRILLIC SMALL LETTER REVERSED ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0510", "lowercase_mapping": "", "titlecase_mapping": "0510", "symbol": "\u0511" }, 1299: { "value": "0513", "name": "CYRILLIC SMALL LETTER EL WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0512", "lowercase_mapping": "", "titlecase_mapping": "0512", "symbol": "\u0513" }, 1301: { "value": "0515", "name": "CYRILLIC SMALL LETTER LHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0514", "lowercase_mapping": "", "titlecase_mapping": "0514", "symbol": "\u0515" }, 1303: { "value": "0517", "name": "CYRILLIC SMALL LETTER RHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0516", "lowercase_mapping": "", "titlecase_mapping": "0516", "symbol": "\u0517" }, 1305: { "value": "0519", "name": "CYRILLIC SMALL LETTER YAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0518", "lowercase_mapping": "", "titlecase_mapping": "0518", "symbol": "\u0519" }, 1307: { "value": "051B", "name": "CYRILLIC SMALL LETTER QA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051A", "lowercase_mapping": "", "titlecase_mapping": "051A", "symbol": "\u051B" }, 1309: { "value": "051D", "name": "CYRILLIC SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051C", "lowercase_mapping": "", "titlecase_mapping": "051C", "symbol": "\u051D" }, 1311: { "value": "051F", "name": "CYRILLIC SMALL LETTER ALEUT KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051E", "lowercase_mapping": "", "titlecase_mapping": "051E", "symbol": "\u051F" }, 1313: { "value": "0521", "name": "CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0520", "lowercase_mapping": "", "titlecase_mapping": "0520", "symbol": "\u0521" }, 1315: { "value": "0523", "name": "CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0522", "lowercase_mapping": "", "titlecase_mapping": "0522", "symbol": "\u0523" }, 1317: { "value": "0525", "name": "CYRILLIC SMALL LETTER PE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0524", "lowercase_mapping": "", "titlecase_mapping": "0524", "symbol": "\u0525" }, 1319: { "value": "0527", "name": "CYRILLIC SMALL LETTER SHHA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0526", "lowercase_mapping": "", "titlecase_mapping": "0526", "symbol": "\u0527" }, 1321: { "value": "0529", "name": "CYRILLIC SMALL LETTER EN WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0528", "lowercase_mapping": "", "titlecase_mapping": "0528", "symbol": "\u0529" }, 1323: { "value": "052B", "name": "CYRILLIC SMALL LETTER DZZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052A", "lowercase_mapping": "", "titlecase_mapping": "052A", "symbol": "\u052B" }, 1325: { "value": "052D", "name": "CYRILLIC SMALL LETTER DCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052C", "lowercase_mapping": "", "titlecase_mapping": "052C", "symbol": "\u052D" }, 1327: { "value": "052F", "name": "CYRILLIC SMALL LETTER EL WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052E", "lowercase_mapping": "", "titlecase_mapping": "052E", "symbol": "\u052F" }, 1377: { "value": "0561", "name": "ARMENIAN SMALL LETTER AYB", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0531", "lowercase_mapping": "", "titlecase_mapping": "0531", "symbol": "\u0561" }, 1378: { "value": "0562", "name": "ARMENIAN SMALL LETTER BEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0532", "lowercase_mapping": "", "titlecase_mapping": "0532", "symbol": "\u0562" }, 1379: { "value": "0563", "name": "ARMENIAN SMALL LETTER GIM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0533", "lowercase_mapping": "", "titlecase_mapping": "0533", "symbol": "\u0563" }, 1380: { "value": "0564", "name": "ARMENIAN SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0534", "lowercase_mapping": "", "titlecase_mapping": "0534", "symbol": "\u0564" }, 1381: { "value": "0565", "name": "ARMENIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0535", "lowercase_mapping": "", "titlecase_mapping": "0535", "symbol": "\u0565" }, 1382: { "value": "0566", "name": "ARMENIAN SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0536", "lowercase_mapping": "", "titlecase_mapping": "0536", "symbol": "\u0566" }, 1383: { "value": "0567", "name": "ARMENIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0537", "lowercase_mapping": "", "titlecase_mapping": "0537", "symbol": "\u0567" }, 1384: { "value": "0568", "name": "ARMENIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0538", "lowercase_mapping": "", "titlecase_mapping": "0538", "symbol": "\u0568" }, 1385: { "value": "0569", "name": "ARMENIAN SMALL LETTER TO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0539", "lowercase_mapping": "", "titlecase_mapping": "0539", "symbol": "\u0569" }, 1386: { "value": "056A", "name": "ARMENIAN SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053A", "lowercase_mapping": "", "titlecase_mapping": "053A", "symbol": "\u056A" }, 1387: { "value": "056B", "name": "ARMENIAN SMALL LETTER INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053B", "lowercase_mapping": "", "titlecase_mapping": "053B", "symbol": "\u056B" }, 1388: { "value": "056C", "name": "ARMENIAN SMALL LETTER LIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053C", "lowercase_mapping": "", "titlecase_mapping": "053C", "symbol": "\u056C" }, 1389: { "value": "056D", "name": "ARMENIAN SMALL LETTER XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053D", "lowercase_mapping": "", "titlecase_mapping": "053D", "symbol": "\u056D" }, 1390: { "value": "056E", "name": "ARMENIAN SMALL LETTER CA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053E", "lowercase_mapping": "", "titlecase_mapping": "053E", "symbol": "\u056E" }, 1391: { "value": "056F", "name": "ARMENIAN SMALL LETTER KEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053F", "lowercase_mapping": "", "titlecase_mapping": "053F", "symbol": "\u056F" }, 1392: { "value": "0570", "name": "ARMENIAN SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0540", "lowercase_mapping": "", "titlecase_mapping": "0540", "symbol": "\u0570" }, 1393: { "value": "0571", "name": "ARMENIAN SMALL LETTER JA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0541", "lowercase_mapping": "", "titlecase_mapping": "0541", "symbol": "\u0571" }, 1394: { "value": "0572", "name": "ARMENIAN SMALL LETTER GHAD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "ARMENIAN SMALL LETTER LAD", "comment": "", "uppercase_mapping": "0542", "lowercase_mapping": "", "titlecase_mapping": "0542", "symbol": "\u0572" }, 1395: { "value": "0573", "name": "ARMENIAN SMALL LETTER CHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0543", "lowercase_mapping": "", "titlecase_mapping": "0543", "symbol": "\u0573" }, 1396: { "value": "0574", "name": "ARMENIAN SMALL LETTER MEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0544", "lowercase_mapping": "", "titlecase_mapping": "0544", "symbol": "\u0574" }, 1397: { "value": "0575", "name": "ARMENIAN SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0545", "lowercase_mapping": "", "titlecase_mapping": "0545", "symbol": "\u0575" }, 1398: { "value": "0576", "name": "ARMENIAN SMALL LETTER NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0546", "lowercase_mapping": "", "titlecase_mapping": "0546", "symbol": "\u0576" }, 1399: { "value": "0577", "name": "ARMENIAN SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0547", "lowercase_mapping": "", "titlecase_mapping": "0547", "symbol": "\u0577" }, 1400: { "value": "0578", "name": "ARMENIAN SMALL LETTER VO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0548", "lowercase_mapping": "", "titlecase_mapping": "0548", "symbol": "\u0578" }, 1401: { "value": "0579", "name": "ARMENIAN SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0549", "lowercase_mapping": "", "titlecase_mapping": "0549", "symbol": "\u0579" }, 1402: { "value": "057A", "name": "ARMENIAN SMALL LETTER PEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054A", "lowercase_mapping": "", "titlecase_mapping": "054A", "symbol": "\u057A" }, 1403: { "value": "057B", "name": "ARMENIAN SMALL LETTER JHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054B", "lowercase_mapping": "", "titlecase_mapping": "054B", "symbol": "\u057B" }, 1404: { "value": "057C", "name": "ARMENIAN SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054C", "lowercase_mapping": "", "titlecase_mapping": "054C", "symbol": "\u057C" }, 1405: { "value": "057D", "name": "ARMENIAN SMALL LETTER SEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054D", "lowercase_mapping": "", "titlecase_mapping": "054D", "symbol": "\u057D" }, 1406: { "value": "057E", "name": "ARMENIAN SMALL LETTER VEW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054E", "lowercase_mapping": "", "titlecase_mapping": "054E", "symbol": "\u057E" }, 1407: { "value": "057F", "name": "ARMENIAN SMALL LETTER TIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054F", "lowercase_mapping": "", "titlecase_mapping": "054F", "symbol": "\u057F" }, 1408: { "value": "0580", "name": "ARMENIAN SMALL LETTER REH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0550", "lowercase_mapping": "", "titlecase_mapping": "0550", "symbol": "\u0580" }, 1409: { "value": "0581", "name": "ARMENIAN SMALL LETTER CO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0551", "lowercase_mapping": "", "titlecase_mapping": "0551", "symbol": "\u0581" }, 1410: { "value": "0582", "name": "ARMENIAN SMALL LETTER YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0552", "lowercase_mapping": "", "titlecase_mapping": "0552", "symbol": "\u0582" }, 1411: { "value": "0583", "name": "ARMENIAN SMALL LETTER PIWR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0553", "lowercase_mapping": "", "titlecase_mapping": "0553", "symbol": "\u0583" }, 1412: { "value": "0584", "name": "ARMENIAN SMALL LETTER KEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0554", "lowercase_mapping": "", "titlecase_mapping": "0554", "symbol": "\u0584" }, 1413: { "value": "0585", "name": "ARMENIAN SMALL LETTER OH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0555", "lowercase_mapping": "", "titlecase_mapping": "0555", "symbol": "\u0585" }, 1414: { "value": "0586", "name": "ARMENIAN SMALL LETTER FEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0556", "lowercase_mapping": "", "titlecase_mapping": "0556", "symbol": "\u0586" }, 1415: { "value": "0587", "name": "ARMENIAN SMALL LIGATURE ECH YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0565 0582", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0587" }, 5112: { "value": "13F8", "name": "CHEROKEE SMALL LETTER YE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F0", "lowercase_mapping": "", "titlecase_mapping": "13F0", "symbol": "\u13F8" }, 5113: { "value": "13F9", "name": "CHEROKEE SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F1", "lowercase_mapping": "", "titlecase_mapping": "13F1", "symbol": "\u13F9" }, 5114: { "value": "13FA", "name": "CHEROKEE SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F2", "lowercase_mapping": "", "titlecase_mapping": "13F2", "symbol": "\u13FA" }, 5115: { "value": "13FB", "name": "CHEROKEE SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F3", "lowercase_mapping": "", "titlecase_mapping": "13F3", "symbol": "\u13FB" }, 5116: { "value": "13FC", "name": "CHEROKEE SMALL LETTER YV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F4", "lowercase_mapping": "", "titlecase_mapping": "13F4", "symbol": "\u13FC" }, 5117: { "value": "13FD", "name": "CHEROKEE SMALL LETTER MV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F5", "lowercase_mapping": "", "titlecase_mapping": "13F5", "symbol": "\u13FD" }, 7296: { "value": "1C80", "name": "CYRILLIC SMALL LETTER ROUNDED VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u1C80" }, 7297: { "value": "1C81", "name": "CYRILLIC SMALL LETTER LONG-LEGGED DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u1C81" }, 7298: { "value": "1C82", "name": "CYRILLIC SMALL LETTER NARROW O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u1C82" }, 7299: { "value": "1C83", "name": "CYRILLIC SMALL LETTER WIDE ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u1C83" }, 7300: { "value": "1C84", "name": "CYRILLIC SMALL LETTER TALL TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C84" }, 7301: { "value": "1C85", "name": "CYRILLIC SMALL LETTER THREE-LEGGED TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C85" }, 7302: { "value": "1C86", "name": "CYRILLIC SMALL LETTER TALL HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u1C86" }, 7303: { "value": "1C87", "name": "CYRILLIC SMALL LETTER TALL YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u1C87" }, 7304: { "value": "1C88", "name": "CYRILLIC SMALL LETTER UNBLENDED UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\u1C88" }, 7424: { "value": "1D00", "name": "LATIN LETTER SMALL CAPITAL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D00" }, 7425: { "value": "1D01", "name": "LATIN LETTER SMALL CAPITAL AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D01" }, 7426: { "value": "1D02", "name": "LATIN SMALL LETTER TURNED AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D02" }, 7427: { "value": "1D03", "name": "LATIN LETTER SMALL CAPITAL BARRED B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D03" }, 7428: { "value": "1D04", "name": "LATIN LETTER SMALL CAPITAL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D04" }, 7429: { "value": "1D05", "name": "LATIN LETTER SMALL CAPITAL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D05" }, 7430: { "value": "1D06", "name": "LATIN LETTER SMALL CAPITAL ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D06" }, 7431: { "value": "1D07", "name": "LATIN LETTER SMALL CAPITAL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D07" }, 7432: { "value": "1D08", "name": "LATIN SMALL LETTER TURNED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D08" }, 7433: { "value": "1D09", "name": "LATIN SMALL LETTER TURNED I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D09" }, 7434: { "value": "1D0A", "name": "LATIN LETTER SMALL CAPITAL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0A" }, 7435: { "value": "1D0B", "name": "LATIN LETTER SMALL CAPITAL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0B" }, 7436: { "value": "1D0C", "name": "LATIN LETTER SMALL CAPITAL L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0C" }, 7437: { "value": "1D0D", "name": "LATIN LETTER SMALL CAPITAL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0D" }, 7438: { "value": "1D0E", "name": "LATIN LETTER SMALL CAPITAL REVERSED N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0E" }, 7439: { "value": "1D0F", "name": "LATIN LETTER SMALL CAPITAL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0F" }, 7440: { "value": "1D10", "name": "LATIN LETTER SMALL CAPITAL OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D10" }, 7441: { "value": "1D11", "name": "LATIN SMALL LETTER SIDEWAYS O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D11" }, 7442: { "value": "1D12", "name": "LATIN SMALL LETTER SIDEWAYS OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D12" }, 7443: { "value": "1D13", "name": "LATIN SMALL LETTER SIDEWAYS O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D13" }, 7444: { "value": "1D14", "name": "LATIN SMALL LETTER TURNED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D14" }, 7445: { "value": "1D15", "name": "LATIN LETTER SMALL CAPITAL OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D15" }, 7446: { "value": "1D16", "name": "LATIN SMALL LETTER TOP HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D16" }, 7447: { "value": "1D17", "name": "LATIN SMALL LETTER BOTTOM HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D17" }, 7448: { "value": "1D18", "name": "LATIN LETTER SMALL CAPITAL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D18" }, 7449: { "value": "1D19", "name": "LATIN LETTER SMALL CAPITAL REVERSED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D19" }, 7450: { "value": "1D1A", "name": "LATIN LETTER SMALL CAPITAL TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1A" }, 7451: { "value": "1D1B", "name": "LATIN LETTER SMALL CAPITAL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1B" }, 7452: { "value": "1D1C", "name": "LATIN LETTER SMALL CAPITAL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1C" }, 7453: { "value": "1D1D", "name": "LATIN SMALL LETTER SIDEWAYS U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1D" }, 7454: { "value": "1D1E", "name": "LATIN SMALL LETTER SIDEWAYS DIAERESIZED U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1E" }, 7455: { "value": "1D1F", "name": "LATIN SMALL LETTER SIDEWAYS TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1F" }, 7456: { "value": "1D20", "name": "LATIN LETTER SMALL CAPITAL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D20" }, 7457: { "value": "1D21", "name": "LATIN LETTER SMALL CAPITAL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D21" }, 7458: { "value": "1D22", "name": "LATIN LETTER SMALL CAPITAL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D22" }, 7459: { "value": "1D23", "name": "LATIN LETTER SMALL CAPITAL EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D23" }, 7460: { "value": "1D24", "name": "LATIN LETTER VOICED LARYNGEAL SPIRANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D24" }, 7461: { "value": "1D25", "name": "LATIN LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D25" }, 7462: { "value": "1D26", "name": "GREEK LETTER SMALL CAPITAL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D26" }, 7463: { "value": "1D27", "name": "GREEK LETTER SMALL CAPITAL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D27" }, 7464: { "value": "1D28", "name": "GREEK LETTER SMALL CAPITAL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D28" }, 7465: { "value": "1D29", "name": "GREEK LETTER SMALL CAPITAL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D29" }, 7466: { "value": "1D2A", "name": "GREEK LETTER SMALL CAPITAL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2A" }, 7467: { "value": "1D2B", "name": "CYRILLIC LETTER SMALL CAPITAL EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2B" }, 7531: { "value": "1D6B", "name": "LATIN SMALL LETTER UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6B" }, 7532: { "value": "1D6C", "name": "LATIN SMALL LETTER B WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6C" }, 7533: { "value": "1D6D", "name": "LATIN SMALL LETTER D WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6D" }, 7534: { "value": "1D6E", "name": "LATIN SMALL LETTER F WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6E" }, 7535: { "value": "1D6F", "name": "LATIN SMALL LETTER M WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6F" }, 7536: { "value": "1D70", "name": "LATIN SMALL LETTER N WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D70" }, 7537: { "value": "1D71", "name": "LATIN SMALL LETTER P WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D71" }, 7538: { "value": "1D72", "name": "LATIN SMALL LETTER R WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D72" }, 7539: { "value": "1D73", "name": "LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D73" }, 7540: { "value": "1D74", "name": "LATIN SMALL LETTER S WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D74" }, 7541: { "value": "1D75", "name": "LATIN SMALL LETTER T WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D75" }, 7542: { "value": "1D76", "name": "LATIN SMALL LETTER Z WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D76" }, 7543: { "value": "1D77", "name": "LATIN SMALL LETTER TURNED G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D77" }, 7545: { "value": "1D79", "name": "LATIN SMALL LETTER INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77D", "lowercase_mapping": "", "titlecase_mapping": "A77D", "symbol": "\u1D79" }, 7546: { "value": "1D7A", "name": "LATIN SMALL LETTER TH WITH STRIKETHROUGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7A" }, 7547: { "value": "1D7B", "name": "LATIN SMALL CAPITAL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7B" }, 7548: { "value": "1D7C", "name": "LATIN SMALL LETTER IOTA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7C" }, 7549: { "value": "1D7D", "name": "LATIN SMALL LETTER P WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C63", "lowercase_mapping": "", "titlecase_mapping": "2C63", "symbol": "\u1D7D" }, 7550: { "value": "1D7E", "name": "LATIN SMALL CAPITAL LETTER U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7E" }, 7551: { "value": "1D7F", "name": "LATIN SMALL LETTER UPSILON WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7F" }, 7552: { "value": "1D80", "name": "LATIN SMALL LETTER B WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D80" }, 7553: { "value": "1D81", "name": "LATIN SMALL LETTER D WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D81" }, 7554: { "value": "1D82", "name": "LATIN SMALL LETTER F WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D82" }, 7555: { "value": "1D83", "name": "LATIN SMALL LETTER G WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D83" }, 7556: { "value": "1D84", "name": "LATIN SMALL LETTER K WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D84" }, 7557: { "value": "1D85", "name": "LATIN SMALL LETTER L WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D85" }, 7558: { "value": "1D86", "name": "LATIN SMALL LETTER M WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D86" }, 7559: { "value": "1D87", "name": "LATIN SMALL LETTER N WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D87" }, 7560: { "value": "1D88", "name": "LATIN SMALL LETTER P WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D88" }, 7561: { "value": "1D89", "name": "LATIN SMALL LETTER R WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D89" }, 7562: { "value": "1D8A", "name": "LATIN SMALL LETTER S WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8A" }, 7563: { "value": "1D8B", "name": "LATIN SMALL LETTER ESH WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8B" }, 7564: { "value": "1D8C", "name": "LATIN SMALL LETTER V WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8C" }, 7565: { "value": "1D8D", "name": "LATIN SMALL LETTER X WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8D" }, 7566: { "value": "1D8E", "name": "LATIN SMALL LETTER Z WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8E" }, 7567: { "value": "1D8F", "name": "LATIN SMALL LETTER A WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8F" }, 7568: { "value": "1D90", "name": "LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D90" }, 7569: { "value": "1D91", "name": "LATIN SMALL LETTER D WITH HOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D91" }, 7570: { "value": "1D92", "name": "LATIN SMALL LETTER E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D92" }, 7571: { "value": "1D93", "name": "LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D93" }, 7572: { "value": "1D94", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D94" }, 7573: { "value": "1D95", "name": "LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D95" }, 7574: { "value": "1D96", "name": "LATIN SMALL LETTER I WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D96" }, 7575: { "value": "1D97", "name": "LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D97" }, 7576: { "value": "1D98", "name": "LATIN SMALL LETTER ESH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D98" }, 7577: { "value": "1D99", "name": "LATIN SMALL LETTER U WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D99" }, 7578: { "value": "1D9A", "name": "LATIN SMALL LETTER EZH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D9A" }, 7681: { "value": "1E01", "name": "LATIN SMALL LETTER A WITH RING BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0325", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E00", "lowercase_mapping": "", "titlecase_mapping": "1E00", "symbol": "\u1E01" }, 7683: { "value": "1E03", "name": "LATIN SMALL LETTER B WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E02", "lowercase_mapping": "", "titlecase_mapping": "1E02", "symbol": "\u1E03" }, 7685: { "value": "1E05", "name": "LATIN SMALL LETTER B WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E04", "lowercase_mapping": "", "titlecase_mapping": "1E04", "symbol": "\u1E05" }, 7687: { "value": "1E07", "name": "LATIN SMALL LETTER B WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E06", "lowercase_mapping": "", "titlecase_mapping": "1E06", "symbol": "\u1E07" }, 7689: { "value": "1E09", "name": "LATIN SMALL LETTER C WITH CEDILLA AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E08", "lowercase_mapping": "", "titlecase_mapping": "1E08", "symbol": "\u1E09" }, 7691: { "value": "1E0B", "name": "LATIN SMALL LETTER D WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0A", "lowercase_mapping": "", "titlecase_mapping": "1E0A", "symbol": "\u1E0B" }, 7693: { "value": "1E0D", "name": "LATIN SMALL LETTER D WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0C", "lowercase_mapping": "", "titlecase_mapping": "1E0C", "symbol": "\u1E0D" }, 7695: { "value": "1E0F", "name": "LATIN SMALL LETTER D WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0E", "lowercase_mapping": "", "titlecase_mapping": "1E0E", "symbol": "\u1E0F" }, 7697: { "value": "1E11", "name": "LATIN SMALL LETTER D WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E10", "lowercase_mapping": "", "titlecase_mapping": "1E10", "symbol": "\u1E11" }, 7699: { "value": "1E13", "name": "LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E12", "lowercase_mapping": "", "titlecase_mapping": "1E12", "symbol": "\u1E13" }, 7701: { "value": "1E15", "name": "LATIN SMALL LETTER E WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E14", "lowercase_mapping": "", "titlecase_mapping": "1E14", "symbol": "\u1E15" }, 7703: { "value": "1E17", "name": "LATIN SMALL LETTER E WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E16", "lowercase_mapping": "", "titlecase_mapping": "1E16", "symbol": "\u1E17" }, 7705: { "value": "1E19", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E18", "lowercase_mapping": "", "titlecase_mapping": "1E18", "symbol": "\u1E19" }, 7707: { "value": "1E1B", "name": "LATIN SMALL LETTER E WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1A", "lowercase_mapping": "", "titlecase_mapping": "1E1A", "symbol": "\u1E1B" }, 7709: { "value": "1E1D", "name": "LATIN SMALL LETTER E WITH CEDILLA AND BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0229 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1C", "lowercase_mapping": "", "titlecase_mapping": "1E1C", "symbol": "\u1E1D" }, 7711: { "value": "1E1F", "name": "LATIN SMALL LETTER F WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0066 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1E", "lowercase_mapping": "", "titlecase_mapping": "1E1E", "symbol": "\u1E1F" }, 7713: { "value": "1E21", "name": "LATIN SMALL LETTER G WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E20", "lowercase_mapping": "", "titlecase_mapping": "1E20", "symbol": "\u1E21" }, 7715: { "value": "1E23", "name": "LATIN SMALL LETTER H WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E22", "lowercase_mapping": "", "titlecase_mapping": "1E22", "symbol": "\u1E23" }, 7717: { "value": "1E25", "name": "LATIN SMALL LETTER H WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E24", "lowercase_mapping": "", "titlecase_mapping": "1E24", "symbol": "\u1E25" }, 7719: { "value": "1E27", "name": "LATIN SMALL LETTER H WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E26", "lowercase_mapping": "", "titlecase_mapping": "1E26", "symbol": "\u1E27" }, 7721: { "value": "1E29", "name": "LATIN SMALL LETTER H WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E28", "lowercase_mapping": "", "titlecase_mapping": "1E28", "symbol": "\u1E29" }, 7723: { "value": "1E2B", "name": "LATIN SMALL LETTER H WITH BREVE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 032E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2A", "lowercase_mapping": "", "titlecase_mapping": "1E2A", "symbol": "\u1E2B" }, 7725: { "value": "1E2D", "name": "LATIN SMALL LETTER I WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2C", "lowercase_mapping": "", "titlecase_mapping": "1E2C", "symbol": "\u1E2D" }, 7727: { "value": "1E2F", "name": "LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2E", "lowercase_mapping": "", "titlecase_mapping": "1E2E", "symbol": "\u1E2F" }, 7729: { "value": "1E31", "name": "LATIN SMALL LETTER K WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E30", "lowercase_mapping": "", "titlecase_mapping": "1E30", "symbol": "\u1E31" }, 7731: { "value": "1E33", "name": "LATIN SMALL LETTER K WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E32", "lowercase_mapping": "", "titlecase_mapping": "1E32", "symbol": "\u1E33" }, 7733: { "value": "1E35", "name": "LATIN SMALL LETTER K WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E34", "lowercase_mapping": "", "titlecase_mapping": "1E34", "symbol": "\u1E35" }, 7735: { "value": "1E37", "name": "LATIN SMALL LETTER L WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E36", "lowercase_mapping": "", "titlecase_mapping": "1E36", "symbol": "\u1E37" }, 7737: { "value": "1E39", "name": "LATIN SMALL LETTER L WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E37 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E38", "lowercase_mapping": "", "titlecase_mapping": "1E38", "symbol": "\u1E39" }, 7739: { "value": "1E3B", "name": "LATIN SMALL LETTER L WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3A", "lowercase_mapping": "", "titlecase_mapping": "1E3A", "symbol": "\u1E3B" }, 7741: { "value": "1E3D", "name": "LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3C", "lowercase_mapping": "", "titlecase_mapping": "1E3C", "symbol": "\u1E3D" }, 7743: { "value": "1E3F", "name": "LATIN SMALL LETTER M WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3E", "lowercase_mapping": "", "titlecase_mapping": "1E3E", "symbol": "\u1E3F" }, 7745: { "value": "1E41", "name": "LATIN SMALL LETTER M WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E40", "lowercase_mapping": "", "titlecase_mapping": "1E40", "symbol": "\u1E41" }, 7747: { "value": "1E43", "name": "LATIN SMALL LETTER M WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E42", "lowercase_mapping": "", "titlecase_mapping": "1E42", "symbol": "\u1E43" }, 7749: { "value": "1E45", "name": "LATIN SMALL LETTER N WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E44", "lowercase_mapping": "", "titlecase_mapping": "1E44", "symbol": "\u1E45" }, 7751: { "value": "1E47", "name": "LATIN SMALL LETTER N WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E46", "lowercase_mapping": "", "titlecase_mapping": "1E46", "symbol": "\u1E47" }, 7753: { "value": "1E49", "name": "LATIN SMALL LETTER N WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E48", "lowercase_mapping": "", "titlecase_mapping": "1E48", "symbol": "\u1E49" }, 7755: { "value": "1E4B", "name": "LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4A", "lowercase_mapping": "", "titlecase_mapping": "1E4A", "symbol": "\u1E4B" }, 7757: { "value": "1E4D", "name": "LATIN SMALL LETTER O WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4C", "lowercase_mapping": "", "titlecase_mapping": "1E4C", "symbol": "\u1E4D" }, 7759: { "value": "1E4F", "name": "LATIN SMALL LETTER O WITH TILDE AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4E", "lowercase_mapping": "", "titlecase_mapping": "1E4E", "symbol": "\u1E4F" }, 7761: { "value": "1E51", "name": "LATIN SMALL LETTER O WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E50", "lowercase_mapping": "", "titlecase_mapping": "1E50", "symbol": "\u1E51" }, 7763: { "value": "1E53", "name": "LATIN SMALL LETTER O WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E52", "lowercase_mapping": "", "titlecase_mapping": "1E52", "symbol": "\u1E53" }, 7765: { "value": "1E55", "name": "LATIN SMALL LETTER P WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E54", "lowercase_mapping": "", "titlecase_mapping": "1E54", "symbol": "\u1E55" }, 7767: { "value": "1E57", "name": "LATIN SMALL LETTER P WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E56", "lowercase_mapping": "", "titlecase_mapping": "1E56", "symbol": "\u1E57" }, 7769: { "value": "1E59", "name": "LATIN SMALL LETTER R WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E58", "lowercase_mapping": "", "titlecase_mapping": "1E58", "symbol": "\u1E59" }, 7771: { "value": "1E5B", "name": "LATIN SMALL LETTER R WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5A", "lowercase_mapping": "", "titlecase_mapping": "1E5A", "symbol": "\u1E5B" }, 7773: { "value": "1E5D", "name": "LATIN SMALL LETTER R WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E5B 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5C", "lowercase_mapping": "", "titlecase_mapping": "1E5C", "symbol": "\u1E5D" }, 7775: { "value": "1E5F", "name": "LATIN SMALL LETTER R WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5E", "lowercase_mapping": "", "titlecase_mapping": "1E5E", "symbol": "\u1E5F" }, 7777: { "value": "1E61", "name": "LATIN SMALL LETTER S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E61" }, 7779: { "value": "1E63", "name": "LATIN SMALL LETTER S WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E62", "lowercase_mapping": "", "titlecase_mapping": "1E62", "symbol": "\u1E63" }, 7781: { "value": "1E65", "name": "LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "015B 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E64", "lowercase_mapping": "", "titlecase_mapping": "1E64", "symbol": "\u1E65" }, 7783: { "value": "1E67", "name": "LATIN SMALL LETTER S WITH CARON AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0161 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E66", "lowercase_mapping": "", "titlecase_mapping": "1E66", "symbol": "\u1E67" }, 7785: { "value": "1E69", "name": "LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E63 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E68", "lowercase_mapping": "", "titlecase_mapping": "1E68", "symbol": "\u1E69" }, 7787: { "value": "1E6B", "name": "LATIN SMALL LETTER T WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6A", "lowercase_mapping": "", "titlecase_mapping": "1E6A", "symbol": "\u1E6B" }, 7789: { "value": "1E6D", "name": "LATIN SMALL LETTER T WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6C", "lowercase_mapping": "", "titlecase_mapping": "1E6C", "symbol": "\u1E6D" }, 7791: { "value": "1E6F", "name": "LATIN SMALL LETTER T WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6E", "lowercase_mapping": "", "titlecase_mapping": "1E6E", "symbol": "\u1E6F" }, 7793: { "value": "1E71", "name": "LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E70", "lowercase_mapping": "", "titlecase_mapping": "1E70", "symbol": "\u1E71" }, 7795: { "value": "1E73", "name": "LATIN SMALL LETTER U WITH DIAERESIS BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0324", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E72", "lowercase_mapping": "", "titlecase_mapping": "1E72", "symbol": "\u1E73" }, 7797: { "value": "1E75", "name": "LATIN SMALL LETTER U WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E74", "lowercase_mapping": "", "titlecase_mapping": "1E74", "symbol": "\u1E75" }, 7799: { "value": "1E77", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E76", "lowercase_mapping": "", "titlecase_mapping": "1E76", "symbol": "\u1E77" }, 7801: { "value": "1E79", "name": "LATIN SMALL LETTER U WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0169 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E78", "lowercase_mapping": "", "titlecase_mapping": "1E78", "symbol": "\u1E79" }, 7803: { "value": "1E7B", "name": "LATIN SMALL LETTER U WITH MACRON AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "016B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7A", "lowercase_mapping": "", "titlecase_mapping": "1E7A", "symbol": "\u1E7B" }, 7805: { "value": "1E7D", "name": "LATIN SMALL LETTER V WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7C", "lowercase_mapping": "", "titlecase_mapping": "1E7C", "symbol": "\u1E7D" }, 7807: { "value": "1E7F", "name": "LATIN SMALL LETTER V WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7E", "lowercase_mapping": "", "titlecase_mapping": "1E7E", "symbol": "\u1E7F" }, 7809: { "value": "1E81", "name": "LATIN SMALL LETTER W WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E80", "lowercase_mapping": "", "titlecase_mapping": "1E80", "symbol": "\u1E81" }, 7811: { "value": "1E83", "name": "LATIN SMALL LETTER W WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E82", "lowercase_mapping": "", "titlecase_mapping": "1E82", "symbol": "\u1E83" }, 7813: { "value": "1E85", "name": "LATIN SMALL LETTER W WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E84", "lowercase_mapping": "", "titlecase_mapping": "1E84", "symbol": "\u1E85" }, 7815: { "value": "1E87", "name": "LATIN SMALL LETTER W WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E86", "lowercase_mapping": "", "titlecase_mapping": "1E86", "symbol": "\u1E87" }, 7817: { "value": "1E89", "name": "LATIN SMALL LETTER W WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E88", "lowercase_mapping": "", "titlecase_mapping": "1E88", "symbol": "\u1E89" }, 7819: { "value": "1E8B", "name": "LATIN SMALL LETTER X WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8A", "lowercase_mapping": "", "titlecase_mapping": "1E8A", "symbol": "\u1E8B" }, 7821: { "value": "1E8D", "name": "LATIN SMALL LETTER X WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8C", "lowercase_mapping": "", "titlecase_mapping": "1E8C", "symbol": "\u1E8D" }, 7823: { "value": "1E8F", "name": "LATIN SMALL LETTER Y WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8E", "lowercase_mapping": "", "titlecase_mapping": "1E8E", "symbol": "\u1E8F" }, 7825: { "value": "1E91", "name": "LATIN SMALL LETTER Z WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90", "lowercase_mapping": "", "titlecase_mapping": "1E90", "symbol": "\u1E91" }, 7827: { "value": "1E93", "name": "LATIN SMALL LETTER Z WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E92", "lowercase_mapping": "", "titlecase_mapping": "1E92", "symbol": "\u1E93" }, 7829: { "value": "1E95", "name": "LATIN SMALL LETTER Z WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E94", "lowercase_mapping": "", "titlecase_mapping": "1E94", "symbol": "\u1E95" }, 7830: { "value": "1E96", "name": "LATIN SMALL LETTER H WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E96" }, 7831: { "value": "1E97", "name": "LATIN SMALL LETTER T WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E97" }, 7832: { "value": "1E98", "name": "LATIN SMALL LETTER W WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E98" }, 7833: { "value": "1E99", "name": "LATIN SMALL LETTER Y WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E99" }, 7834: { "value": "1E9A", "name": "LATIN SMALL LETTER A WITH RIGHT HALF RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061 02BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9A" }, 7835: { "value": "1E9B", "name": "LATIN SMALL LETTER LONG S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "017F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E9B" }, 7836: { "value": "1E9C", "name": "LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9C" }, 7837: { "value": "1E9D", "name": "LATIN SMALL LETTER LONG S WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9D" }, 7839: { "value": "1E9F", "name": "LATIN SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9F" }, 7841: { "value": "1EA1", "name": "LATIN SMALL LETTER A WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA0", "lowercase_mapping": "", "titlecase_mapping": "1EA0", "symbol": "\u1EA1" }, 7843: { "value": "1EA3", "name": "LATIN SMALL LETTER A WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA2", "lowercase_mapping": "", "titlecase_mapping": "1EA2", "symbol": "\u1EA3" }, 7845: { "value": "1EA5", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA4", "lowercase_mapping": "", "titlecase_mapping": "1EA4", "symbol": "\u1EA5" }, 7847: { "value": "1EA7", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA6", "lowercase_mapping": "", "titlecase_mapping": "1EA6", "symbol": "\u1EA7" }, 7849: { "value": "1EA9", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA8", "lowercase_mapping": "", "titlecase_mapping": "1EA8", "symbol": "\u1EA9" }, 7851: { "value": "1EAB", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAA", "lowercase_mapping": "", "titlecase_mapping": "1EAA", "symbol": "\u1EAB" }, 7853: { "value": "1EAD", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAC", "lowercase_mapping": "", "titlecase_mapping": "1EAC", "symbol": "\u1EAD" }, 7855: { "value": "1EAF", "name": "LATIN SMALL LETTER A WITH BREVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAE", "lowercase_mapping": "", "titlecase_mapping": "1EAE", "symbol": "\u1EAF" }, 7857: { "value": "1EB1", "name": "LATIN SMALL LETTER A WITH BREVE AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB0", "lowercase_mapping": "", "titlecase_mapping": "1EB0", "symbol": "\u1EB1" }, 7859: { "value": "1EB3", "name": "LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB2", "lowercase_mapping": "", "titlecase_mapping": "1EB2", "symbol": "\u1EB3" }, 7861: { "value": "1EB5", "name": "LATIN SMALL LETTER A WITH BREVE AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB4", "lowercase_mapping": "", "titlecase_mapping": "1EB4", "symbol": "\u1EB5" }, 7863: { "value": "1EB7", "name": "LATIN SMALL LETTER A WITH BREVE AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB6", "lowercase_mapping": "", "titlecase_mapping": "1EB6", "symbol": "\u1EB7" }, 7865: { "value": "1EB9", "name": "LATIN SMALL LETTER E WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB8", "lowercase_mapping": "", "titlecase_mapping": "1EB8", "symbol": "\u1EB9" }, 7867: { "value": "1EBB", "name": "LATIN SMALL LETTER E WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBA", "lowercase_mapping": "", "titlecase_mapping": "1EBA", "symbol": "\u1EBB" }, 7869: { "value": "1EBD", "name": "LATIN SMALL LETTER E WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBC", "lowercase_mapping": "", "titlecase_mapping": "1EBC", "symbol": "\u1EBD" }, 7871: { "value": "1EBF", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBE", "lowercase_mapping": "", "titlecase_mapping": "1EBE", "symbol": "\u1EBF" }, 7873: { "value": "1EC1", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC0", "lowercase_mapping": "", "titlecase_mapping": "1EC0", "symbol": "\u1EC1" }, 7875: { "value": "1EC3", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC2", "lowercase_mapping": "", "titlecase_mapping": "1EC2", "symbol": "\u1EC3" }, 7877: { "value": "1EC5", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC4", "lowercase_mapping": "", "titlecase_mapping": "1EC4", "symbol": "\u1EC5" }, 7879: { "value": "1EC7", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EB9 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC6", "lowercase_mapping": "", "titlecase_mapping": "1EC6", "symbol": "\u1EC7" }, 7881: { "value": "1EC9", "name": "LATIN SMALL LETTER I WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC8", "lowercase_mapping": "", "titlecase_mapping": "1EC8", "symbol": "\u1EC9" }, 7883: { "value": "1ECB", "name": "LATIN SMALL LETTER I WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECA", "lowercase_mapping": "", "titlecase_mapping": "1ECA", "symbol": "\u1ECB" }, 7885: { "value": "1ECD", "name": "LATIN SMALL LETTER O WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECC", "lowercase_mapping": "", "titlecase_mapping": "1ECC", "symbol": "\u1ECD" }, 7887: { "value": "1ECF", "name": "LATIN SMALL LETTER O WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECE", "lowercase_mapping": "", "titlecase_mapping": "1ECE", "symbol": "\u1ECF" }, 7889: { "value": "1ED1", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED0", "lowercase_mapping": "", "titlecase_mapping": "1ED0", "symbol": "\u1ED1" }, 7891: { "value": "1ED3", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED2", "lowercase_mapping": "", "titlecase_mapping": "1ED2", "symbol": "\u1ED3" }, 7893: { "value": "1ED5", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED4", "lowercase_mapping": "", "titlecase_mapping": "1ED4", "symbol": "\u1ED5" }, 7895: { "value": "1ED7", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED6", "lowercase_mapping": "", "titlecase_mapping": "1ED6", "symbol": "\u1ED7" }, 7897: { "value": "1ED9", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1ECD 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED8", "lowercase_mapping": "", "titlecase_mapping": "1ED8", "symbol": "\u1ED9" }, 7899: { "value": "1EDB", "name": "LATIN SMALL LETTER O WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDA", "lowercase_mapping": "", "titlecase_mapping": "1EDA", "symbol": "\u1EDB" }, 7901: { "value": "1EDD", "name": "LATIN SMALL LETTER O WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDC", "lowercase_mapping": "", "titlecase_mapping": "1EDC", "symbol": "\u1EDD" }, 7903: { "value": "1EDF", "name": "LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDE", "lowercase_mapping": "", "titlecase_mapping": "1EDE", "symbol": "\u1EDF" }, 7905: { "value": "1EE1", "name": "LATIN SMALL LETTER O WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE0", "lowercase_mapping": "", "titlecase_mapping": "1EE0", "symbol": "\u1EE1" }, 7907: { "value": "1EE3", "name": "LATIN SMALL LETTER O WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE2", "lowercase_mapping": "", "titlecase_mapping": "1EE2", "symbol": "\u1EE3" }, 7909: { "value": "1EE5", "name": "LATIN SMALL LETTER U WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE4", "lowercase_mapping": "", "titlecase_mapping": "1EE4", "symbol": "\u1EE5" }, 7911: { "value": "1EE7", "name": "LATIN SMALL LETTER U WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE6", "lowercase_mapping": "", "titlecase_mapping": "1EE6", "symbol": "\u1EE7" }, 7913: { "value": "1EE9", "name": "LATIN SMALL LETTER U WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE8", "lowercase_mapping": "", "titlecase_mapping": "1EE8", "symbol": "\u1EE9" }, 7915: { "value": "1EEB", "name": "LATIN SMALL LETTER U WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEA", "lowercase_mapping": "", "titlecase_mapping": "1EEA", "symbol": "\u1EEB" }, 7917: { "value": "1EED", "name": "LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEC", "lowercase_mapping": "", "titlecase_mapping": "1EEC", "symbol": "\u1EED" }, 7919: { "value": "1EEF", "name": "LATIN SMALL LETTER U WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEE", "lowercase_mapping": "", "titlecase_mapping": "1EEE", "symbol": "\u1EEF" }, 7921: { "value": "1EF1", "name": "LATIN SMALL LETTER U WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF0", "lowercase_mapping": "", "titlecase_mapping": "1EF0", "symbol": "\u1EF1" }, 7923: { "value": "1EF3", "name": "LATIN SMALL LETTER Y WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF2", "lowercase_mapping": "", "titlecase_mapping": "1EF2", "symbol": "\u1EF3" }, 7925: { "value": "1EF5", "name": "LATIN SMALL LETTER Y WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF4", "lowercase_mapping": "", "titlecase_mapping": "1EF4", "symbol": "\u1EF5" }, 7927: { "value": "1EF7", "name": "LATIN SMALL LETTER Y WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF6", "lowercase_mapping": "", "titlecase_mapping": "1EF6", "symbol": "\u1EF7" }, 7929: { "value": "1EF9", "name": "LATIN SMALL LETTER Y WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF8", "lowercase_mapping": "", "titlecase_mapping": "1EF8", "symbol": "\u1EF9" }, 7931: { "value": "1EFB", "name": "LATIN SMALL LETTER MIDDLE-WELSH LL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFA", "lowercase_mapping": "", "titlecase_mapping": "1EFA", "symbol": "\u1EFB" }, 7933: { "value": "1EFD", "name": "LATIN SMALL LETTER MIDDLE-WELSH V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFC", "lowercase_mapping": "", "titlecase_mapping": "1EFC", "symbol": "\u1EFD" }, 7935: { "value": "1EFF", "name": "LATIN SMALL LETTER Y WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFE", "lowercase_mapping": "", "titlecase_mapping": "1EFE", "symbol": "\u1EFF" }, 7936: { "value": "1F00", "name": "GREEK SMALL LETTER ALPHA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F08", "lowercase_mapping": "", "titlecase_mapping": "1F08", "symbol": "\u1F00" }, 7937: { "value": "1F01", "name": "GREEK SMALL LETTER ALPHA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F09", "lowercase_mapping": "", "titlecase_mapping": "1F09", "symbol": "\u1F01" }, 7938: { "value": "1F02", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0A", "lowercase_mapping": "", "titlecase_mapping": "1F0A", "symbol": "\u1F02" }, 7939: { "value": "1F03", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0B", "lowercase_mapping": "", "titlecase_mapping": "1F0B", "symbol": "\u1F03" }, 7940: { "value": "1F04", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0C", "lowercase_mapping": "", "titlecase_mapping": "1F0C", "symbol": "\u1F04" }, 7941: { "value": "1F05", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0D", "lowercase_mapping": "", "titlecase_mapping": "1F0D", "symbol": "\u1F05" }, 7942: { "value": "1F06", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0E", "lowercase_mapping": "", "titlecase_mapping": "1F0E", "symbol": "\u1F06" }, 7943: { "value": "1F07", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0F", "lowercase_mapping": "", "titlecase_mapping": "1F0F", "symbol": "\u1F07" }, 7952: { "value": "1F10", "name": "GREEK SMALL LETTER EPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F18", "lowercase_mapping": "", "titlecase_mapping": "1F18", "symbol": "\u1F10" }, 7953: { "value": "1F11", "name": "GREEK SMALL LETTER EPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F19", "lowercase_mapping": "", "titlecase_mapping": "1F19", "symbol": "\u1F11" }, 7954: { "value": "1F12", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1A", "lowercase_mapping": "", "titlecase_mapping": "1F1A", "symbol": "\u1F12" }, 7955: { "value": "1F13", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1B", "lowercase_mapping": "", "titlecase_mapping": "1F1B", "symbol": "\u1F13" }, 7956: { "value": "1F14", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1C", "lowercase_mapping": "", "titlecase_mapping": "1F1C", "symbol": "\u1F14" }, 7957: { "value": "1F15", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1D", "lowercase_mapping": "", "titlecase_mapping": "1F1D", "symbol": "\u1F15" }, 7968: { "value": "1F20", "name": "GREEK SMALL LETTER ETA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F28", "lowercase_mapping": "", "titlecase_mapping": "1F28", "symbol": "\u1F20" }, 7969: { "value": "1F21", "name": "GREEK SMALL LETTER ETA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F29", "lowercase_mapping": "", "titlecase_mapping": "1F29", "symbol": "\u1F21" }, 7970: { "value": "1F22", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2A", "lowercase_mapping": "", "titlecase_mapping": "1F2A", "symbol": "\u1F22" }, 7971: { "value": "1F23", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2B", "lowercase_mapping": "", "titlecase_mapping": "1F2B", "symbol": "\u1F23" }, 7972: { "value": "1F24", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2C", "lowercase_mapping": "", "titlecase_mapping": "1F2C", "symbol": "\u1F24" }, 7973: { "value": "1F25", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2D", "lowercase_mapping": "", "titlecase_mapping": "1F2D", "symbol": "\u1F25" }, 7974: { "value": "1F26", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2E", "lowercase_mapping": "", "titlecase_mapping": "1F2E", "symbol": "\u1F26" }, 7975: { "value": "1F27", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2F", "lowercase_mapping": "", "titlecase_mapping": "1F2F", "symbol": "\u1F27" }, 7984: { "value": "1F30", "name": "GREEK SMALL LETTER IOTA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F38", "lowercase_mapping": "", "titlecase_mapping": "1F38", "symbol": "\u1F30" }, 7985: { "value": "1F31", "name": "GREEK SMALL LETTER IOTA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F39", "lowercase_mapping": "", "titlecase_mapping": "1F39", "symbol": "\u1F31" }, 7986: { "value": "1F32", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3A", "lowercase_mapping": "", "titlecase_mapping": "1F3A", "symbol": "\u1F32" }, 7987: { "value": "1F33", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3B", "lowercase_mapping": "", "titlecase_mapping": "1F3B", "symbol": "\u1F33" }, 7988: { "value": "1F34", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3C", "lowercase_mapping": "", "titlecase_mapping": "1F3C", "symbol": "\u1F34" }, 7989: { "value": "1F35", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3D", "lowercase_mapping": "", "titlecase_mapping": "1F3D", "symbol": "\u1F35" }, 7990: { "value": "1F36", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3E", "lowercase_mapping": "", "titlecase_mapping": "1F3E", "symbol": "\u1F36" }, 7991: { "value": "1F37", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3F", "lowercase_mapping": "", "titlecase_mapping": "1F3F", "symbol": "\u1F37" }, 8000: { "value": "1F40", "name": "GREEK SMALL LETTER OMICRON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F48", "lowercase_mapping": "", "titlecase_mapping": "1F48", "symbol": "\u1F40" }, 8001: { "value": "1F41", "name": "GREEK SMALL LETTER OMICRON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F49", "lowercase_mapping": "", "titlecase_mapping": "1F49", "symbol": "\u1F41" }, 8002: { "value": "1F42", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4A", "lowercase_mapping": "", "titlecase_mapping": "1F4A", "symbol": "\u1F42" }, 8003: { "value": "1F43", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4B", "lowercase_mapping": "", "titlecase_mapping": "1F4B", "symbol": "\u1F43" }, 8004: { "value": "1F44", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4C", "lowercase_mapping": "", "titlecase_mapping": "1F4C", "symbol": "\u1F44" }, 8005: { "value": "1F45", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4D", "lowercase_mapping": "", "titlecase_mapping": "1F4D", "symbol": "\u1F45" }, 8016: { "value": "1F50", "name": "GREEK SMALL LETTER UPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F50" }, 8017: { "value": "1F51", "name": "GREEK SMALL LETTER UPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F59", "lowercase_mapping": "", "titlecase_mapping": "1F59", "symbol": "\u1F51" }, 8018: { "value": "1F52", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F52" }, 8019: { "value": "1F53", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5B", "lowercase_mapping": "", "titlecase_mapping": "1F5B", "symbol": "\u1F53" }, 8020: { "value": "1F54", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F54" }, 8021: { "value": "1F55", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5D", "lowercase_mapping": "", "titlecase_mapping": "1F5D", "symbol": "\u1F55" }, 8022: { "value": "1F56", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F56" }, 8023: { "value": "1F57", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5F", "lowercase_mapping": "", "titlecase_mapping": "1F5F", "symbol": "\u1F57" }, 8032: { "value": "1F60", "name": "GREEK SMALL LETTER OMEGA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F68", "lowercase_mapping": "", "titlecase_mapping": "1F68", "symbol": "\u1F60" }, 8033: { "value": "1F61", "name": "GREEK SMALL LETTER OMEGA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F69", "lowercase_mapping": "", "titlecase_mapping": "1F69", "symbol": "\u1F61" }, 8034: { "value": "1F62", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6A", "lowercase_mapping": "", "titlecase_mapping": "1F6A", "symbol": "\u1F62" }, 8035: { "value": "1F63", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6B", "lowercase_mapping": "", "titlecase_mapping": "1F6B", "symbol": "\u1F63" }, 8036: { "value": "1F64", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6C", "lowercase_mapping": "", "titlecase_mapping": "1F6C", "symbol": "\u1F64" }, 8037: { "value": "1F65", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6D", "lowercase_mapping": "", "titlecase_mapping": "1F6D", "symbol": "\u1F65" }, 8038: { "value": "1F66", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6E", "lowercase_mapping": "", "titlecase_mapping": "1F6E", "symbol": "\u1F66" }, 8039: { "value": "1F67", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6F", "lowercase_mapping": "", "titlecase_mapping": "1F6F", "symbol": "\u1F67" }, 8048: { "value": "1F70", "name": "GREEK SMALL LETTER ALPHA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBA", "lowercase_mapping": "", "titlecase_mapping": "1FBA", "symbol": "\u1F70" }, 8049: { "value": "1F71", "name": "GREEK SMALL LETTER ALPHA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBB", "lowercase_mapping": "", "titlecase_mapping": "1FBB", "symbol": "\u1F71" }, 8050: { "value": "1F72", "name": "GREEK SMALL LETTER EPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC8", "lowercase_mapping": "", "titlecase_mapping": "1FC8", "symbol": "\u1F72" }, 8051: { "value": "1F73", "name": "GREEK SMALL LETTER EPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC9", "lowercase_mapping": "", "titlecase_mapping": "1FC9", "symbol": "\u1F73" }, 8052: { "value": "1F74", "name": "GREEK SMALL LETTER ETA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCA", "lowercase_mapping": "", "titlecase_mapping": "1FCA", "symbol": "\u1F74" }, 8053: { "value": "1F75", "name": "GREEK SMALL LETTER ETA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCB", "lowercase_mapping": "", "titlecase_mapping": "1FCB", "symbol": "\u1F75" }, 8054: { "value": "1F76", "name": "GREEK SMALL LETTER IOTA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDA", "lowercase_mapping": "", "titlecase_mapping": "1FDA", "symbol": "\u1F76" }, 8055: { "value": "1F77", "name": "GREEK SMALL LETTER IOTA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDB", "lowercase_mapping": "", "titlecase_mapping": "1FDB", "symbol": "\u1F77" }, 8056: { "value": "1F78", "name": "GREEK SMALL LETTER OMICRON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF8", "lowercase_mapping": "", "titlecase_mapping": "1FF8", "symbol": "\u1F78" }, 8057: { "value": "1F79", "name": "GREEK SMALL LETTER OMICRON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF9", "lowercase_mapping": "", "titlecase_mapping": "1FF9", "symbol": "\u1F79" }, 8058: { "value": "1F7A", "name": "GREEK SMALL LETTER UPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEA", "lowercase_mapping": "", "titlecase_mapping": "1FEA", "symbol": "\u1F7A" }, 8059: { "value": "1F7B", "name": "GREEK SMALL LETTER UPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEB", "lowercase_mapping": "", "titlecase_mapping": "1FEB", "symbol": "\u1F7B" }, 8060: { "value": "1F7C", "name": "GREEK SMALL LETTER OMEGA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFA", "lowercase_mapping": "", "titlecase_mapping": "1FFA", "symbol": "\u1F7C" }, 8061: { "value": "1F7D", "name": "GREEK SMALL LETTER OMEGA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFB", "lowercase_mapping": "", "titlecase_mapping": "1FFB", "symbol": "\u1F7D" }, 8064: { "value": "1F80", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F88", "lowercase_mapping": "", "titlecase_mapping": "1F88", "symbol": "\u1F80" }, 8065: { "value": "1F81", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F89", "lowercase_mapping": "", "titlecase_mapping": "1F89", "symbol": "\u1F81" }, 8066: { "value": "1F82", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F02 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8A", "lowercase_mapping": "", "titlecase_mapping": "1F8A", "symbol": "\u1F82" }, 8067: { "value": "1F83", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F03 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8B", "lowercase_mapping": "", "titlecase_mapping": "1F8B", "symbol": "\u1F83" }, 8068: { "value": "1F84", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F04 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8C", "lowercase_mapping": "", "titlecase_mapping": "1F8C", "symbol": "\u1F84" }, 8069: { "value": "1F85", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F05 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8D", "lowercase_mapping": "", "titlecase_mapping": "1F8D", "symbol": "\u1F85" }, 8070: { "value": "1F86", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F06 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8E", "lowercase_mapping": "", "titlecase_mapping": "1F8E", "symbol": "\u1F86" }, 8071: { "value": "1F87", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F07 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8F", "lowercase_mapping": "", "titlecase_mapping": "1F8F", "symbol": "\u1F87" }, 8080: { "value": "1F90", "name": "GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F98", "lowercase_mapping": "", "titlecase_mapping": "1F98", "symbol": "\u1F90" }, 8081: { "value": "1F91", "name": "GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F99", "lowercase_mapping": "", "titlecase_mapping": "1F99", "symbol": "\u1F91" }, 8082: { "value": "1F92", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F22 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9A", "lowercase_mapping": "", "titlecase_mapping": "1F9A", "symbol": "\u1F92" }, 8083: { "value": "1F93", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F23 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9B", "lowercase_mapping": "", "titlecase_mapping": "1F9B", "symbol": "\u1F93" }, 8084: { "value": "1F94", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F24 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9C", "lowercase_mapping": "", "titlecase_mapping": "1F9C", "symbol": "\u1F94" }, 8085: { "value": "1F95", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F25 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9D", "lowercase_mapping": "", "titlecase_mapping": "1F9D", "symbol": "\u1F95" }, 8086: { "value": "1F96", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F26 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9E", "lowercase_mapping": "", "titlecase_mapping": "1F9E", "symbol": "\u1F96" }, 8087: { "value": "1F97", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F27 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9F", "lowercase_mapping": "", "titlecase_mapping": "1F9F", "symbol": "\u1F97" }, 8096: { "value": "1FA0", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA8", "lowercase_mapping": "", "titlecase_mapping": "1FA8", "symbol": "\u1FA0" }, 8097: { "value": "1FA1", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA9", "lowercase_mapping": "", "titlecase_mapping": "1FA9", "symbol": "\u1FA1" }, 8098: { "value": "1FA2", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F62 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAA", "lowercase_mapping": "", "titlecase_mapping": "1FAA", "symbol": "\u1FA2" }, 8099: { "value": "1FA3", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F63 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAB", "lowercase_mapping": "", "titlecase_mapping": "1FAB", "symbol": "\u1FA3" }, 8100: { "value": "1FA4", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F64 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAC", "lowercase_mapping": "", "titlecase_mapping": "1FAC", "symbol": "\u1FA4" }, 8101: { "value": "1FA5", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F65 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAD", "lowercase_mapping": "", "titlecase_mapping": "1FAD", "symbol": "\u1FA5" }, 8102: { "value": "1FA6", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F66 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAE", "lowercase_mapping": "", "titlecase_mapping": "1FAE", "symbol": "\u1FA6" }, 8103: { "value": "1FA7", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F67 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAF", "lowercase_mapping": "", "titlecase_mapping": "1FAF", "symbol": "\u1FA7" }, 8112: { "value": "1FB0", "name": "GREEK SMALL LETTER ALPHA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB8", "lowercase_mapping": "", "titlecase_mapping": "1FB8", "symbol": "\u1FB0" }, 8113: { "value": "1FB1", "name": "GREEK SMALL LETTER ALPHA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB9", "lowercase_mapping": "", "titlecase_mapping": "1FB9", "symbol": "\u1FB1" }, 8114: { "value": "1FB2", "name": "GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F70 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB2" }, 8115: { "value": "1FB3", "name": "GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBC", "lowercase_mapping": "", "titlecase_mapping": "1FBC", "symbol": "\u1FB3" }, 8116: { "value": "1FB4", "name": "GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB4" }, 8118: { "value": "1FB6", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB6" }, 8119: { "value": "1FB7", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FB6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB7" }, 8126: { "value": "1FBE", "name": "GREEK PROSGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u1FBE" }, 8130: { "value": "1FC2", "name": "GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F74 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC2" }, 8131: { "value": "1FC3", "name": "GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCC", "lowercase_mapping": "", "titlecase_mapping": "1FCC", "symbol": "\u1FC3" }, 8132: { "value": "1FC4", "name": "GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC4" }, 8134: { "value": "1FC6", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC6" }, 8135: { "value": "1FC7", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FC6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC7" }, 8144: { "value": "1FD0", "name": "GREEK SMALL LETTER IOTA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD8", "lowercase_mapping": "", "titlecase_mapping": "1FD8", "symbol": "\u1FD0" }, 8145: { "value": "1FD1", "name": "GREEK SMALL LETTER IOTA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD9", "lowercase_mapping": "", "titlecase_mapping": "1FD9", "symbol": "\u1FD1" }, 8146: { "value": "1FD2", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD2" }, 8147: { "value": "1FD3", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0390", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD3" }, 8150: { "value": "1FD6", "name": "GREEK SMALL LETTER IOTA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD6" }, 8151: { "value": "1FD7", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD7" }, 8160: { "value": "1FE0", "name": "GREEK SMALL LETTER UPSILON WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE8", "lowercase_mapping": "", "titlecase_mapping": "1FE8", "symbol": "\u1FE0" }, 8161: { "value": "1FE1", "name": "GREEK SMALL LETTER UPSILON WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE9", "lowercase_mapping": "", "titlecase_mapping": "1FE9", "symbol": "\u1FE1" }, 8162: { "value": "1FE2", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE2" }, 8163: { "value": "1FE3", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE3" }, 8164: { "value": "1FE4", "name": "GREEK SMALL LETTER RHO WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE4" }, 8165: { "value": "1FE5", "name": "GREEK SMALL LETTER RHO WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEC", "lowercase_mapping": "", "titlecase_mapping": "1FEC", "symbol": "\u1FE5" }, 8166: { "value": "1FE6", "name": "GREEK SMALL LETTER UPSILON WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE6" }, 8167: { "value": "1FE7", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE7" }, 8178: { "value": "1FF2", "name": "GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F7C 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF2" }, 8179: { "value": "1FF3", "name": "GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFC", "lowercase_mapping": "", "titlecase_mapping": "1FFC", "symbol": "\u1FF3" }, 8180: { "value": "1FF4", "name": "GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF4" }, 8182: { "value": "1FF6", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF6" }, 8183: { "value": "1FF7", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FF6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF7" }, 8458: { "value": "210A", "name": "SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210A" }, 8462: { "value": "210E", "name": "PLANCK CONSTANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210E" }, 8463: { "value": "210F", "name": "PLANCK CONSTANT OVER TWO PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0127", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "PLANCK CONSTANT OVER 2 PI", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210F" }, 8467: { "value": "2113", "name": "SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2113" }, 8495: { "value": "212F", "name": "SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u212F" }, 8500: { "value": "2134", "name": "SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2134" }, 8505: { "value": "2139", "name": "INFORMATION SOURCE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2139" }, 8508: { "value": "213C", "name": "DOUBLE-STRUCK SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213C" }, 8509: { "value": "213D", "name": "DOUBLE-STRUCK SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213D" }, 8518: { "value": "2146", "name": "DOUBLE-STRUCK ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2146" }, 8519: { "value": "2147", "name": "DOUBLE-STRUCK ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2147" }, 8520: { "value": "2148", "name": "DOUBLE-STRUCK ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2148" }, 8521: { "value": "2149", "name": "DOUBLE-STRUCK ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2149" }, 8526: { "value": "214E", "name": "TURNED SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2132", "lowercase_mapping": "", "titlecase_mapping": "2132", "symbol": "\u214E" }, 8580: { "value": "2184", "name": "LATIN SMALL LETTER REVERSED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2183", "lowercase_mapping": "", "titlecase_mapping": "2183", "symbol": "\u2184" }, 11312: { "value": "2C30", "name": "GLAGOLITIC SMALL LETTER AZU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C00", "lowercase_mapping": "", "titlecase_mapping": "2C00", "symbol": "\u2C30" }, 11313: { "value": "2C31", "name": "GLAGOLITIC SMALL LETTER BUKY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C01", "lowercase_mapping": "", "titlecase_mapping": "2C01", "symbol": "\u2C31" }, 11314: { "value": "2C32", "name": "GLAGOLITIC SMALL LETTER VEDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C02", "lowercase_mapping": "", "titlecase_mapping": "2C02", "symbol": "\u2C32" }, 11315: { "value": "2C33", "name": "GLAGOLITIC SMALL LETTER GLAGOLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C03", "lowercase_mapping": "", "titlecase_mapping": "2C03", "symbol": "\u2C33" }, 11316: { "value": "2C34", "name": "GLAGOLITIC SMALL LETTER DOBRO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C04", "lowercase_mapping": "", "titlecase_mapping": "2C04", "symbol": "\u2C34" }, 11317: { "value": "2C35", "name": "GLAGOLITIC SMALL LETTER YESTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C05", "lowercase_mapping": "", "titlecase_mapping": "2C05", "symbol": "\u2C35" }, 11318: { "value": "2C36", "name": "GLAGOLITIC SMALL LETTER ZHIVETE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C06", "lowercase_mapping": "", "titlecase_mapping": "2C06", "symbol": "\u2C36" }, 11319: { "value": "2C37", "name": "GLAGOLITIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C07", "lowercase_mapping": "", "titlecase_mapping": "2C07", "symbol": "\u2C37" }, 11320: { "value": "2C38", "name": "GLAGOLITIC SMALL LETTER ZEMLJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C08", "lowercase_mapping": "", "titlecase_mapping": "2C08", "symbol": "\u2C38" }, 11321: { "value": "2C39", "name": "GLAGOLITIC SMALL LETTER IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C09", "lowercase_mapping": "", "titlecase_mapping": "2C09", "symbol": "\u2C39" }, 11322: { "value": "2C3A", "name": "GLAGOLITIC SMALL LETTER INITIAL IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0A", "lowercase_mapping": "", "titlecase_mapping": "2C0A", "symbol": "\u2C3A" }, 11323: { "value": "2C3B", "name": "GLAGOLITIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0B", "lowercase_mapping": "", "titlecase_mapping": "2C0B", "symbol": "\u2C3B" }, 11324: { "value": "2C3C", "name": "GLAGOLITIC SMALL LETTER DJERVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0C", "lowercase_mapping": "", "titlecase_mapping": "2C0C", "symbol": "\u2C3C" }, 11325: { "value": "2C3D", "name": "GLAGOLITIC SMALL LETTER KAKO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0D", "lowercase_mapping": "", "titlecase_mapping": "2C0D", "symbol": "\u2C3D" }, 11326: { "value": "2C3E", "name": "GLAGOLITIC SMALL LETTER LJUDIJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0E", "lowercase_mapping": "", "titlecase_mapping": "2C0E", "symbol": "\u2C3E" }, 11327: { "value": "2C3F", "name": "GLAGOLITIC SMALL LETTER MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0F", "lowercase_mapping": "", "titlecase_mapping": "2C0F", "symbol": "\u2C3F" }, 11328: { "value": "2C40", "name": "GLAGOLITIC SMALL LETTER NASHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C10", "lowercase_mapping": "", "titlecase_mapping": "2C10", "symbol": "\u2C40" }, 11329: { "value": "2C41", "name": "GLAGOLITIC SMALL LETTER ONU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C11", "lowercase_mapping": "", "titlecase_mapping": "2C11", "symbol": "\u2C41" }, 11330: { "value": "2C42", "name": "GLAGOLITIC SMALL LETTER POKOJI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C12", "lowercase_mapping": "", "titlecase_mapping": "2C12", "symbol": "\u2C42" }, 11331: { "value": "2C43", "name": "GLAGOLITIC SMALL LETTER RITSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C13", "lowercase_mapping": "", "titlecase_mapping": "2C13", "symbol": "\u2C43" }, 11332: { "value": "2C44", "name": "GLAGOLITIC SMALL LETTER SLOVO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C14", "lowercase_mapping": "", "titlecase_mapping": "2C14", "symbol": "\u2C44" }, 11333: { "value": "2C45", "name": "GLAGOLITIC SMALL LETTER TVRIDO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C15", "lowercase_mapping": "", "titlecase_mapping": "2C15", "symbol": "\u2C45" }, 11334: { "value": "2C46", "name": "GLAGOLITIC SMALL LETTER UKU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C16", "lowercase_mapping": "", "titlecase_mapping": "2C16", "symbol": "\u2C46" }, 11335: { "value": "2C47", "name": "GLAGOLITIC SMALL LETTER FRITU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C17", "lowercase_mapping": "", "titlecase_mapping": "2C17", "symbol": "\u2C47" }, 11336: { "value": "2C48", "name": "GLAGOLITIC SMALL LETTER HERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C18", "lowercase_mapping": "", "titlecase_mapping": "2C18", "symbol": "\u2C48" }, 11337: { "value": "2C49", "name": "GLAGOLITIC SMALL LETTER OTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C19", "lowercase_mapping": "", "titlecase_mapping": "2C19", "symbol": "\u2C49" }, 11338: { "value": "2C4A", "name": "GLAGOLITIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1A", "lowercase_mapping": "", "titlecase_mapping": "2C1A", "symbol": "\u2C4A" }, 11339: { "value": "2C4B", "name": "GLAGOLITIC SMALL LETTER SHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1B", "lowercase_mapping": "", "titlecase_mapping": "2C1B", "symbol": "\u2C4B" }, 11340: { "value": "2C4C", "name": "GLAGOLITIC SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1C", "lowercase_mapping": "", "titlecase_mapping": "2C1C", "symbol": "\u2C4C" }, 11341: { "value": "2C4D", "name": "GLAGOLITIC SMALL LETTER CHRIVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1D", "lowercase_mapping": "", "titlecase_mapping": "2C1D", "symbol": "\u2C4D" }, 11342: { "value": "2C4E", "name": "GLAGOLITIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1E", "lowercase_mapping": "", "titlecase_mapping": "2C1E", "symbol": "\u2C4E" }, 11343: { "value": "2C4F", "name": "GLAGOLITIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1F", "lowercase_mapping": "", "titlecase_mapping": "2C1F", "symbol": "\u2C4F" }, 11344: { "value": "2C50", "name": "GLAGOLITIC SMALL LETTER YERI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C20", "lowercase_mapping": "", "titlecase_mapping": "2C20", "symbol": "\u2C50" }, 11345: { "value": "2C51", "name": "GLAGOLITIC SMALL LETTER YATI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C21", "lowercase_mapping": "", "titlecase_mapping": "2C21", "symbol": "\u2C51" }, 11346: { "value": "2C52", "name": "GLAGOLITIC SMALL LETTER SPIDERY HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C22", "lowercase_mapping": "", "titlecase_mapping": "2C22", "symbol": "\u2C52" }, 11347: { "value": "2C53", "name": "GLAGOLITIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C23", "lowercase_mapping": "", "titlecase_mapping": "2C23", "symbol": "\u2C53" }, 11348: { "value": "2C54", "name": "GLAGOLITIC SMALL LETTER SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C24", "lowercase_mapping": "", "titlecase_mapping": "2C24", "symbol": "\u2C54" }, 11349: { "value": "2C55", "name": "GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C25", "lowercase_mapping": "", "titlecase_mapping": "2C25", "symbol": "\u2C55" }, 11350: { "value": "2C56", "name": "GLAGOLITIC SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C26", "lowercase_mapping": "", "titlecase_mapping": "2C26", "symbol": "\u2C56" }, 11351: { "value": "2C57", "name": "GLAGOLITIC SMALL LETTER IOTATED SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C27", "lowercase_mapping": "", "titlecase_mapping": "2C27", "symbol": "\u2C57" }, 11352: { "value": "2C58", "name": "GLAGOLITIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C28", "lowercase_mapping": "", "titlecase_mapping": "2C28", "symbol": "\u2C58" }, 11353: { "value": "2C59", "name": "GLAGOLITIC SMALL LETTER IOTATED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C29", "lowercase_mapping": "", "titlecase_mapping": "2C29", "symbol": "\u2C59" }, 11354: { "value": "2C5A", "name": "GLAGOLITIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2A", "lowercase_mapping": "", "titlecase_mapping": "2C2A", "symbol": "\u2C5A" }, 11355: { "value": "2C5B", "name": "GLAGOLITIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2B", "lowercase_mapping": "", "titlecase_mapping": "2C2B", "symbol": "\u2C5B" }, 11356: { "value": "2C5C", "name": "GLAGOLITIC SMALL LETTER SHTAPIC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2C", "lowercase_mapping": "", "titlecase_mapping": "2C2C", "symbol": "\u2C5C" }, 11357: { "value": "2C5D", "name": "GLAGOLITIC SMALL LETTER TROKUTASTI A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2D", "lowercase_mapping": "", "titlecase_mapping": "2C2D", "symbol": "\u2C5D" }, 11358: { "value": "2C5E", "name": "GLAGOLITIC SMALL LETTER LATINATE MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2E", "lowercase_mapping": "", "titlecase_mapping": "2C2E", "symbol": "\u2C5E" }, 11361: { "value": "2C61", "name": "LATIN SMALL LETTER L WITH DOUBLE BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C60", "lowercase_mapping": "", "titlecase_mapping": "2C60", "symbol": "\u2C61" }, 11365: { "value": "2C65", "name": "LATIN SMALL LETTER A WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023A", "lowercase_mapping": "", "titlecase_mapping": "023A", "symbol": "\u2C65" }, 11366: { "value": "2C66", "name": "LATIN SMALL LETTER T WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023E", "lowercase_mapping": "", "titlecase_mapping": "023E", "symbol": "\u2C66" }, 11368: { "value": "2C68", "name": "LATIN SMALL LETTER H WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C67", "lowercase_mapping": "", "titlecase_mapping": "2C67", "symbol": "\u2C68" }, 11370: { "value": "2C6A", "name": "LATIN SMALL LETTER K WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C69", "lowercase_mapping": "", "titlecase_mapping": "2C69", "symbol": "\u2C6A" }, 11372: { "value": "2C6C", "name": "LATIN SMALL LETTER Z WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6B", "lowercase_mapping": "", "titlecase_mapping": "2C6B", "symbol": "\u2C6C" }, 11377: { "value": "2C71", "name": "LATIN SMALL LETTER V WITH RIGHT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C71" }, 11379: { "value": "2C73", "name": "LATIN SMALL LETTER W WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C72", "lowercase_mapping": "", "titlecase_mapping": "2C72", "symbol": "\u2C73" }, 11380: { "value": "2C74", "name": "LATIN SMALL LETTER V WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C74" }, 11382: { "value": "2C76", "name": "LATIN SMALL LETTER HALF H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C75", "lowercase_mapping": "", "titlecase_mapping": "2C75", "symbol": "\u2C76" }, 11383: { "value": "2C77", "name": "LATIN SMALL LETTER TAILLESS PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C77" }, 11384: { "value": "2C78", "name": "LATIN SMALL LETTER E WITH NOTCH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C78" }, 11385: { "value": "2C79", "name": "LATIN SMALL LETTER TURNED R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C79" }, 11386: { "value": "2C7A", "name": "LATIN SMALL LETTER O WITH LOW RING INSIDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7A" }, 11387: { "value": "2C7B", "name": "LATIN LETTER SMALL CAPITAL TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7B" }, 11393: { "value": "2C81", "name": "COPTIC SMALL LETTER ALFA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C80", "lowercase_mapping": "", "titlecase_mapping": "2C80", "symbol": "\u2C81" }, 11395: { "value": "2C83", "name": "COPTIC SMALL LETTER VIDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C82", "lowercase_mapping": "", "titlecase_mapping": "2C82", "symbol": "\u2C83" }, 11397: { "value": "2C85", "name": "COPTIC SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C84", "lowercase_mapping": "", "titlecase_mapping": "2C84", "symbol": "\u2C85" }, 11399: { "value": "2C87", "name": "COPTIC SMALL LETTER DALDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C86", "lowercase_mapping": "", "titlecase_mapping": "2C86", "symbol": "\u2C87" }, 11401: { "value": "2C89", "name": "COPTIC SMALL LETTER EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C88", "lowercase_mapping": "", "titlecase_mapping": "2C88", "symbol": "\u2C89" }, 11403: { "value": "2C8B", "name": "COPTIC SMALL LETTER SOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8A", "lowercase_mapping": "", "titlecase_mapping": "2C8A", "symbol": "\u2C8B" }, 11405: { "value": "2C8D", "name": "COPTIC SMALL LETTER ZATA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8C", "lowercase_mapping": "", "titlecase_mapping": "2C8C", "symbol": "\u2C8D" }, 11407: { "value": "2C8F", "name": "COPTIC SMALL LETTER HATE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8E", "lowercase_mapping": "", "titlecase_mapping": "2C8E", "symbol": "\u2C8F" }, 11409: { "value": "2C91", "name": "COPTIC SMALL LETTER THETHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C90", "lowercase_mapping": "", "titlecase_mapping": "2C90", "symbol": "\u2C91" }, 11411: { "value": "2C93", "name": "COPTIC SMALL LETTER IAUDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C92", "lowercase_mapping": "", "titlecase_mapping": "2C92", "symbol": "\u2C93" }, 11413: { "value": "2C95", "name": "COPTIC SMALL LETTER KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C94", "lowercase_mapping": "", "titlecase_mapping": "2C94", "symbol": "\u2C95" }, 11415: { "value": "2C97", "name": "COPTIC SMALL LETTER LAULA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C96", "lowercase_mapping": "", "titlecase_mapping": "2C96", "symbol": "\u2C97" }, 11417: { "value": "2C99", "name": "COPTIC SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C98", "lowercase_mapping": "", "titlecase_mapping": "2C98", "symbol": "\u2C99" }, 11419: { "value": "2C9B", "name": "COPTIC SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9A", "lowercase_mapping": "", "titlecase_mapping": "2C9A", "symbol": "\u2C9B" }, 11421: { "value": "2C9D", "name": "COPTIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9C", "lowercase_mapping": "", "titlecase_mapping": "2C9C", "symbol": "\u2C9D" }, 11423: { "value": "2C9F", "name": "COPTIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9E", "lowercase_mapping": "", "titlecase_mapping": "2C9E", "symbol": "\u2C9F" }, 11425: { "value": "2CA1", "name": "COPTIC SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA0", "lowercase_mapping": "", "titlecase_mapping": "2CA0", "symbol": "\u2CA1" }, 11427: { "value": "2CA3", "name": "COPTIC SMALL LETTER RO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA2", "lowercase_mapping": "", "titlecase_mapping": "2CA2", "symbol": "\u2CA3" }, 11429: { "value": "2CA5", "name": "COPTIC SMALL LETTER SIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA4", "lowercase_mapping": "", "titlecase_mapping": "2CA4", "symbol": "\u2CA5" }, 11431: { "value": "2CA7", "name": "COPTIC SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA6", "lowercase_mapping": "", "titlecase_mapping": "2CA6", "symbol": "\u2CA7" }, 11433: { "value": "2CA9", "name": "COPTIC SMALL LETTER UA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA8", "lowercase_mapping": "", "titlecase_mapping": "2CA8", "symbol": "\u2CA9" }, 11435: { "value": "2CAB", "name": "COPTIC SMALL LETTER FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAA", "lowercase_mapping": "", "titlecase_mapping": "2CAA", "symbol": "\u2CAB" }, 11437: { "value": "2CAD", "name": "COPTIC SMALL LETTER KHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAC", "lowercase_mapping": "", "titlecase_mapping": "2CAC", "symbol": "\u2CAD" }, 11439: { "value": "2CAF", "name": "COPTIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAE", "lowercase_mapping": "", "titlecase_mapping": "2CAE", "symbol": "\u2CAF" }, 11441: { "value": "2CB1", "name": "COPTIC SMALL LETTER OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB0", "lowercase_mapping": "", "titlecase_mapping": "2CB0", "symbol": "\u2CB1" }, 11443: { "value": "2CB3", "name": "COPTIC SMALL LETTER DIALECT-P ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB2", "lowercase_mapping": "", "titlecase_mapping": "2CB2", "symbol": "\u2CB3" }, 11445: { "value": "2CB5", "name": "COPTIC SMALL LETTER OLD COPTIC AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB4", "lowercase_mapping": "", "titlecase_mapping": "2CB4", "symbol": "\u2CB5" }, 11447: { "value": "2CB7", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB6", "lowercase_mapping": "", "titlecase_mapping": "2CB6", "symbol": "\u2CB7" }, 11449: { "value": "2CB9", "name": "COPTIC SMALL LETTER DIALECT-P KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB8", "lowercase_mapping": "", "titlecase_mapping": "2CB8", "symbol": "\u2CB9" }, 11451: { "value": "2CBB", "name": "COPTIC SMALL LETTER DIALECT-P NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBA", "lowercase_mapping": "", "titlecase_mapping": "2CBA", "symbol": "\u2CBB" }, 11453: { "value": "2CBD", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBC", "lowercase_mapping": "", "titlecase_mapping": "2CBC", "symbol": "\u2CBD" }, 11455: { "value": "2CBF", "name": "COPTIC SMALL LETTER OLD COPTIC OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBE", "lowercase_mapping": "", "titlecase_mapping": "2CBE", "symbol": "\u2CBF" }, 11457: { "value": "2CC1", "name": "COPTIC SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC0", "lowercase_mapping": "", "titlecase_mapping": "2CC0", "symbol": "\u2CC1" }, 11459: { "value": "2CC3", "name": "COPTIC SMALL LETTER CROSSED SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC2", "lowercase_mapping": "", "titlecase_mapping": "2CC2", "symbol": "\u2CC3" }, 11461: { "value": "2CC5", "name": "COPTIC SMALL LETTER OLD COPTIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC4", "lowercase_mapping": "", "titlecase_mapping": "2CC4", "symbol": "\u2CC5" }, 11463: { "value": "2CC7", "name": "COPTIC SMALL LETTER OLD COPTIC ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC6", "lowercase_mapping": "", "titlecase_mapping": "2CC6", "symbol": "\u2CC7" }, 11465: { "value": "2CC9", "name": "COPTIC SMALL LETTER AKHMIMIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC8", "lowercase_mapping": "", "titlecase_mapping": "2CC8", "symbol": "\u2CC9" }, 11467: { "value": "2CCB", "name": "COPTIC SMALL LETTER DIALECT-P HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCA", "lowercase_mapping": "", "titlecase_mapping": "2CCA", "symbol": "\u2CCB" }, 11469: { "value": "2CCD", "name": "COPTIC SMALL LETTER OLD COPTIC HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCC", "lowercase_mapping": "", "titlecase_mapping": "2CCC", "symbol": "\u2CCD" }, 11471: { "value": "2CCF", "name": "COPTIC SMALL LETTER OLD COPTIC HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCE", "lowercase_mapping": "", "titlecase_mapping": "2CCE", "symbol": "\u2CCF" }, 11473: { "value": "2CD1", "name": "COPTIC SMALL LETTER L-SHAPED HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD0", "lowercase_mapping": "", "titlecase_mapping": "2CD0", "symbol": "\u2CD1" }, 11475: { "value": "2CD3", "name": "COPTIC SMALL LETTER OLD COPTIC HEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD2", "lowercase_mapping": "", "titlecase_mapping": "2CD2", "symbol": "\u2CD3" }, 11477: { "value": "2CD5", "name": "COPTIC SMALL LETTER OLD COPTIC HAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD4", "lowercase_mapping": "", "titlecase_mapping": "2CD4", "symbol": "\u2CD5" }, 11479: { "value": "2CD7", "name": "COPTIC SMALL LETTER OLD COPTIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD6", "lowercase_mapping": "", "titlecase_mapping": "2CD6", "symbol": "\u2CD7" }, 11481: { "value": "2CD9", "name": "COPTIC SMALL LETTER OLD COPTIC DJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD8", "lowercase_mapping": "", "titlecase_mapping": "2CD8", "symbol": "\u2CD9" }, 11483: { "value": "2CDB", "name": "COPTIC SMALL LETTER OLD COPTIC SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDA", "lowercase_mapping": "", "titlecase_mapping": "2CDA", "symbol": "\u2CDB" }, 11485: { "value": "2CDD", "name": "COPTIC SMALL LETTER OLD NUBIAN SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDC", "lowercase_mapping": "", "titlecase_mapping": "2CDC", "symbol": "\u2CDD" }, 11487: { "value": "2CDF", "name": "COPTIC SMALL LETTER OLD NUBIAN NGI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDE", "lowercase_mapping": "", "titlecase_mapping": "2CDE", "symbol": "\u2CDF" }, 11489: { "value": "2CE1", "name": "COPTIC SMALL LETTER OLD NUBIAN NYI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE0", "lowercase_mapping": "", "titlecase_mapping": "2CE0", "symbol": "\u2CE1" }, 11491: { "value": "2CE3", "name": "COPTIC SMALL LETTER OLD NUBIAN WAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE2", "lowercase_mapping": "", "titlecase_mapping": "2CE2", "symbol": "\u2CE3" }, 11492: { "value": "2CE4", "name": "COPTIC SYMBOL KAI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2CE4" }, 11500: { "value": "2CEC", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CEB", "lowercase_mapping": "", "titlecase_mapping": "2CEB", "symbol": "\u2CEC" }, 11502: { "value": "2CEE", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CED", "lowercase_mapping": "", "titlecase_mapping": "2CED", "symbol": "\u2CEE" }, 11507: { "value": "2CF3", "name": "COPTIC SMALL LETTER BOHAIRIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CF2", "lowercase_mapping": "", "titlecase_mapping": "2CF2", "symbol": "\u2CF3" }, 11520: { "value": "2D00", "name": "GEORGIAN SMALL LETTER AN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A0", "lowercase_mapping": "", "titlecase_mapping": "10A0", "symbol": "\u2D00" }, 11521: { "value": "2D01", "name": "GEORGIAN SMALL LETTER BAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A1", "lowercase_mapping": "", "titlecase_mapping": "10A1", "symbol": "\u2D01" }, 11522: { "value": "2D02", "name": "GEORGIAN SMALL LETTER GAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A2", "lowercase_mapping": "", "titlecase_mapping": "10A2", "symbol": "\u2D02" }, 11523: { "value": "2D03", "name": "GEORGIAN SMALL LETTER DON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A3", "lowercase_mapping": "", "titlecase_mapping": "10A3", "symbol": "\u2D03" }, 11524: { "value": "2D04", "name": "GEORGIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A4", "lowercase_mapping": "", "titlecase_mapping": "10A4", "symbol": "\u2D04" }, 11525: { "value": "2D05", "name": "GEORGIAN SMALL LETTER VIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A5", "lowercase_mapping": "", "titlecase_mapping": "10A5", "symbol": "\u2D05" }, 11526: { "value": "2D06", "name": "GEORGIAN SMALL LETTER ZEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A6", "lowercase_mapping": "", "titlecase_mapping": "10A6", "symbol": "\u2D06" }, 11527: { "value": "2D07", "name": "GEORGIAN SMALL LETTER TAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A7", "lowercase_mapping": "", "titlecase_mapping": "10A7", "symbol": "\u2D07" }, 11528: { "value": "2D08", "name": "GEORGIAN SMALL LETTER IN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A8", "lowercase_mapping": "", "titlecase_mapping": "10A8", "symbol": "\u2D08" }, 11529: { "value": "2D09", "name": "GEORGIAN SMALL LETTER KAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A9", "lowercase_mapping": "", "titlecase_mapping": "10A9", "symbol": "\u2D09" }, 11530: { "value": "2D0A", "name": "GEORGIAN SMALL LETTER LAS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AA", "lowercase_mapping": "", "titlecase_mapping": "10AA", "symbol": "\u2D0A" }, 11531: { "value": "2D0B", "name": "GEORGIAN SMALL LETTER MAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AB", "lowercase_mapping": "", "titlecase_mapping": "10AB", "symbol": "\u2D0B" }, 11532: { "value": "2D0C", "name": "GEORGIAN SMALL LETTER NAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AC", "lowercase_mapping": "", "titlecase_mapping": "10AC", "symbol": "\u2D0C" }, 11533: { "value": "2D0D", "name": "GEORGIAN SMALL LETTER ON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AD", "lowercase_mapping": "", "titlecase_mapping": "10AD", "symbol": "\u2D0D" }, 11534: { "value": "2D0E", "name": "GEORGIAN SMALL LETTER PAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AE", "lowercase_mapping": "", "titlecase_mapping": "10AE", "symbol": "\u2D0E" }, 11535: { "value": "2D0F", "name": "GEORGIAN SMALL LETTER ZHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AF", "lowercase_mapping": "", "titlecase_mapping": "10AF", "symbol": "\u2D0F" }, 11536: { "value": "2D10", "name": "GEORGIAN SMALL LETTER RAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B0", "lowercase_mapping": "", "titlecase_mapping": "10B0", "symbol": "\u2D10" }, 11537: { "value": "2D11", "name": "GEORGIAN SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B1", "lowercase_mapping": "", "titlecase_mapping": "10B1", "symbol": "\u2D11" }, 11538: { "value": "2D12", "name": "GEORGIAN SMALL LETTER TAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B2", "lowercase_mapping": "", "titlecase_mapping": "10B2", "symbol": "\u2D12" }, 11539: { "value": "2D13", "name": "GEORGIAN SMALL LETTER UN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B3", "lowercase_mapping": "", "titlecase_mapping": "10B3", "symbol": "\u2D13" }, 11540: { "value": "2D14", "name": "GEORGIAN SMALL LETTER PHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B4", "lowercase_mapping": "", "titlecase_mapping": "10B4", "symbol": "\u2D14" }, 11541: { "value": "2D15", "name": "GEORGIAN SMALL LETTER KHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B5", "lowercase_mapping": "", "titlecase_mapping": "10B5", "symbol": "\u2D15" }, 11542: { "value": "2D16", "name": "GEORGIAN SMALL LETTER GHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B6", "lowercase_mapping": "", "titlecase_mapping": "10B6", "symbol": "\u2D16" }, 11543: { "value": "2D17", "name": "GEORGIAN SMALL LETTER QAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B7", "lowercase_mapping": "", "titlecase_mapping": "10B7", "symbol": "\u2D17" }, 11544: { "value": "2D18", "name": "GEORGIAN SMALL LETTER SHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B8", "lowercase_mapping": "", "titlecase_mapping": "10B8", "symbol": "\u2D18" }, 11545: { "value": "2D19", "name": "GEORGIAN SMALL LETTER CHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B9", "lowercase_mapping": "", "titlecase_mapping": "10B9", "symbol": "\u2D19" }, 11546: { "value": "2D1A", "name": "GEORGIAN SMALL LETTER CAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BA", "lowercase_mapping": "", "titlecase_mapping": "10BA", "symbol": "\u2D1A" }, 11547: { "value": "2D1B", "name": "GEORGIAN SMALL LETTER JIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BB", "lowercase_mapping": "", "titlecase_mapping": "10BB", "symbol": "\u2D1B" }, 11548: { "value": "2D1C", "name": "GEORGIAN SMALL LETTER CIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BC", "lowercase_mapping": "", "titlecase_mapping": "10BC", "symbol": "\u2D1C" }, 11549: { "value": "2D1D", "name": "GEORGIAN SMALL LETTER CHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BD", "lowercase_mapping": "", "titlecase_mapping": "10BD", "symbol": "\u2D1D" }, 11550: { "value": "2D1E", "name": "GEORGIAN SMALL LETTER XAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BE", "lowercase_mapping": "", "titlecase_mapping": "10BE", "symbol": "\u2D1E" }, 11551: { "value": "2D1F", "name": "GEORGIAN SMALL LETTER JHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BF", "lowercase_mapping": "", "titlecase_mapping": "10BF", "symbol": "\u2D1F" }, 11552: { "value": "2D20", "name": "GEORGIAN SMALL LETTER HAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C0", "lowercase_mapping": "", "titlecase_mapping": "10C0", "symbol": "\u2D20" }, 11553: { "value": "2D21", "name": "GEORGIAN SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C1", "lowercase_mapping": "", "titlecase_mapping": "10C1", "symbol": "\u2D21" }, 11554: { "value": "2D22", "name": "GEORGIAN SMALL LETTER HIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C2", "lowercase_mapping": "", "titlecase_mapping": "10C2", "symbol": "\u2D22" }, 11555: { "value": "2D23", "name": "GEORGIAN SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C3", "lowercase_mapping": "", "titlecase_mapping": "10C3", "symbol": "\u2D23" }, 11556: { "value": "2D24", "name": "GEORGIAN SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C4", "lowercase_mapping": "", "titlecase_mapping": "10C4", "symbol": "\u2D24" }, 11557: { "value": "2D25", "name": "GEORGIAN SMALL LETTER HOE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C5", "lowercase_mapping": "", "titlecase_mapping": "10C5", "symbol": "\u2D25" }, 11559: { "value": "2D27", "name": "GEORGIAN SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C7", "lowercase_mapping": "", "titlecase_mapping": "10C7", "symbol": "\u2D27" }, 11565: { "value": "2D2D", "name": "GEORGIAN SMALL LETTER AEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CD", "lowercase_mapping": "", "titlecase_mapping": "10CD", "symbol": "\u2D2D" }, 42561: { "value": "A641", "name": "CYRILLIC SMALL LETTER ZEMLYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A640", "lowercase_mapping": "", "titlecase_mapping": "A640", "symbol": "\uA641" }, 42563: { "value": "A643", "name": "CYRILLIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A642", "lowercase_mapping": "", "titlecase_mapping": "A642", "symbol": "\uA643" }, 42565: { "value": "A645", "name": "CYRILLIC SMALL LETTER REVERSED DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A644", "lowercase_mapping": "", "titlecase_mapping": "A644", "symbol": "\uA645" }, 42567: { "value": "A647", "name": "CYRILLIC SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A646", "lowercase_mapping": "", "titlecase_mapping": "A646", "symbol": "\uA647" }, 42569: { "value": "A649", "name": "CYRILLIC SMALL LETTER DJERV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A648", "lowercase_mapping": "", "titlecase_mapping": "A648", "symbol": "\uA649" }, 42571: { "value": "A64B", "name": "CYRILLIC SMALL LETTER MONOGRAPH UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\uA64B" }, 42573: { "value": "A64D", "name": "CYRILLIC SMALL LETTER BROAD OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64C", "lowercase_mapping": "", "titlecase_mapping": "A64C", "symbol": "\uA64D" }, 42575: { "value": "A64F", "name": "CYRILLIC SMALL LETTER NEUTRAL YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64E", "lowercase_mapping": "", "titlecase_mapping": "A64E", "symbol": "\uA64F" }, 42577: { "value": "A651", "name": "CYRILLIC SMALL LETTER YERU WITH BACK YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A650", "lowercase_mapping": "", "titlecase_mapping": "A650", "symbol": "\uA651" }, 42579: { "value": "A653", "name": "CYRILLIC SMALL LETTER IOTIFIED YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A652", "lowercase_mapping": "", "titlecase_mapping": "A652", "symbol": "\uA653" }, 42581: { "value": "A655", "name": "CYRILLIC SMALL LETTER REVERSED YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A654", "lowercase_mapping": "", "titlecase_mapping": "A654", "symbol": "\uA655" }, 42583: { "value": "A657", "name": "CYRILLIC SMALL LETTER IOTIFIED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A656", "lowercase_mapping": "", "titlecase_mapping": "A656", "symbol": "\uA657" }, 42585: { "value": "A659", "name": "CYRILLIC SMALL LETTER CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A658", "lowercase_mapping": "", "titlecase_mapping": "A658", "symbol": "\uA659" }, 42587: { "value": "A65B", "name": "CYRILLIC SMALL LETTER BLENDED YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65A", "lowercase_mapping": "", "titlecase_mapping": "A65A", "symbol": "\uA65B" }, 42589: { "value": "A65D", "name": "CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65C", "lowercase_mapping": "", "titlecase_mapping": "A65C", "symbol": "\uA65D" }, 42591: { "value": "A65F", "name": "CYRILLIC SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65E", "lowercase_mapping": "", "titlecase_mapping": "A65E", "symbol": "\uA65F" }, 42593: { "value": "A661", "name": "CYRILLIC SMALL LETTER REVERSED TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A660", "lowercase_mapping": "", "titlecase_mapping": "A660", "symbol": "\uA661" }, 42595: { "value": "A663", "name": "CYRILLIC SMALL LETTER SOFT DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A662", "lowercase_mapping": "", "titlecase_mapping": "A662", "symbol": "\uA663" }, 42597: { "value": "A665", "name": "CYRILLIC SMALL LETTER SOFT EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A664", "lowercase_mapping": "", "titlecase_mapping": "A664", "symbol": "\uA665" }, 42599: { "value": "A667", "name": "CYRILLIC SMALL LETTER SOFT EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A666", "lowercase_mapping": "", "titlecase_mapping": "A666", "symbol": "\uA667" }, 42601: { "value": "A669", "name": "CYRILLIC SMALL LETTER MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A668", "lowercase_mapping": "", "titlecase_mapping": "A668", "symbol": "\uA669" }, 42603: { "value": "A66B", "name": "CYRILLIC SMALL LETTER BINOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66A", "lowercase_mapping": "", "titlecase_mapping": "A66A", "symbol": "\uA66B" }, 42605: { "value": "A66D", "name": "CYRILLIC SMALL LETTER DOUBLE MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66C", "lowercase_mapping": "", "titlecase_mapping": "A66C", "symbol": "\uA66D" }, 42625: { "value": "A681", "name": "CYRILLIC SMALL LETTER DWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A680", "lowercase_mapping": "", "titlecase_mapping": "A680", "symbol": "\uA681" }, 42627: { "value": "A683", "name": "CYRILLIC SMALL LETTER DZWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A682", "lowercase_mapping": "", "titlecase_mapping": "A682", "symbol": "\uA683" }, 42629: { "value": "A685", "name": "CYRILLIC SMALL LETTER ZHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A684", "lowercase_mapping": "", "titlecase_mapping": "A684", "symbol": "\uA685" }, 42631: { "value": "A687", "name": "CYRILLIC SMALL LETTER CCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A686", "lowercase_mapping": "", "titlecase_mapping": "A686", "symbol": "\uA687" }, 42633: { "value": "A689", "name": "CYRILLIC SMALL LETTER DZZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A688", "lowercase_mapping": "", "titlecase_mapping": "A688", "symbol": "\uA689" }, 42635: { "value": "A68B", "name": "CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68A", "lowercase_mapping": "", "titlecase_mapping": "A68A", "symbol": "\uA68B" }, 42637: { "value": "A68D", "name": "CYRILLIC SMALL LETTER TWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68C", "lowercase_mapping": "", "titlecase_mapping": "A68C", "symbol": "\uA68D" }, 42639: { "value": "A68F", "name": "CYRILLIC SMALL LETTER TSWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68E", "lowercase_mapping": "", "titlecase_mapping": "A68E", "symbol": "\uA68F" }, 42641: { "value": "A691", "name": "CYRILLIC SMALL LETTER TSSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A690", "lowercase_mapping": "", "titlecase_mapping": "A690", "symbol": "\uA691" }, 42643: { "value": "A693", "name": "CYRILLIC SMALL LETTER TCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A692", "lowercase_mapping": "", "titlecase_mapping": "A692", "symbol": "\uA693" }, 42645: { "value": "A695", "name": "CYRILLIC SMALL LETTER HWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A694", "lowercase_mapping": "", "titlecase_mapping": "A694", "symbol": "\uA695" }, 42647: { "value": "A697", "name": "CYRILLIC SMALL LETTER SHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A696", "lowercase_mapping": "", "titlecase_mapping": "A696", "symbol": "\uA697" }, 42649: { "value": "A699", "name": "CYRILLIC SMALL LETTER DOUBLE O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A698", "lowercase_mapping": "", "titlecase_mapping": "A698", "symbol": "\uA699" }, 42651: { "value": "A69B", "name": "CYRILLIC SMALL LETTER CROSSED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A69A", "lowercase_mapping": "", "titlecase_mapping": "A69A", "symbol": "\uA69B" }, 42787: { "value": "A723", "name": "LATIN SMALL LETTER EGYPTOLOGICAL ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A722", "lowercase_mapping": "", "titlecase_mapping": "A722", "symbol": "\uA723" }, 42789: { "value": "A725", "name": "LATIN SMALL LETTER EGYPTOLOGICAL AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A724", "lowercase_mapping": "", "titlecase_mapping": "A724", "symbol": "\uA725" }, 42791: { "value": "A727", "name": "LATIN SMALL LETTER HENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A726", "lowercase_mapping": "", "titlecase_mapping": "A726", "symbol": "\uA727" }, 42793: { "value": "A729", "name": "LATIN SMALL LETTER TZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A728", "lowercase_mapping": "", "titlecase_mapping": "A728", "symbol": "\uA729" }, 42795: { "value": "A72B", "name": "LATIN SMALL LETTER TRESILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72A", "lowercase_mapping": "", "titlecase_mapping": "A72A", "symbol": "\uA72B" }, 42797: { "value": "A72D", "name": "LATIN SMALL LETTER CUATRILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72C", "lowercase_mapping": "", "titlecase_mapping": "A72C", "symbol": "\uA72D" }, 42799: { "value": "A72F", "name": "LATIN SMALL LETTER CUATRILLO WITH COMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72E", "lowercase_mapping": "", "titlecase_mapping": "A72E", "symbol": "\uA72F" }, 42800: { "value": "A730", "name": "LATIN LETTER SMALL CAPITAL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA730" }, 42801: { "value": "A731", "name": "LATIN LETTER SMALL CAPITAL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA731" }, 42803: { "value": "A733", "name": "LATIN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A732", "lowercase_mapping": "", "titlecase_mapping": "A732", "symbol": "\uA733" }, 42805: { "value": "A735", "name": "LATIN SMALL LETTER AO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A734", "lowercase_mapping": "", "titlecase_mapping": "A734", "symbol": "\uA735" }, 42807: { "value": "A737", "name": "LATIN SMALL LETTER AU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A736", "lowercase_mapping": "", "titlecase_mapping": "A736", "symbol": "\uA737" }, 42809: { "value": "A739", "name": "LATIN SMALL LETTER AV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A738", "lowercase_mapping": "", "titlecase_mapping": "A738", "symbol": "\uA739" }, 42811: { "value": "A73B", "name": "LATIN SMALL LETTER AV WITH HORIZONTAL BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73A", "lowercase_mapping": "", "titlecase_mapping": "A73A", "symbol": "\uA73B" }, 42813: { "value": "A73D", "name": "LATIN SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73C", "lowercase_mapping": "", "titlecase_mapping": "A73C", "symbol": "\uA73D" }, 42815: { "value": "A73F", "name": "LATIN SMALL LETTER REVERSED C WITH DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73E", "lowercase_mapping": "", "titlecase_mapping": "A73E", "symbol": "\uA73F" }, 42817: { "value": "A741", "name": "LATIN SMALL LETTER K WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A740", "lowercase_mapping": "", "titlecase_mapping": "A740", "symbol": "\uA741" }, 42819: { "value": "A743", "name": "LATIN SMALL LETTER K WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A742", "lowercase_mapping": "", "titlecase_mapping": "A742", "symbol": "\uA743" }, 42821: { "value": "A745", "name": "LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A744", "lowercase_mapping": "", "titlecase_mapping": "A744", "symbol": "\uA745" }, 42823: { "value": "A747", "name": "LATIN SMALL LETTER BROKEN L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A746", "lowercase_mapping": "", "titlecase_mapping": "A746", "symbol": "\uA747" }, 42825: { "value": "A749", "name": "LATIN SMALL LETTER L WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A748", "lowercase_mapping": "", "titlecase_mapping": "A748", "symbol": "\uA749" }, 42827: { "value": "A74B", "name": "LATIN SMALL LETTER O WITH LONG STROKE OVERLAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74A", "lowercase_mapping": "", "titlecase_mapping": "A74A", "symbol": "\uA74B" }, 42829: { "value": "A74D", "name": "LATIN SMALL LETTER O WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74C", "lowercase_mapping": "", "titlecase_mapping": "A74C", "symbol": "\uA74D" }, 42831: { "value": "A74F", "name": "LATIN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74E", "lowercase_mapping": "", "titlecase_mapping": "A74E", "symbol": "\uA74F" }, 42833: { "value": "A751", "name": "LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A750", "lowercase_mapping": "", "titlecase_mapping": "A750", "symbol": "\uA751" }, 42835: { "value": "A753", "name": "LATIN SMALL LETTER P WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A752", "lowercase_mapping": "", "titlecase_mapping": "A752", "symbol": "\uA753" }, 42837: { "value": "A755", "name": "LATIN SMALL LETTER P WITH SQUIRREL TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A754", "lowercase_mapping": "", "titlecase_mapping": "A754", "symbol": "\uA755" }, 42839: { "value": "A757", "name": "LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A756", "lowercase_mapping": "", "titlecase_mapping": "A756", "symbol": "\uA757" }, 42841: { "value": "A759", "name": "LATIN SMALL LETTER Q WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A758", "lowercase_mapping": "", "titlecase_mapping": "A758", "symbol": "\uA759" }, 42843: { "value": "A75B", "name": "LATIN SMALL LETTER R ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75A", "lowercase_mapping": "", "titlecase_mapping": "A75A", "symbol": "\uA75B" }, 42845: { "value": "A75D", "name": "LATIN SMALL LETTER RUM ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75C", "lowercase_mapping": "", "titlecase_mapping": "A75C", "symbol": "\uA75D" }, 42847: { "value": "A75F", "name": "LATIN SMALL LETTER V WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75E", "lowercase_mapping": "", "titlecase_mapping": "A75E", "symbol": "\uA75F" }, 42849: { "value": "A761", "name": "LATIN SMALL LETTER VY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A760", "lowercase_mapping": "", "titlecase_mapping": "A760", "symbol": "\uA761" }, 42851: { "value": "A763", "name": "LATIN SMALL LETTER VISIGOTHIC Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A762", "lowercase_mapping": "", "titlecase_mapping": "A762", "symbol": "\uA763" }, 42853: { "value": "A765", "name": "LATIN SMALL LETTER THORN WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A764", "lowercase_mapping": "", "titlecase_mapping": "A764", "symbol": "\uA765" }, 42855: { "value": "A767", "name": "LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A766", "lowercase_mapping": "", "titlecase_mapping": "A766", "symbol": "\uA767" }, 42857: { "value": "A769", "name": "LATIN SMALL LETTER VEND", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A768", "lowercase_mapping": "", "titlecase_mapping": "A768", "symbol": "\uA769" }, 42859: { "value": "A76B", "name": "LATIN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76A", "lowercase_mapping": "", "titlecase_mapping": "A76A", "symbol": "\uA76B" }, 42861: { "value": "A76D", "name": "LATIN SMALL LETTER IS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76C", "lowercase_mapping": "", "titlecase_mapping": "A76C", "symbol": "\uA76D" }, 42863: { "value": "A76F", "name": "LATIN SMALL LETTER CON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76E", "lowercase_mapping": "", "titlecase_mapping": "A76E", "symbol": "\uA76F" }, 42865: { "value": "A771", "name": "LATIN SMALL LETTER DUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA771" }, 42866: { "value": "A772", "name": "LATIN SMALL LETTER LUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA772" }, 42867: { "value": "A773", "name": "LATIN SMALL LETTER MUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA773" }, 42868: { "value": "A774", "name": "LATIN SMALL LETTER NUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA774" }, 42869: { "value": "A775", "name": "LATIN SMALL LETTER RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA775" }, 42870: { "value": "A776", "name": "LATIN LETTER SMALL CAPITAL RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA776" }, 42871: { "value": "A777", "name": "LATIN SMALL LETTER TUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA777" }, 42872: { "value": "A778", "name": "LATIN SMALL LETTER UM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA778" }, 42874: { "value": "A77A", "name": "LATIN SMALL LETTER INSULAR D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A779", "lowercase_mapping": "", "titlecase_mapping": "A779", "symbol": "\uA77A" }, 42876: { "value": "A77C", "name": "LATIN SMALL LETTER INSULAR F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77B", "lowercase_mapping": "", "titlecase_mapping": "A77B", "symbol": "\uA77C" }, 42879: { "value": "A77F", "name": "LATIN SMALL LETTER TURNED INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77E", "lowercase_mapping": "", "titlecase_mapping": "A77E", "symbol": "\uA77F" }, 42881: { "value": "A781", "name": "LATIN SMALL LETTER TURNED L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A780", "lowercase_mapping": "", "titlecase_mapping": "A780", "symbol": "\uA781" }, 42883: { "value": "A783", "name": "LATIN SMALL LETTER INSULAR R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A782", "lowercase_mapping": "", "titlecase_mapping": "A782", "symbol": "\uA783" }, 42885: { "value": "A785", "name": "LATIN SMALL LETTER INSULAR S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A784", "lowercase_mapping": "", "titlecase_mapping": "A784", "symbol": "\uA785" }, 42887: { "value": "A787", "name": "LATIN SMALL LETTER INSULAR T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A786", "lowercase_mapping": "", "titlecase_mapping": "A786", "symbol": "\uA787" }, 42892: { "value": "A78C", "name": "LATIN SMALL LETTER SALTILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78B", "lowercase_mapping": "", "titlecase_mapping": "A78B", "symbol": "\uA78C" }, 42894: { "value": "A78E", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA78E" }, 42897: { "value": "A791", "name": "LATIN SMALL LETTER N WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A790", "lowercase_mapping": "", "titlecase_mapping": "A790", "symbol": "\uA791" }, 42899: { "value": "A793", "name": "LATIN SMALL LETTER C WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A792", "lowercase_mapping": "", "titlecase_mapping": "A792", "symbol": "\uA793" }, 42900: { "value": "A794", "name": "LATIN SMALL LETTER C WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA794" }, 42901: { "value": "A795", "name": "LATIN SMALL LETTER H WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA795" }, 42903: { "value": "A797", "name": "LATIN SMALL LETTER B WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A796", "lowercase_mapping": "", "titlecase_mapping": "A796", "symbol": "\uA797" }, 42905: { "value": "A799", "name": "LATIN SMALL LETTER F WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A798", "lowercase_mapping": "", "titlecase_mapping": "A798", "symbol": "\uA799" }, 42907: { "value": "A79B", "name": "LATIN SMALL LETTER VOLAPUK AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79A", "lowercase_mapping": "", "titlecase_mapping": "A79A", "symbol": "\uA79B" }, 42909: { "value": "A79D", "name": "LATIN SMALL LETTER VOLAPUK OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79C", "lowercase_mapping": "", "titlecase_mapping": "A79C", "symbol": "\uA79D" }, 42911: { "value": "A79F", "name": "LATIN SMALL LETTER VOLAPUK UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79E", "lowercase_mapping": "", "titlecase_mapping": "A79E", "symbol": "\uA79F" }, 42913: { "value": "A7A1", "name": "LATIN SMALL LETTER G WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A0", "lowercase_mapping": "", "titlecase_mapping": "A7A0", "symbol": "\uA7A1" }, 42915: { "value": "A7A3", "name": "LATIN SMALL LETTER K WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A2", "lowercase_mapping": "", "titlecase_mapping": "A7A2", "symbol": "\uA7A3" }, 42917: { "value": "A7A5", "name": "LATIN SMALL LETTER N WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A4", "lowercase_mapping": "", "titlecase_mapping": "A7A4", "symbol": "\uA7A5" }, 42919: { "value": "A7A7", "name": "LATIN SMALL LETTER R WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A6", "lowercase_mapping": "", "titlecase_mapping": "A7A6", "symbol": "\uA7A7" }, 42921: { "value": "A7A9", "name": "LATIN SMALL LETTER S WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A8", "lowercase_mapping": "", "titlecase_mapping": "A7A8", "symbol": "\uA7A9" }, 42933: { "value": "A7B5", "name": "LATIN SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B4", "lowercase_mapping": "", "titlecase_mapping": "A7B4", "symbol": "\uA7B5" }, 42935: { "value": "A7B7", "name": "LATIN SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B6", "lowercase_mapping": "", "titlecase_mapping": "A7B6", "symbol": "\uA7B7" }, 43002: { "value": "A7FA", "name": "LATIN LETTER SMALL CAPITAL TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA7FA" }, 43824: { "value": "AB30", "name": "LATIN SMALL LETTER BARRED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB30" }, 43825: { "value": "AB31", "name": "LATIN SMALL LETTER A REVERSED-SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB31" }, 43826: { "value": "AB32", "name": "LATIN SMALL LETTER BLACKLETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB32" }, 43827: { "value": "AB33", "name": "LATIN SMALL LETTER BARRED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB33" }, 43828: { "value": "AB34", "name": "LATIN SMALL LETTER E WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB34" }, 43829: { "value": "AB35", "name": "LATIN SMALL LETTER LENIS F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB35" }, 43830: { "value": "AB36", "name": "LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB36" }, 43831: { "value": "AB37", "name": "LATIN SMALL LETTER L WITH INVERTED LAZY S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB37" }, 43832: { "value": "AB38", "name": "LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB38" }, 43833: { "value": "AB39", "name": "LATIN SMALL LETTER L WITH MIDDLE RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB39" }, 43834: { "value": "AB3A", "name": "LATIN SMALL LETTER M WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3A" }, 43835: { "value": "AB3B", "name": "LATIN SMALL LETTER N WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3B" }, 43836: { "value": "AB3C", "name": "LATIN SMALL LETTER ENG WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3C" }, 43837: { "value": "AB3D", "name": "LATIN SMALL LETTER BLACKLETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3D" }, 43838: { "value": "AB3E", "name": "LATIN SMALL LETTER BLACKLETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3E" }, 43839: { "value": "AB3F", "name": "LATIN SMALL LETTER OPEN O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3F" }, 43840: { "value": "AB40", "name": "LATIN SMALL LETTER INVERTED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB40" }, 43841: { "value": "AB41", "name": "LATIN SMALL LETTER TURNED OE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB41" }, 43842: { "value": "AB42", "name": "LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB42" }, 43843: { "value": "AB43", "name": "LATIN SMALL LETTER TURNED O OPEN-O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB43" }, 43844: { "value": "AB44", "name": "LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB44" }, 43845: { "value": "AB45", "name": "LATIN SMALL LETTER STIRRUP R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB45" }, 43846: { "value": "AB46", "name": "LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB46" }, 43847: { "value": "AB47", "name": "LATIN SMALL LETTER R WITHOUT HANDLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB47" }, 43848: { "value": "AB48", "name": "LATIN SMALL LETTER DOUBLE R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB48" }, 43849: { "value": "AB49", "name": "LATIN SMALL LETTER R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB49" }, 43850: { "value": "AB4A", "name": "LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4A" }, 43851: { "value": "AB4B", "name": "LATIN SMALL LETTER SCRIPT R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4B" }, 43852: { "value": "AB4C", "name": "LATIN SMALL LETTER SCRIPT R WITH RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4C" }, 43853: { "value": "AB4D", "name": "LATIN SMALL LETTER BASELINE ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4D" }, 43854: { "value": "AB4E", "name": "LATIN SMALL LETTER U WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4E" }, 43855: { "value": "AB4F", "name": "LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4F" }, 43856: { "value": "AB50", "name": "LATIN SMALL LETTER UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB50" }, 43857: { "value": "AB51", "name": "LATIN SMALL LETTER TURNED UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB51" }, 43858: { "value": "AB52", "name": "LATIN SMALL LETTER U WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB52" }, 43859: { "value": "AB53", "name": "LATIN SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B3", "lowercase_mapping": "", "titlecase_mapping": "A7B3", "symbol": "\uAB53" }, 43860: { "value": "AB54", "name": "LATIN SMALL LETTER CHI WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB54" }, 43861: { "value": "AB55", "name": "LATIN SMALL LETTER CHI WITH LOW LEFT SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB55" }, 43862: { "value": "AB56", "name": "LATIN SMALL LETTER X WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB56" }, 43863: { "value": "AB57", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB57" }, 43864: { "value": "AB58", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB58" }, 43865: { "value": "AB59", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB59" }, 43866: { "value": "AB5A", "name": "LATIN SMALL LETTER Y WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB5A" }, 43872: { "value": "AB60", "name": "LATIN SMALL LETTER SAKHA YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB60" }, 43873: { "value": "AB61", "name": "LATIN SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB61" }, 43874: { "value": "AB62", "name": "LATIN SMALL LETTER OPEN OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB62" }, 43875: { "value": "AB63", "name": "LATIN SMALL LETTER UO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB63" }, 43876: { "value": "AB64", "name": "LATIN SMALL LETTER INVERTED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB64" }, 43877: { "value": "AB65", "name": "GREEK LETTER SMALL CAPITAL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB65" }, 43888: { "value": "AB70", "name": "CHEROKEE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A0", "lowercase_mapping": "", "titlecase_mapping": "13A0", "symbol": "\uAB70" }, 43889: { "value": "AB71", "name": "CHEROKEE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A1", "lowercase_mapping": "", "titlecase_mapping": "13A1", "symbol": "\uAB71" }, 43890: { "value": "AB72", "name": "CHEROKEE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A2", "lowercase_mapping": "", "titlecase_mapping": "13A2", "symbol": "\uAB72" }, 43891: { "value": "AB73", "name": "CHEROKEE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A3", "lowercase_mapping": "", "titlecase_mapping": "13A3", "symbol": "\uAB73" }, 43892: { "value": "AB74", "name": "CHEROKEE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A4", "lowercase_mapping": "", "titlecase_mapping": "13A4", "symbol": "\uAB74" }, 43893: { "value": "AB75", "name": "CHEROKEE SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A5", "lowercase_mapping": "", "titlecase_mapping": "13A5", "symbol": "\uAB75" }, 43894: { "value": "AB76", "name": "CHEROKEE SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A6", "lowercase_mapping": "", "titlecase_mapping": "13A6", "symbol": "\uAB76" }, 43895: { "value": "AB77", "name": "CHEROKEE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A7", "lowercase_mapping": "", "titlecase_mapping": "13A7", "symbol": "\uAB77" }, 43896: { "value": "AB78", "name": "CHEROKEE SMALL LETTER GE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A8", "lowercase_mapping": "", "titlecase_mapping": "13A8", "symbol": "\uAB78" }, 43897: { "value": "AB79", "name": "CHEROKEE SMALL LETTER GI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A9", "lowercase_mapping": "", "titlecase_mapping": "13A9", "symbol": "\uAB79" }, 43898: { "value": "AB7A", "name": "CHEROKEE SMALL LETTER GO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AA", "lowercase_mapping": "", "titlecase_mapping": "13AA", "symbol": "\uAB7A" }, 43899: { "value": "AB7B", "name": "CHEROKEE SMALL LETTER GU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AB", "lowercase_mapping": "", "titlecase_mapping": "13AB", "symbol": "\uAB7B" }, 43900: { "value": "AB7C", "name": "CHEROKEE SMALL LETTER GV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AC", "lowercase_mapping": "", "titlecase_mapping": "13AC", "symbol": "\uAB7C" }, 43901: { "value": "AB7D", "name": "CHEROKEE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AD", "lowercase_mapping": "", "titlecase_mapping": "13AD", "symbol": "\uAB7D" }, 43902: { "value": "AB7E", "name": "CHEROKEE SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AE", "lowercase_mapping": "", "titlecase_mapping": "13AE", "symbol": "\uAB7E" }, 43903: { "value": "AB7F", "name": "CHEROKEE SMALL LETTER HI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AF", "lowercase_mapping": "", "titlecase_mapping": "13AF", "symbol": "\uAB7F" }, 43904: { "value": "AB80", "name": "CHEROKEE SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B0", "lowercase_mapping": "", "titlecase_mapping": "13B0", "symbol": "\uAB80" }, 43905: { "value": "AB81", "name": "CHEROKEE SMALL LETTER HU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B1", "lowercase_mapping": "", "titlecase_mapping": "13B1", "symbol": "\uAB81" }, 43906: { "value": "AB82", "name": "CHEROKEE SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B2", "lowercase_mapping": "", "titlecase_mapping": "13B2", "symbol": "\uAB82" }, 43907: { "value": "AB83", "name": "CHEROKEE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B3", "lowercase_mapping": "", "titlecase_mapping": "13B3", "symbol": "\uAB83" }, 43908: { "value": "AB84", "name": "CHEROKEE SMALL LETTER LE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B4", "lowercase_mapping": "", "titlecase_mapping": "13B4", "symbol": "\uAB84" }, 43909: { "value": "AB85", "name": "CHEROKEE SMALL LETTER LI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B5", "lowercase_mapping": "", "titlecase_mapping": "13B5", "symbol": "\uAB85" }, 43910: { "value": "AB86", "name": "CHEROKEE SMALL LETTER LO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B6", "lowercase_mapping": "", "titlecase_mapping": "13B6", "symbol": "\uAB86" }, 43911: { "value": "AB87", "name": "CHEROKEE SMALL LETTER LU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B7", "lowercase_mapping": "", "titlecase_mapping": "13B7", "symbol": "\uAB87" }, 43912: { "value": "AB88", "name": "CHEROKEE SMALL LETTER LV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B8", "lowercase_mapping": "", "titlecase_mapping": "13B8", "symbol": "\uAB88" }, 43913: { "value": "AB89", "name": "CHEROKEE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B9", "lowercase_mapping": "", "titlecase_mapping": "13B9", "symbol": "\uAB89" }, 43914: { "value": "AB8A", "name": "CHEROKEE SMALL LETTER ME", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BA", "lowercase_mapping": "", "titlecase_mapping": "13BA", "symbol": "\uAB8A" }, 43915: { "value": "AB8B", "name": "CHEROKEE SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BB", "lowercase_mapping": "", "titlecase_mapping": "13BB", "symbol": "\uAB8B" }, 43916: { "value": "AB8C", "name": "CHEROKEE SMALL LETTER MO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BC", "lowercase_mapping": "", "titlecase_mapping": "13BC", "symbol": "\uAB8C" }, 43917: { "value": "AB8D", "name": "CHEROKEE SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BD", "lowercase_mapping": "", "titlecase_mapping": "13BD", "symbol": "\uAB8D" }, 43918: { "value": "AB8E", "name": "CHEROKEE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BE", "lowercase_mapping": "", "titlecase_mapping": "13BE", "symbol": "\uAB8E" }, 43919: { "value": "AB8F", "name": "CHEROKEE SMALL LETTER HNA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BF", "lowercase_mapping": "", "titlecase_mapping": "13BF", "symbol": "\uAB8F" }, 43920: { "value": "AB90", "name": "CHEROKEE SMALL LETTER NAH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C0", "lowercase_mapping": "", "titlecase_mapping": "13C0", "symbol": "\uAB90" }, 43921: { "value": "AB91", "name": "CHEROKEE SMALL LETTER NE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C1", "lowercase_mapping": "", "titlecase_mapping": "13C1", "symbol": "\uAB91" }, 43922: { "value": "AB92", "name": "CHEROKEE SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C2", "lowercase_mapping": "", "titlecase_mapping": "13C2", "symbol": "\uAB92" }, 43923: { "value": "AB93", "name": "CHEROKEE SMALL LETTER NO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C3", "lowercase_mapping": "", "titlecase_mapping": "13C3", "symbol": "\uAB93" }, 43924: { "value": "AB94", "name": "CHEROKEE SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C4", "lowercase_mapping": "", "titlecase_mapping": "13C4", "symbol": "\uAB94" }, 43925: { "value": "AB95", "name": "CHEROKEE SMALL LETTER NV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C5", "lowercase_mapping": "", "titlecase_mapping": "13C5", "symbol": "\uAB95" }, 43926: { "value": "AB96", "name": "CHEROKEE SMALL LETTER QUA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C6", "lowercase_mapping": "", "titlecase_mapping": "13C6", "symbol": "\uAB96" }, 43927: { "value": "AB97", "name": "CHEROKEE SMALL LETTER QUE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C7", "lowercase_mapping": "", "titlecase_mapping": "13C7", "symbol": "\uAB97" }, 43928: { "value": "AB98", "name": "CHEROKEE SMALL LETTER QUI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C8", "lowercase_mapping": "", "titlecase_mapping": "13C8", "symbol": "\uAB98" }, 43929: { "value": "AB99", "name": "CHEROKEE SMALL LETTER QUO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C9", "lowercase_mapping": "", "titlecase_mapping": "13C9", "symbol": "\uAB99" }, 43930: { "value": "AB9A", "name": "CHEROKEE SMALL LETTER QUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CA", "lowercase_mapping": "", "titlecase_mapping": "13CA", "symbol": "\uAB9A" }, 43931: { "value": "AB9B", "name": "CHEROKEE SMALL LETTER QUV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CB", "lowercase_mapping": "", "titlecase_mapping": "13CB", "symbol": "\uAB9B" }, 43932: { "value": "AB9C", "name": "CHEROKEE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CC", "lowercase_mapping": "", "titlecase_mapping": "13CC", "symbol": "\uAB9C" }, 43933: { "value": "AB9D", "name": "CHEROKEE SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CD", "lowercase_mapping": "", "titlecase_mapping": "13CD", "symbol": "\uAB9D" }, 43934: { "value": "AB9E", "name": "CHEROKEE SMALL LETTER SE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CE", "lowercase_mapping": "", "titlecase_mapping": "13CE", "symbol": "\uAB9E" }, 43935: { "value": "AB9F", "name": "CHEROKEE SMALL LETTER SI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CF", "lowercase_mapping": "", "titlecase_mapping": "13CF", "symbol": "\uAB9F" }, 43936: { "value": "ABA0", "name": "CHEROKEE SMALL LETTER SO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D0", "lowercase_mapping": "", "titlecase_mapping": "13D0", "symbol": "\uABA0" }, 43937: { "value": "ABA1", "name": "CHEROKEE SMALL LETTER SU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D1", "lowercase_mapping": "", "titlecase_mapping": "13D1", "symbol": "\uABA1" }, 43938: { "value": "ABA2", "name": "CHEROKEE SMALL LETTER SV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D2", "lowercase_mapping": "", "titlecase_mapping": "13D2", "symbol": "\uABA2" }, 43939: { "value": "ABA3", "name": "CHEROKEE SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D3", "lowercase_mapping": "", "titlecase_mapping": "13D3", "symbol": "\uABA3" }, 43940: { "value": "ABA4", "name": "CHEROKEE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D4", "lowercase_mapping": "", "titlecase_mapping": "13D4", "symbol": "\uABA4" }, 43941: { "value": "ABA5", "name": "CHEROKEE SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D5", "lowercase_mapping": "", "titlecase_mapping": "13D5", "symbol": "\uABA5" }, 43942: { "value": "ABA6", "name": "CHEROKEE SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D6", "lowercase_mapping": "", "titlecase_mapping": "13D6", "symbol": "\uABA6" }, 43943: { "value": "ABA7", "name": "CHEROKEE SMALL LETTER DI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D7", "lowercase_mapping": "", "titlecase_mapping": "13D7", "symbol": "\uABA7" }, 43944: { "value": "ABA8", "name": "CHEROKEE SMALL LETTER TI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D8", "lowercase_mapping": "", "titlecase_mapping": "13D8", "symbol": "\uABA8" }, 43945: { "value": "ABA9", "name": "CHEROKEE SMALL LETTER DO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D9", "lowercase_mapping": "", "titlecase_mapping": "13D9", "symbol": "\uABA9" }, 43946: { "value": "ABAA", "name": "CHEROKEE SMALL LETTER DU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DA", "lowercase_mapping": "", "titlecase_mapping": "13DA", "symbol": "\uABAA" }, 43947: { "value": "ABAB", "name": "CHEROKEE SMALL LETTER DV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DB", "lowercase_mapping": "", "titlecase_mapping": "13DB", "symbol": "\uABAB" }, 43948: { "value": "ABAC", "name": "CHEROKEE SMALL LETTER DLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DC", "lowercase_mapping": "", "titlecase_mapping": "13DC", "symbol": "\uABAC" }, 43949: { "value": "ABAD", "name": "CHEROKEE SMALL LETTER TLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DD", "lowercase_mapping": "", "titlecase_mapping": "13DD", "symbol": "\uABAD" }, 43950: { "value": "ABAE", "name": "CHEROKEE SMALL LETTER TLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DE", "lowercase_mapping": "", "titlecase_mapping": "13DE", "symbol": "\uABAE" }, 43951: { "value": "ABAF", "name": "CHEROKEE SMALL LETTER TLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DF", "lowercase_mapping": "", "titlecase_mapping": "13DF", "symbol": "\uABAF" }, 43952: { "value": "ABB0", "name": "CHEROKEE SMALL LETTER TLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E0", "lowercase_mapping": "", "titlecase_mapping": "13E0", "symbol": "\uABB0" }, 43953: { "value": "ABB1", "name": "CHEROKEE SMALL LETTER TLU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E1", "lowercase_mapping": "", "titlecase_mapping": "13E1", "symbol": "\uABB1" }, 43954: { "value": "ABB2", "name": "CHEROKEE SMALL LETTER TLV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E2", "lowercase_mapping": "", "titlecase_mapping": "13E2", "symbol": "\uABB2" }, 43955: { "value": "ABB3", "name": "CHEROKEE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E3", "lowercase_mapping": "", "titlecase_mapping": "13E3", "symbol": "\uABB3" }, 43956: { "value": "ABB4", "name": "CHEROKEE SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E4", "lowercase_mapping": "", "titlecase_mapping": "13E4", "symbol": "\uABB4" }, 43957: { "value": "ABB5", "name": "CHEROKEE SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E5", "lowercase_mapping": "", "titlecase_mapping": "13E5", "symbol": "\uABB5" }, 43958: { "value": "ABB6", "name": "CHEROKEE SMALL LETTER TSO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E6", "lowercase_mapping": "", "titlecase_mapping": "13E6", "symbol": "\uABB6" }, 43959: { "value": "ABB7", "name": "CHEROKEE SMALL LETTER TSU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E7", "lowercase_mapping": "", "titlecase_mapping": "13E7", "symbol": "\uABB7" }, 43960: { "value": "ABB8", "name": "CHEROKEE SMALL LETTER TSV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E8", "lowercase_mapping": "", "titlecase_mapping": "13E8", "symbol": "\uABB8" }, 43961: { "value": "ABB9", "name": "CHEROKEE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E9", "lowercase_mapping": "", "titlecase_mapping": "13E9", "symbol": "\uABB9" }, 43962: { "value": "ABBA", "name": "CHEROKEE SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EA", "lowercase_mapping": "", "titlecase_mapping": "13EA", "symbol": "\uABBA" }, 43963: { "value": "ABBB", "name": "CHEROKEE SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EB", "lowercase_mapping": "", "titlecase_mapping": "13EB", "symbol": "\uABBB" }, 43964: { "value": "ABBC", "name": "CHEROKEE SMALL LETTER WO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EC", "lowercase_mapping": "", "titlecase_mapping": "13EC", "symbol": "\uABBC" }, 43965: { "value": "ABBD", "name": "CHEROKEE SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13ED", "lowercase_mapping": "", "titlecase_mapping": "13ED", "symbol": "\uABBD" }, 43966: { "value": "ABBE", "name": "CHEROKEE SMALL LETTER WV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EE", "lowercase_mapping": "", "titlecase_mapping": "13EE", "symbol": "\uABBE" }, 43967: { "value": "ABBF", "name": "CHEROKEE SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EF", "lowercase_mapping": "", "titlecase_mapping": "13EF", "symbol": "\uABBF" }, 64256: { "value": "FB00", "name": "LATIN SMALL LIGATURE FF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB00" }, 64257: { "value": "FB01", "name": "LATIN SMALL LIGATURE FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB01" }, 64258: { "value": "FB02", "name": "LATIN SMALL LIGATURE FL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB02" }, 64259: { "value": "FB03", "name": "LATIN SMALL LIGATURE FFI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB03" }, 64260: { "value": "FB04", "name": "LATIN SMALL LIGATURE FFL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB04" }, 64261: { "value": "FB05", "name": "LATIN SMALL LIGATURE LONG S T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 017F 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB05" }, 64262: { "value": "FB06", "name": "LATIN SMALL LIGATURE ST", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB06" }, 64275: { "value": "FB13", "name": "ARMENIAN SMALL LIGATURE MEN NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB13" }, 64276: { "value": "FB14", "name": "ARMENIAN SMALL LIGATURE MEN ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0565", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB14" }, 64277: { "value": "FB15", "name": "ARMENIAN SMALL LIGATURE MEN INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB15" }, 64278: { "value": "FB16", "name": "ARMENIAN SMALL LIGATURE VEW NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 057E 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB16" }, 64279: { "value": "FB17", "name": "ARMENIAN SMALL LIGATURE MEN XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB17" }, 65345: { "value": "FF41", "name": "FULLWIDTH LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF21", "lowercase_mapping": "", "titlecase_mapping": "FF21", "symbol": "\uFF41" }, 65346: { "value": "FF42", "name": "FULLWIDTH LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF22", "lowercase_mapping": "", "titlecase_mapping": "FF22", "symbol": "\uFF42" }, 65347: { "value": "FF43", "name": "FULLWIDTH LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF23", "lowercase_mapping": "", "titlecase_mapping": "FF23", "symbol": "\uFF43" }, 65348: { "value": "FF44", "name": "FULLWIDTH LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF24", "lowercase_mapping": "", "titlecase_mapping": "FF24", "symbol": "\uFF44" }, 65349: { "value": "FF45", "name": "FULLWIDTH LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF25", "lowercase_mapping": "", "titlecase_mapping": "FF25", "symbol": "\uFF45" }, 65350: { "value": "FF46", "name": "FULLWIDTH LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF26", "lowercase_mapping": "", "titlecase_mapping": "FF26", "symbol": "\uFF46" }, 65351: { "value": "FF47", "name": "FULLWIDTH LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF27", "lowercase_mapping": "", "titlecase_mapping": "FF27", "symbol": "\uFF47" }, 65352: { "value": "FF48", "name": "FULLWIDTH LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF28", "lowercase_mapping": "", "titlecase_mapping": "FF28", "symbol": "\uFF48" }, 65353: { "value": "FF49", "name": "FULLWIDTH LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF29", "lowercase_mapping": "", "titlecase_mapping": "FF29", "symbol": "\uFF49" }, 65354: { "value": "FF4A", "name": "FULLWIDTH LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2A", "lowercase_mapping": "", "titlecase_mapping": "FF2A", "symbol": "\uFF4A" }, 65355: { "value": "FF4B", "name": "FULLWIDTH LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2B", "lowercase_mapping": "", "titlecase_mapping": "FF2B", "symbol": "\uFF4B" }, 65356: { "value": "FF4C", "name": "FULLWIDTH LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2C", "lowercase_mapping": "", "titlecase_mapping": "FF2C", "symbol": "\uFF4C" }, 65357: { "value": "FF4D", "name": "FULLWIDTH LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2D", "lowercase_mapping": "", "titlecase_mapping": "FF2D", "symbol": "\uFF4D" }, 65358: { "value": "FF4E", "name": "FULLWIDTH LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2E", "lowercase_mapping": "", "titlecase_mapping": "FF2E", "symbol": "\uFF4E" }, 65359: { "value": "FF4F", "name": "FULLWIDTH LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2F", "lowercase_mapping": "", "titlecase_mapping": "FF2F", "symbol": "\uFF4F" }, 65360: { "value": "FF50", "name": "FULLWIDTH LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF30", "lowercase_mapping": "", "titlecase_mapping": "FF30", "symbol": "\uFF50" }, 65361: { "value": "FF51", "name": "FULLWIDTH LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF31", "lowercase_mapping": "", "titlecase_mapping": "FF31", "symbol": "\uFF51" }, 65362: { "value": "FF52", "name": "FULLWIDTH LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF32", "lowercase_mapping": "", "titlecase_mapping": "FF32", "symbol": "\uFF52" }, 65363: { "value": "FF53", "name": "FULLWIDTH LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF33", "lowercase_mapping": "", "titlecase_mapping": "FF33", "symbol": "\uFF53" }, 65364: { "value": "FF54", "name": "FULLWIDTH LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF34", "lowercase_mapping": "", "titlecase_mapping": "FF34", "symbol": "\uFF54" }, 65365: { "value": "FF55", "name": "FULLWIDTH LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF35", "lowercase_mapping": "", "titlecase_mapping": "FF35", "symbol": "\uFF55" }, 65366: { "value": "FF56", "name": "FULLWIDTH LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF36", "lowercase_mapping": "", "titlecase_mapping": "FF36", "symbol": "\uFF56" }, 65367: { "value": "FF57", "name": "FULLWIDTH LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF37", "lowercase_mapping": "", "titlecase_mapping": "FF37", "symbol": "\uFF57" }, 65368: { "value": "FF58", "name": "FULLWIDTH LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF38", "lowercase_mapping": "", "titlecase_mapping": "FF38", "symbol": "\uFF58" }, 65369: { "value": "FF59", "name": "FULLWIDTH LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF39", "lowercase_mapping": "", "titlecase_mapping": "FF39", "symbol": "\uFF59" }, 65370: { "value": "FF5A", "name": "FULLWIDTH LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF3A", "lowercase_mapping": "", "titlecase_mapping": "FF3A", "symbol": "\uFF5A" }, 66600: { "value": "10428", "name": "DESERET SMALL LETTER LONG I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10400", "lowercase_mapping": "", "titlecase_mapping": "10400", "symbol": "\u0428" }, 66601: { "value": "10429", "name": "DESERET SMALL LETTER LONG E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10401", "lowercase_mapping": "", "titlecase_mapping": "10401", "symbol": "\u0429" }, 66602: { "value": "1042A", "name": "DESERET SMALL LETTER LONG A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10402", "lowercase_mapping": "", "titlecase_mapping": "10402", "symbol": "\u042A" }, 66603: { "value": "1042B", "name": "DESERET SMALL LETTER LONG AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10403", "lowercase_mapping": "", "titlecase_mapping": "10403", "symbol": "\u042B" }, 66604: { "value": "1042C", "name": "DESERET SMALL LETTER LONG O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10404", "lowercase_mapping": "", "titlecase_mapping": "10404", "symbol": "\u042C" }, 66605: { "value": "1042D", "name": "DESERET SMALL LETTER LONG OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10405", "lowercase_mapping": "", "titlecase_mapping": "10405", "symbol": "\u042D" }, 66606: { "value": "1042E", "name": "DESERET SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10406", "lowercase_mapping": "", "titlecase_mapping": "10406", "symbol": "\u042E" }, 66607: { "value": "1042F", "name": "DESERET SMALL LETTER SHORT E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10407", "lowercase_mapping": "", "titlecase_mapping": "10407", "symbol": "\u042F" }, 66608: { "value": "10430", "name": "DESERET SMALL LETTER SHORT A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10408", "lowercase_mapping": "", "titlecase_mapping": "10408", "symbol": "\u0430" }, 66609: { "value": "10431", "name": "DESERET SMALL LETTER SHORT AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10409", "lowercase_mapping": "", "titlecase_mapping": "10409", "symbol": "\u0431" }, 66610: { "value": "10432", "name": "DESERET SMALL LETTER SHORT O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040A", "lowercase_mapping": "", "titlecase_mapping": "1040A", "symbol": "\u0432" }, 66611: { "value": "10433", "name": "DESERET SMALL LETTER SHORT OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040B", "lowercase_mapping": "", "titlecase_mapping": "1040B", "symbol": "\u0433" }, 66612: { "value": "10434", "name": "DESERET SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040C", "lowercase_mapping": "", "titlecase_mapping": "1040C", "symbol": "\u0434" }, 66613: { "value": "10435", "name": "DESERET SMALL LETTER OW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040D", "lowercase_mapping": "", "titlecase_mapping": "1040D", "symbol": "\u0435" }, 66614: { "value": "10436", "name": "DESERET SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040E", "lowercase_mapping": "", "titlecase_mapping": "1040E", "symbol": "\u0436" }, 66615: { "value": "10437", "name": "DESERET SMALL LETTER YEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040F", "lowercase_mapping": "", "titlecase_mapping": "1040F", "symbol": "\u0437" }, 66616: { "value": "10438", "name": "DESERET SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10410", "lowercase_mapping": "", "titlecase_mapping": "10410", "symbol": "\u0438" }, 66617: { "value": "10439", "name": "DESERET SMALL LETTER PEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10411", "lowercase_mapping": "", "titlecase_mapping": "10411", "symbol": "\u0439" }, 66618: { "value": "1043A", "name": "DESERET SMALL LETTER BEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10412", "lowercase_mapping": "", "titlecase_mapping": "10412", "symbol": "\u043A" }, 66619: { "value": "1043B", "name": "DESERET SMALL LETTER TEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10413", "lowercase_mapping": "", "titlecase_mapping": "10413", "symbol": "\u043B" }, 66620: { "value": "1043C", "name": "DESERET SMALL LETTER DEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10414", "lowercase_mapping": "", "titlecase_mapping": "10414", "symbol": "\u043C" }, 66621: { "value": "1043D", "name": "DESERET SMALL LETTER CHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10415", "lowercase_mapping": "", "titlecase_mapping": "10415", "symbol": "\u043D" }, 66622: { "value": "1043E", "name": "DESERET SMALL LETTER JEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10416", "lowercase_mapping": "", "titlecase_mapping": "10416", "symbol": "\u043E" }, 66623: { "value": "1043F", "name": "DESERET SMALL LETTER KAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10417", "lowercase_mapping": "", "titlecase_mapping": "10417", "symbol": "\u043F" }, 66624: { "value": "10440", "name": "DESERET SMALL LETTER GAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10418", "lowercase_mapping": "", "titlecase_mapping": "10418", "symbol": "\u0440" }, 66625: { "value": "10441", "name": "DESERET SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10419", "lowercase_mapping": "", "titlecase_mapping": "10419", "symbol": "\u0441" }, 66626: { "value": "10442", "name": "DESERET SMALL LETTER VEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041A", "lowercase_mapping": "", "titlecase_mapping": "1041A", "symbol": "\u0442" }, 66627: { "value": "10443", "name": "DESERET SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041B", "lowercase_mapping": "", "titlecase_mapping": "1041B", "symbol": "\u0443" }, 66628: { "value": "10444", "name": "DESERET SMALL LETTER THEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041C", "lowercase_mapping": "", "titlecase_mapping": "1041C", "symbol": "\u0444" }, 66629: { "value": "10445", "name": "DESERET SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041D", "lowercase_mapping": "", "titlecase_mapping": "1041D", "symbol": "\u0445" }, 66630: { "value": "10446", "name": "DESERET SMALL LETTER ZEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041E", "lowercase_mapping": "", "titlecase_mapping": "1041E", "symbol": "\u0446" }, 66631: { "value": "10447", "name": "DESERET SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041F", "lowercase_mapping": "", "titlecase_mapping": "1041F", "symbol": "\u0447" }, 66632: { "value": "10448", "name": "DESERET SMALL LETTER ZHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10420", "lowercase_mapping": "", "titlecase_mapping": "10420", "symbol": "\u0448" }, 66633: { "value": "10449", "name": "DESERET SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10421", "lowercase_mapping": "", "titlecase_mapping": "10421", "symbol": "\u0449" }, 66634: { "value": "1044A", "name": "DESERET SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10422", "lowercase_mapping": "", "titlecase_mapping": "10422", "symbol": "\u044A" }, 66635: { "value": "1044B", "name": "DESERET SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10423", "lowercase_mapping": "", "titlecase_mapping": "10423", "symbol": "\u044B" }, 66636: { "value": "1044C", "name": "DESERET SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10424", "lowercase_mapping": "", "titlecase_mapping": "10424", "symbol": "\u044C" }, 66637: { "value": "1044D", "name": "DESERET SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10425", "lowercase_mapping": "", "titlecase_mapping": "10425", "symbol": "\u044D" }, 66638: { "value": "1044E", "name": "DESERET SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10426", "lowercase_mapping": "", "titlecase_mapping": "10426", "symbol": "\u044E" }, 66639: { "value": "1044F", "name": "DESERET SMALL LETTER EW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10427", "lowercase_mapping": "", "titlecase_mapping": "10427", "symbol": "\u044F" }, 66776: { "value": "104D8", "name": "OSAGE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B0", "lowercase_mapping": "", "titlecase_mapping": "104B0", "symbol": "\u04D8" }, 66777: { "value": "104D9", "name": "OSAGE SMALL LETTER AI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B1", "lowercase_mapping": "", "titlecase_mapping": "104B1", "symbol": "\u04D9" }, 66778: { "value": "104DA", "name": "OSAGE SMALL LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B2", "lowercase_mapping": "", "titlecase_mapping": "104B2", "symbol": "\u04DA" }, 66779: { "value": "104DB", "name": "OSAGE SMALL LETTER AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B3", "lowercase_mapping": "", "titlecase_mapping": "104B3", "symbol": "\u04DB" }, 66780: { "value": "104DC", "name": "OSAGE SMALL LETTER BRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B4", "lowercase_mapping": "", "titlecase_mapping": "104B4", "symbol": "\u04DC" }, 66781: { "value": "104DD", "name": "OSAGE SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B5", "lowercase_mapping": "", "titlecase_mapping": "104B5", "symbol": "\u04DD" }, 66782: { "value": "104DE", "name": "OSAGE SMALL LETTER EHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B6", "lowercase_mapping": "", "titlecase_mapping": "104B6", "symbol": "\u04DE" }, 66783: { "value": "104DF", "name": "OSAGE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B7", "lowercase_mapping": "", "titlecase_mapping": "104B7", "symbol": "\u04DF" }, 66784: { "value": "104E0", "name": "OSAGE SMALL LETTER EIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B8", "lowercase_mapping": "", "titlecase_mapping": "104B8", "symbol": "\u04E0" }, 66785: { "value": "104E1", "name": "OSAGE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B9", "lowercase_mapping": "", "titlecase_mapping": "104B9", "symbol": "\u04E1" }, 66786: { "value": "104E2", "name": "OSAGE SMALL LETTER HYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BA", "lowercase_mapping": "", "titlecase_mapping": "104BA", "symbol": "\u04E2" }, 66787: { "value": "104E3", "name": "OSAGE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BB", "lowercase_mapping": "", "titlecase_mapping": "104BB", "symbol": "\u04E3" }, 66788: { "value": "104E4", "name": "OSAGE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BC", "lowercase_mapping": "", "titlecase_mapping": "104BC", "symbol": "\u04E4" }, 66789: { "value": "104E5", "name": "OSAGE SMALL LETTER EHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BD", "lowercase_mapping": "", "titlecase_mapping": "104BD", "symbol": "\u04E5" }, 66790: { "value": "104E6", "name": "OSAGE SMALL LETTER KYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BE", "lowercase_mapping": "", "titlecase_mapping": "104BE", "symbol": "\u04E6" }, 66791: { "value": "104E7", "name": "OSAGE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BF", "lowercase_mapping": "", "titlecase_mapping": "104BF", "symbol": "\u04E7" }, 66792: { "value": "104E8", "name": "OSAGE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C0", "lowercase_mapping": "", "titlecase_mapping": "104C0", "symbol": "\u04E8" }, 66793: { "value": "104E9", "name": "OSAGE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C1", "lowercase_mapping": "", "titlecase_mapping": "104C1", "symbol": "\u04E9" }, 66794: { "value": "104EA", "name": "OSAGE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C2", "lowercase_mapping": "", "titlecase_mapping": "104C2", "symbol": "\u04EA" }, 66795: { "value": "104EB", "name": "OSAGE SMALL LETTER OIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C3", "lowercase_mapping": "", "titlecase_mapping": "104C3", "symbol": "\u04EB" }, 66796: { "value": "104EC", "name": "OSAGE SMALL LETTER PA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C4", "lowercase_mapping": "", "titlecase_mapping": "104C4", "symbol": "\u04EC" }, 66797: { "value": "104ED", "name": "OSAGE SMALL LETTER EHPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C5", "lowercase_mapping": "", "titlecase_mapping": "104C5", "symbol": "\u04ED" }, 66798: { "value": "104EE", "name": "OSAGE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C6", "lowercase_mapping": "", "titlecase_mapping": "104C6", "symbol": "\u04EE" }, 66799: { "value": "104EF", "name": "OSAGE SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C7", "lowercase_mapping": "", "titlecase_mapping": "104C7", "symbol": "\u04EF" }, 66800: { "value": "104F0", "name": "OSAGE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C8", "lowercase_mapping": "", "titlecase_mapping": "104C8", "symbol": "\u04F0" }, 66801: { "value": "104F1", "name": "OSAGE SMALL LETTER EHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C9", "lowercase_mapping": "", "titlecase_mapping": "104C9", "symbol": "\u04F1" }, 66802: { "value": "104F2", "name": "OSAGE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CA", "lowercase_mapping": "", "titlecase_mapping": "104CA", "symbol": "\u04F2" }, 66803: { "value": "104F3", "name": "OSAGE SMALL LETTER EHTSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CB", "lowercase_mapping": "", "titlecase_mapping": "104CB", "symbol": "\u04F3" }, 66804: { "value": "104F4", "name": "OSAGE SMALL LETTER TSHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CC", "lowercase_mapping": "", "titlecase_mapping": "104CC", "symbol": "\u04F4" }, 66805: { "value": "104F5", "name": "OSAGE SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CD", "lowercase_mapping": "", "titlecase_mapping": "104CD", "symbol": "\u04F5" }, 66806: { "value": "104F6", "name": "OSAGE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CE", "lowercase_mapping": "", "titlecase_mapping": "104CE", "symbol": "\u04F6" }, 66807: { "value": "104F7", "name": "OSAGE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CF", "lowercase_mapping": "", "titlecase_mapping": "104CF", "symbol": "\u04F7" }, 66808: { "value": "104F8", "name": "OSAGE SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D0", "lowercase_mapping": "", "titlecase_mapping": "104D0", "symbol": "\u04F8" }, 66809: { "value": "104F9", "name": "OSAGE SMALL LETTER GHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D1", "lowercase_mapping": "", "titlecase_mapping": "104D1", "symbol": "\u04F9" }, 66810: { "value": "104FA", "name": "OSAGE SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D2", "lowercase_mapping": "", "titlecase_mapping": "104D2", "symbol": "\u04FA" }, 66811: { "value": "104FB", "name": "OSAGE SMALL LETTER ZHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D3", "lowercase_mapping": "", "titlecase_mapping": "104D3", "symbol": "\u04FB" }, 68800: { "value": "10CC0", "name": "OLD HUNGARIAN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C80", "lowercase_mapping": "", "titlecase_mapping": "10C80", "symbol": "\u0CC0" }, 68801: { "value": "10CC1", "name": "OLD HUNGARIAN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C81", "lowercase_mapping": "", "titlecase_mapping": "10C81", "symbol": "\u0CC1" }, 68802: { "value": "10CC2", "name": "OLD HUNGARIAN SMALL LETTER EB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C82", "lowercase_mapping": "", "titlecase_mapping": "10C82", "symbol": "\u0CC2" }, 68803: { "value": "10CC3", "name": "OLD HUNGARIAN SMALL LETTER AMB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C83", "lowercase_mapping": "", "titlecase_mapping": "10C83", "symbol": "\u0CC3" }, 68804: { "value": "10CC4", "name": "OLD HUNGARIAN SMALL LETTER EC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C84", "lowercase_mapping": "", "titlecase_mapping": "10C84", "symbol": "\u0CC4" }, 68805: { "value": "10CC5", "name": "OLD HUNGARIAN SMALL LETTER ENC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C85", "lowercase_mapping": "", "titlecase_mapping": "10C85", "symbol": "\u0CC5" }, 68806: { "value": "10CC6", "name": "OLD HUNGARIAN SMALL LETTER ECS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C86", "lowercase_mapping": "", "titlecase_mapping": "10C86", "symbol": "\u0CC6" }, 68807: { "value": "10CC7", "name": "OLD HUNGARIAN SMALL LETTER ED", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C87", "lowercase_mapping": "", "titlecase_mapping": "10C87", "symbol": "\u0CC7" }, 68808: { "value": "10CC8", "name": "OLD HUNGARIAN SMALL LETTER AND", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C88", "lowercase_mapping": "", "titlecase_mapping": "10C88", "symbol": "\u0CC8" }, 68809: { "value": "10CC9", "name": "OLD HUNGARIAN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C89", "lowercase_mapping": "", "titlecase_mapping": "10C89", "symbol": "\u0CC9" }, 68810: { "value": "10CCA", "name": "OLD HUNGARIAN SMALL LETTER CLOSE E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8A", "lowercase_mapping": "", "titlecase_mapping": "10C8A", "symbol": "\u0CCA" }, 68811: { "value": "10CCB", "name": "OLD HUNGARIAN SMALL LETTER EE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8B", "lowercase_mapping": "", "titlecase_mapping": "10C8B", "symbol": "\u0CCB" }, 68812: { "value": "10CCC", "name": "OLD HUNGARIAN SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8C", "lowercase_mapping": "", "titlecase_mapping": "10C8C", "symbol": "\u0CCC" }, 68813: { "value": "10CCD", "name": "OLD HUNGARIAN SMALL LETTER EG", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8D", "lowercase_mapping": "", "titlecase_mapping": "10C8D", "symbol": "\u0CCD" }, 68814: { "value": "10CCE", "name": "OLD HUNGARIAN SMALL LETTER EGY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8E", "lowercase_mapping": "", "titlecase_mapping": "10C8E", "symbol": "\u0CCE" }, 68815: { "value": "10CCF", "name": "OLD HUNGARIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8F", "lowercase_mapping": "", "titlecase_mapping": "10C8F", "symbol": "\u0CCF" }, 68816: { "value": "10CD0", "name": "OLD HUNGARIAN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C90", "lowercase_mapping": "", "titlecase_mapping": "10C90", "symbol": "\u0CD0" }, 68817: { "value": "10CD1", "name": "OLD HUNGARIAN SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C91", "lowercase_mapping": "", "titlecase_mapping": "10C91", "symbol": "\u0CD1" }, 68818: { "value": "10CD2", "name": "OLD HUNGARIAN SMALL LETTER EJ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C92", "lowercase_mapping": "", "titlecase_mapping": "10C92", "symbol": "\u0CD2" }, 68819: { "value": "10CD3", "name": "OLD HUNGARIAN SMALL LETTER EK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C93", "lowercase_mapping": "", "titlecase_mapping": "10C93", "symbol": "\u0CD3" }, 68820: { "value": "10CD4", "name": "OLD HUNGARIAN SMALL LETTER AK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C94", "lowercase_mapping": "", "titlecase_mapping": "10C94", "symbol": "\u0CD4" }, 68821: { "value": "10CD5", "name": "OLD HUNGARIAN SMALL LETTER UNK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C95", "lowercase_mapping": "", "titlecase_mapping": "10C95", "symbol": "\u0CD5" }, 68822: { "value": "10CD6", "name": "OLD HUNGARIAN SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C96", "lowercase_mapping": "", "titlecase_mapping": "10C96", "symbol": "\u0CD6" }, 68823: { "value": "10CD7", "name": "OLD HUNGARIAN SMALL LETTER ELY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C97", "lowercase_mapping": "", "titlecase_mapping": "10C97", "symbol": "\u0CD7" }, 68824: { "value": "10CD8", "name": "OLD HUNGARIAN SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C98", "lowercase_mapping": "", "titlecase_mapping": "10C98", "symbol": "\u0CD8" }, 68825: { "value": "10CD9", "name": "OLD HUNGARIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C99", "lowercase_mapping": "", "titlecase_mapping": "10C99", "symbol": "\u0CD9" }, 68826: { "value": "10CDA", "name": "OLD HUNGARIAN SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9A", "lowercase_mapping": "", "titlecase_mapping": "10C9A", "symbol": "\u0CDA" }, 68827: { "value": "10CDB", "name": "OLD HUNGARIAN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9B", "lowercase_mapping": "", "titlecase_mapping": "10C9B", "symbol": "\u0CDB" }, 68828: { "value": "10CDC", "name": "OLD HUNGARIAN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9C", "lowercase_mapping": "", "titlecase_mapping": "10C9C", "symbol": "\u0CDC" }, 68829: { "value": "10CDD", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9D", "lowercase_mapping": "", "titlecase_mapping": "10C9D", "symbol": "\u0CDD" }, 68830: { "value": "10CDE", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9E", "lowercase_mapping": "", "titlecase_mapping": "10C9E", "symbol": "\u0CDE" }, 68831: { "value": "10CDF", "name": "OLD HUNGARIAN SMALL LETTER OEE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9F", "lowercase_mapping": "", "titlecase_mapping": "10C9F", "symbol": "\u0CDF" }, 68832: { "value": "10CE0", "name": "OLD HUNGARIAN SMALL LETTER EP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA0", "lowercase_mapping": "", "titlecase_mapping": "10CA0", "symbol": "\u0CE0" }, 68833: { "value": "10CE1", "name": "OLD HUNGARIAN SMALL LETTER EMP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA1", "lowercase_mapping": "", "titlecase_mapping": "10CA1", "symbol": "\u0CE1" }, 68834: { "value": "10CE2", "name": "OLD HUNGARIAN SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA2", "lowercase_mapping": "", "titlecase_mapping": "10CA2", "symbol": "\u0CE2" }, 68835: { "value": "10CE3", "name": "OLD HUNGARIAN SMALL LETTER SHORT ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA3", "lowercase_mapping": "", "titlecase_mapping": "10CA3", "symbol": "\u0CE3" }, 68836: { "value": "10CE4", "name": "OLD HUNGARIAN SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA4", "lowercase_mapping": "", "titlecase_mapping": "10CA4", "symbol": "\u0CE4" }, 68837: { "value": "10CE5", "name": "OLD HUNGARIAN SMALL LETTER ESZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA5", "lowercase_mapping": "", "titlecase_mapping": "10CA5", "symbol": "\u0CE5" }, 68838: { "value": "10CE6", "name": "OLD HUNGARIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA6", "lowercase_mapping": "", "titlecase_mapping": "10CA6", "symbol": "\u0CE6" }, 68839: { "value": "10CE7", "name": "OLD HUNGARIAN SMALL LETTER ENT", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA7", "lowercase_mapping": "", "titlecase_mapping": "10CA7", "symbol": "\u0CE7" }, 68840: { "value": "10CE8", "name": "OLD HUNGARIAN SMALL LETTER ETY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA8", "lowercase_mapping": "", "titlecase_mapping": "10CA8", "symbol": "\u0CE8" }, 68841: { "value": "10CE9", "name": "OLD HUNGARIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA9", "lowercase_mapping": "", "titlecase_mapping": "10CA9", "symbol": "\u0CE9" }, 68842: { "value": "10CEA", "name": "OLD HUNGARIAN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAA", "lowercase_mapping": "", "titlecase_mapping": "10CAA", "symbol": "\u0CEA" }, 68843: { "value": "10CEB", "name": "OLD HUNGARIAN SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAB", "lowercase_mapping": "", "titlecase_mapping": "10CAB", "symbol": "\u0CEB" }, 68844: { "value": "10CEC", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAC", "lowercase_mapping": "", "titlecase_mapping": "10CAC", "symbol": "\u0CEC" }, 68845: { "value": "10CED", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAD", "lowercase_mapping": "", "titlecase_mapping": "10CAD", "symbol": "\u0CED" }, 68846: { "value": "10CEE", "name": "OLD HUNGARIAN SMALL LETTER EV", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAE", "lowercase_mapping": "", "titlecase_mapping": "10CAE", "symbol": "\u0CEE" }, 68847: { "value": "10CEF", "name": "OLD HUNGARIAN SMALL LETTER EZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAF", "lowercase_mapping": "", "titlecase_mapping": "10CAF", "symbol": "\u0CEF" }, 68848: { "value": "10CF0", "name": "OLD HUNGARIAN SMALL LETTER EZS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB0", "lowercase_mapping": "", "titlecase_mapping": "10CB0", "symbol": "\u0CF0" }, 68849: { "value": "10CF1", "name": "OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB1", "lowercase_mapping": "", "titlecase_mapping": "10CB1", "symbol": "\u0CF1" }, 68850: { "value": "10CF2", "name": "OLD HUNGARIAN SMALL LETTER US", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB2", "lowercase_mapping": "", "titlecase_mapping": "10CB2", "symbol": "\u0CF2" }, 71872: { "value": "118C0", "name": "WARANG CITI SMALL LETTER NGAA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A0", "lowercase_mapping": "", "titlecase_mapping": "118A0", "symbol": "\u18C0" }, 71873: { "value": "118C1", "name": "WARANG CITI SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A1", "lowercase_mapping": "", "titlecase_mapping": "118A1", "symbol": "\u18C1" }, 71874: { "value": "118C2", "name": "WARANG CITI SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A2", "lowercase_mapping": "", "titlecase_mapping": "118A2", "symbol": "\u18C2" }, 71875: { "value": "118C3", "name": "WARANG CITI SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A3", "lowercase_mapping": "", "titlecase_mapping": "118A3", "symbol": "\u18C3" }, 71876: { "value": "118C4", "name": "WARANG CITI SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A4", "lowercase_mapping": "", "titlecase_mapping": "118A4", "symbol": "\u18C4" }, 71877: { "value": "118C5", "name": "WARANG CITI SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A5", "lowercase_mapping": "", "titlecase_mapping": "118A5", "symbol": "\u18C5" }, 71878: { "value": "118C6", "name": "WARANG CITI SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A6", "lowercase_mapping": "", "titlecase_mapping": "118A6", "symbol": "\u18C6" }, 71879: { "value": "118C7", "name": "WARANG CITI SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A7", "lowercase_mapping": "", "titlecase_mapping": "118A7", "symbol": "\u18C7" }, 71880: { "value": "118C8", "name": "WARANG CITI SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A8", "lowercase_mapping": "", "titlecase_mapping": "118A8", "symbol": "\u18C8" }, 71881: { "value": "118C9", "name": "WARANG CITI SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A9", "lowercase_mapping": "", "titlecase_mapping": "118A9", "symbol": "\u18C9" }, 71882: { "value": "118CA", "name": "WARANG CITI SMALL LETTER ANG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AA", "lowercase_mapping": "", "titlecase_mapping": "118AA", "symbol": "\u18CA" }, 71883: { "value": "118CB", "name": "WARANG CITI SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AB", "lowercase_mapping": "", "titlecase_mapping": "118AB", "symbol": "\u18CB" }, 71884: { "value": "118CC", "name": "WARANG CITI SMALL LETTER KO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AC", "lowercase_mapping": "", "titlecase_mapping": "118AC", "symbol": "\u18CC" }, 71885: { "value": "118CD", "name": "WARANG CITI SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AD", "lowercase_mapping": "", "titlecase_mapping": "118AD", "symbol": "\u18CD" }, 71886: { "value": "118CE", "name": "WARANG CITI SMALL LETTER YUJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AE", "lowercase_mapping": "", "titlecase_mapping": "118AE", "symbol": "\u18CE" }, 71887: { "value": "118CF", "name": "WARANG CITI SMALL LETTER UC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AF", "lowercase_mapping": "", "titlecase_mapping": "118AF", "symbol": "\u18CF" }, 71888: { "value": "118D0", "name": "WARANG CITI SMALL LETTER ENN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B0", "lowercase_mapping": "", "titlecase_mapping": "118B0", "symbol": "\u18D0" }, 71889: { "value": "118D1", "name": "WARANG CITI SMALL LETTER ODD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B1", "lowercase_mapping": "", "titlecase_mapping": "118B1", "symbol": "\u18D1" }, 71890: { "value": "118D2", "name": "WARANG CITI SMALL LETTER TTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B2", "lowercase_mapping": "", "titlecase_mapping": "118B2", "symbol": "\u18D2" }, 71891: { "value": "118D3", "name": "WARANG CITI SMALL LETTER NUNG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B3", "lowercase_mapping": "", "titlecase_mapping": "118B3", "symbol": "\u18D3" }, 71892: { "value": "118D4", "name": "WARANG CITI SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B4", "lowercase_mapping": "", "titlecase_mapping": "118B4", "symbol": "\u18D4" }, 71893: { "value": "118D5", "name": "WARANG CITI SMALL LETTER AT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B5", "lowercase_mapping": "", "titlecase_mapping": "118B5", "symbol": "\u18D5" }, 71894: { "value": "118D6", "name": "WARANG CITI SMALL LETTER AM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B6", "lowercase_mapping": "", "titlecase_mapping": "118B6", "symbol": "\u18D6" }, 71895: { "value": "118D7", "name": "WARANG CITI SMALL LETTER BU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B7", "lowercase_mapping": "", "titlecase_mapping": "118B7", "symbol": "\u18D7" }, 71896: { "value": "118D8", "name": "WARANG CITI SMALL LETTER PU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B8", "lowercase_mapping": "", "titlecase_mapping": "118B8", "symbol": "\u18D8" }, 71897: { "value": "118D9", "name": "WARANG CITI SMALL LETTER HIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B9", "lowercase_mapping": "", "titlecase_mapping": "118B9", "symbol": "\u18D9" }, 71898: { "value": "118DA", "name": "WARANG CITI SMALL LETTER HOLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BA", "lowercase_mapping": "", "titlecase_mapping": "118BA", "symbol": "\u18DA" }, 71899: { "value": "118DB", "name": "WARANG CITI SMALL LETTER HORR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BB", "lowercase_mapping": "", "titlecase_mapping": "118BB", "symbol": "\u18DB" }, 71900: { "value": "118DC", "name": "WARANG CITI SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BC", "lowercase_mapping": "", "titlecase_mapping": "118BC", "symbol": "\u18DC" }, 71901: { "value": "118DD", "name": "WARANG CITI SMALL LETTER SSUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BD", "lowercase_mapping": "", "titlecase_mapping": "118BD", "symbol": "\u18DD" }, 71902: { "value": "118DE", "name": "WARANG CITI SMALL LETTER SII", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BE", "lowercase_mapping": "", "titlecase_mapping": "118BE", "symbol": "\u18DE" }, 71903: { "value": "118DF", "name": "WARANG CITI SMALL LETTER VIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BF", "lowercase_mapping": "", "titlecase_mapping": "118BF", "symbol": "\u18DF" }, 119834: { "value": "1D41A", "name": "MATHEMATICAL BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41A" }, 119835: { "value": "1D41B", "name": "MATHEMATICAL BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41B" }, 119836: { "value": "1D41C", "name": "MATHEMATICAL BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41C" }, 119837: { "value": "1D41D", "name": "MATHEMATICAL BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41D" }, 119838: { "value": "1D41E", "name": "MATHEMATICAL BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41E" }, 119839: { "value": "1D41F", "name": "MATHEMATICAL BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41F" }, 119840: { "value": "1D420", "name": "MATHEMATICAL BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD420" }, 119841: { "value": "1D421", "name": "MATHEMATICAL BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD421" }, 119842: { "value": "1D422", "name": "MATHEMATICAL BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD422" }, 119843: { "value": "1D423", "name": "MATHEMATICAL BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD423" }, 119844: { "value": "1D424", "name": "MATHEMATICAL BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD424" }, 119845: { "value": "1D425", "name": "MATHEMATICAL BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD425" }, 119846: { "value": "1D426", "name": "MATHEMATICAL BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD426" }, 119847: { "value": "1D427", "name": "MATHEMATICAL BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD427" }, 119848: { "value": "1D428", "name": "MATHEMATICAL BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD428" }, 119849: { "value": "1D429", "name": "MATHEMATICAL BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD429" }, 119850: { "value": "1D42A", "name": "MATHEMATICAL BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42A" }, 119851: { "value": "1D42B", "name": "MATHEMATICAL BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42B" }, 119852: { "value": "1D42C", "name": "MATHEMATICAL BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42C" }, 119853: { "value": "1D42D", "name": "MATHEMATICAL BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42D" }, 119854: { "value": "1D42E", "name": "MATHEMATICAL BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42E" }, 119855: { "value": "1D42F", "name": "MATHEMATICAL BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42F" }, 119856: { "value": "1D430", "name": "MATHEMATICAL BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD430" }, 119857: { "value": "1D431", "name": "MATHEMATICAL BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD431" }, 119858: { "value": "1D432", "name": "MATHEMATICAL BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD432" }, 119859: { "value": "1D433", "name": "MATHEMATICAL BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD433" }, 119886: { "value": "1D44E", "name": "MATHEMATICAL ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44E" }, 119887: { "value": "1D44F", "name": "MATHEMATICAL ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44F" }, 119888: { "value": "1D450", "name": "MATHEMATICAL ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD450" }, 119889: { "value": "1D451", "name": "MATHEMATICAL ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD451" }, 119890: { "value": "1D452", "name": "MATHEMATICAL ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD452" }, 119891: { "value": "1D453", "name": "MATHEMATICAL ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD453" }, 119892: { "value": "1D454", "name": "MATHEMATICAL ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD454" }, 119894: { "value": "1D456", "name": "MATHEMATICAL ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD456" }, 119895: { "value": "1D457", "name": "MATHEMATICAL ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD457" }, 119896: { "value": "1D458", "name": "MATHEMATICAL ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD458" }, 119897: { "value": "1D459", "name": "MATHEMATICAL ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD459" }, 119898: { "value": "1D45A", "name": "MATHEMATICAL ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45A" }, 119899: { "value": "1D45B", "name": "MATHEMATICAL ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45B" }, 119900: { "value": "1D45C", "name": "MATHEMATICAL ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45C" }, 119901: { "value": "1D45D", "name": "MATHEMATICAL ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45D" }, 119902: { "value": "1D45E", "name": "MATHEMATICAL ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45E" }, 119903: { "value": "1D45F", "name": "MATHEMATICAL ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45F" }, 119904: { "value": "1D460", "name": "MATHEMATICAL ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD460" }, 119905: { "value": "1D461", "name": "MATHEMATICAL ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD461" }, 119906: { "value": "1D462", "name": "MATHEMATICAL ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD462" }, 119907: { "value": "1D463", "name": "MATHEMATICAL ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD463" }, 119908: { "value": "1D464", "name": "MATHEMATICAL ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD464" }, 119909: { "value": "1D465", "name": "MATHEMATICAL ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD465" }, 119910: { "value": "1D466", "name": "MATHEMATICAL ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD466" }, 119911: { "value": "1D467", "name": "MATHEMATICAL ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD467" }, 119938: { "value": "1D482", "name": "MATHEMATICAL BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD482" }, 119939: { "value": "1D483", "name": "MATHEMATICAL BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD483" }, 119940: { "value": "1D484", "name": "MATHEMATICAL BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD484" }, 119941: { "value": "1D485", "name": "MATHEMATICAL BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD485" }, 119942: { "value": "1D486", "name": "MATHEMATICAL BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD486" }, 119943: { "value": "1D487", "name": "MATHEMATICAL BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD487" }, 119944: { "value": "1D488", "name": "MATHEMATICAL BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD488" }, 119945: { "value": "1D489", "name": "MATHEMATICAL BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD489" }, 119946: { "value": "1D48A", "name": "MATHEMATICAL BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48A" }, 119947: { "value": "1D48B", "name": "MATHEMATICAL BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48B" }, 119948: { "value": "1D48C", "name": "MATHEMATICAL BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48C" }, 119949: { "value": "1D48D", "name": "MATHEMATICAL BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48D" }, 119950: { "value": "1D48E", "name": "MATHEMATICAL BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48E" }, 119951: { "value": "1D48F", "name": "MATHEMATICAL BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48F" }, 119952: { "value": "1D490", "name": "MATHEMATICAL BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD490" }, 119953: { "value": "1D491", "name": "MATHEMATICAL BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD491" }, 119954: { "value": "1D492", "name": "MATHEMATICAL BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD492" }, 119955: { "value": "1D493", "name": "MATHEMATICAL BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD493" }, 119956: { "value": "1D494", "name": "MATHEMATICAL BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD494" }, 119957: { "value": "1D495", "name": "MATHEMATICAL BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD495" }, 119958: { "value": "1D496", "name": "MATHEMATICAL BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD496" }, 119959: { "value": "1D497", "name": "MATHEMATICAL BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD497" }, 119960: { "value": "1D498", "name": "MATHEMATICAL BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD498" }, 119961: { "value": "1D499", "name": "MATHEMATICAL BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD499" }, 119962: { "value": "1D49A", "name": "MATHEMATICAL BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49A" }, 119963: { "value": "1D49B", "name": "MATHEMATICAL BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49B" }, 119990: { "value": "1D4B6", "name": "MATHEMATICAL SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B6" }, 119991: { "value": "1D4B7", "name": "MATHEMATICAL SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B7" }, 119992: { "value": "1D4B8", "name": "MATHEMATICAL SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B8" }, 119993: { "value": "1D4B9", "name": "MATHEMATICAL SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B9" }, 119995: { "value": "1D4BB", "name": "MATHEMATICAL SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BB" }, 119997: { "value": "1D4BD", "name": "MATHEMATICAL SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BD" }, 119998: { "value": "1D4BE", "name": "MATHEMATICAL SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BE" }, 119999: { "value": "1D4BF", "name": "MATHEMATICAL SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BF" }, 120000: { "value": "1D4C0", "name": "MATHEMATICAL SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C0" }, 120001: { "value": "1D4C1", "name": "MATHEMATICAL SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C1" }, 120002: { "value": "1D4C2", "name": "MATHEMATICAL SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C2" }, 120003: { "value": "1D4C3", "name": "MATHEMATICAL SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C3" }, 120005: { "value": "1D4C5", "name": "MATHEMATICAL SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C5" }, 120006: { "value": "1D4C6", "name": "MATHEMATICAL SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C6" }, 120007: { "value": "1D4C7", "name": "MATHEMATICAL SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C7" }, 120008: { "value": "1D4C8", "name": "MATHEMATICAL SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C8" }, 120009: { "value": "1D4C9", "name": "MATHEMATICAL SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C9" }, 120010: { "value": "1D4CA", "name": "MATHEMATICAL SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CA" }, 120011: { "value": "1D4CB", "name": "MATHEMATICAL SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CB" }, 120012: { "value": "1D4CC", "name": "MATHEMATICAL SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CC" }, 120013: { "value": "1D4CD", "name": "MATHEMATICAL SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CD" }, 120014: { "value": "1D4CE", "name": "MATHEMATICAL SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CE" }, 120015: { "value": "1D4CF", "name": "MATHEMATICAL SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CF" }, 120042: { "value": "1D4EA", "name": "MATHEMATICAL BOLD SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EA" }, 120043: { "value": "1D4EB", "name": "MATHEMATICAL BOLD SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EB" }, 120044: { "value": "1D4EC", "name": "MATHEMATICAL BOLD SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EC" }, 120045: { "value": "1D4ED", "name": "MATHEMATICAL BOLD SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4ED" }, 120046: { "value": "1D4EE", "name": "MATHEMATICAL BOLD SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EE" }, 120047: { "value": "1D4EF", "name": "MATHEMATICAL BOLD SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EF" }, 120048: { "value": "1D4F0", "name": "MATHEMATICAL BOLD SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F0" }, 120049: { "value": "1D4F1", "name": "MATHEMATICAL BOLD SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F1" }, 120050: { "value": "1D4F2", "name": "MATHEMATICAL BOLD SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F2" }, 120051: { "value": "1D4F3", "name": "MATHEMATICAL BOLD SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F3" }, 120052: { "value": "1D4F4", "name": "MATHEMATICAL BOLD SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F4" }, 120053: { "value": "1D4F5", "name": "MATHEMATICAL BOLD SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F5" }, 120054: { "value": "1D4F6", "name": "MATHEMATICAL BOLD SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F6" }, 120055: { "value": "1D4F7", "name": "MATHEMATICAL BOLD SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F7" }, 120056: { "value": "1D4F8", "name": "MATHEMATICAL BOLD SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F8" }, 120057: { "value": "1D4F9", "name": "MATHEMATICAL BOLD SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F9" }, 120058: { "value": "1D4FA", "name": "MATHEMATICAL BOLD SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FA" }, 120059: { "value": "1D4FB", "name": "MATHEMATICAL BOLD SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FB" }, 120060: { "value": "1D4FC", "name": "MATHEMATICAL BOLD SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FC" }, 120061: { "value": "1D4FD", "name": "MATHEMATICAL BOLD SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FD" }, 120062: { "value": "1D4FE", "name": "MATHEMATICAL BOLD SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FE" }, 120063: { "value": "1D4FF", "name": "MATHEMATICAL BOLD SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FF" }, 120064: { "value": "1D500", "name": "MATHEMATICAL BOLD SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD500" }, 120065: { "value": "1D501", "name": "MATHEMATICAL BOLD SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD501" }, 120066: { "value": "1D502", "name": "MATHEMATICAL BOLD SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD502" }, 120067: { "value": "1D503", "name": "MATHEMATICAL BOLD SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD503" }, 120094: { "value": "1D51E", "name": "MATHEMATICAL FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51E" }, 120095: { "value": "1D51F", "name": "MATHEMATICAL FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51F" }, 120096: { "value": "1D520", "name": "MATHEMATICAL FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD520" }, 120097: { "value": "1D521", "name": "MATHEMATICAL FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD521" }, 120098: { "value": "1D522", "name": "MATHEMATICAL FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD522" }, 120099: { "value": "1D523", "name": "MATHEMATICAL FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD523" }, 120100: { "value": "1D524", "name": "MATHEMATICAL FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD524" }, 120101: { "value": "1D525", "name": "MATHEMATICAL FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD525" }, 120102: { "value": "1D526", "name": "MATHEMATICAL FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD526" }, 120103: { "value": "1D527", "name": "MATHEMATICAL FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD527" }, 120104: { "value": "1D528", "name": "MATHEMATICAL FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD528" }, 120105: { "value": "1D529", "name": "MATHEMATICAL FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD529" }, 120106: { "value": "1D52A", "name": "MATHEMATICAL FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52A" }, 120107: { "value": "1D52B", "name": "MATHEMATICAL FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52B" }, 120108: { "value": "1D52C", "name": "MATHEMATICAL FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52C" }, 120109: { "value": "1D52D", "name": "MATHEMATICAL FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52D" }, 120110: { "value": "1D52E", "name": "MATHEMATICAL FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52E" }, 120111: { "value": "1D52F", "name": "MATHEMATICAL FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52F" }, 120112: { "value": "1D530", "name": "MATHEMATICAL FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD530" }, 120113: { "value": "1D531", "name": "MATHEMATICAL FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD531" }, 120114: { "value": "1D532", "name": "MATHEMATICAL FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD532" }, 120115: { "value": "1D533", "name": "MATHEMATICAL FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD533" }, 120116: { "value": "1D534", "name": "MATHEMATICAL FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD534" }, 120117: { "value": "1D535", "name": "MATHEMATICAL FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD535" }, 120118: { "value": "1D536", "name": "MATHEMATICAL FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD536" }, 120119: { "value": "1D537", "name": "MATHEMATICAL FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD537" }, 120146: { "value": "1D552", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD552" }, 120147: { "value": "1D553", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD553" }, 120148: { "value": "1D554", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD554" }, 120149: { "value": "1D555", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD555" }, 120150: { "value": "1D556", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD556" }, 120151: { "value": "1D557", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD557" }, 120152: { "value": "1D558", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD558" }, 120153: { "value": "1D559", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD559" }, 120154: { "value": "1D55A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55A" }, 120155: { "value": "1D55B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55B" }, 120156: { "value": "1D55C", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55C" }, 120157: { "value": "1D55D", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55D" }, 120158: { "value": "1D55E", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55E" }, 120159: { "value": "1D55F", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55F" }, 120160: { "value": "1D560", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD560" }, 120161: { "value": "1D561", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD561" }, 120162: { "value": "1D562", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD562" }, 120163: { "value": "1D563", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD563" }, 120164: { "value": "1D564", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD564" }, 120165: { "value": "1D565", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD565" }, 120166: { "value": "1D566", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD566" }, 120167: { "value": "1D567", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD567" }, 120168: { "value": "1D568", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD568" }, 120169: { "value": "1D569", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD569" }, 120170: { "value": "1D56A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56A" }, 120171: { "value": "1D56B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56B" }, 120198: { "value": "1D586", "name": "MATHEMATICAL BOLD FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD586" }, 120199: { "value": "1D587", "name": "MATHEMATICAL BOLD FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD587" }, 120200: { "value": "1D588", "name": "MATHEMATICAL BOLD FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD588" }, 120201: { "value": "1D589", "name": "MATHEMATICAL BOLD FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD589" }, 120202: { "value": "1D58A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58A" }, 120203: { "value": "1D58B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58B" }, 120204: { "value": "1D58C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58C" }, 120205: { "value": "1D58D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58D" }, 120206: { "value": "1D58E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58E" }, 120207: { "value": "1D58F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58F" }, 120208: { "value": "1D590", "name": "MATHEMATICAL BOLD FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD590" }, 120209: { "value": "1D591", "name": "MATHEMATICAL BOLD FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD591" }, 120210: { "value": "1D592", "name": "MATHEMATICAL BOLD FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD592" }, 120211: { "value": "1D593", "name": "MATHEMATICAL BOLD FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD593" }, 120212: { "value": "1D594", "name": "MATHEMATICAL BOLD FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD594" }, 120213: { "value": "1D595", "name": "MATHEMATICAL BOLD FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD595" }, 120214: { "value": "1D596", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD596" }, 120215: { "value": "1D597", "name": "MATHEMATICAL BOLD FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD597" }, 120216: { "value": "1D598", "name": "MATHEMATICAL BOLD FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD598" }, 120217: { "value": "1D599", "name": "MATHEMATICAL BOLD FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD599" }, 120218: { "value": "1D59A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59A" }, 120219: { "value": "1D59B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59B" }, 120220: { "value": "1D59C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59C" }, 120221: { "value": "1D59D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59D" }, 120222: { "value": "1D59E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59E" }, 120223: { "value": "1D59F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59F" }, 120250: { "value": "1D5BA", "name": "MATHEMATICAL SANS-SERIF SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BA" }, 120251: { "value": "1D5BB", "name": "MATHEMATICAL SANS-SERIF SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BB" }, 120252: { "value": "1D5BC", "name": "MATHEMATICAL SANS-SERIF SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BC" }, 120253: { "value": "1D5BD", "name": "MATHEMATICAL SANS-SERIF SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BD" }, 120254: { "value": "1D5BE", "name": "MATHEMATICAL SANS-SERIF SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BE" }, 120255: { "value": "1D5BF", "name": "MATHEMATICAL SANS-SERIF SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BF" }, 120256: { "value": "1D5C0", "name": "MATHEMATICAL SANS-SERIF SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C0" }, 120257: { "value": "1D5C1", "name": "MATHEMATICAL SANS-SERIF SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C1" }, 120258: { "value": "1D5C2", "name": "MATHEMATICAL SANS-SERIF SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C2" }, 120259: { "value": "1D5C3", "name": "MATHEMATICAL SANS-SERIF SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C3" }, 120260: { "value": "1D5C4", "name": "MATHEMATICAL SANS-SERIF SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C4" }, 120261: { "value": "1D5C5", "name": "MATHEMATICAL SANS-SERIF SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C5" }, 120262: { "value": "1D5C6", "name": "MATHEMATICAL SANS-SERIF SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C6" }, 120263: { "value": "1D5C7", "name": "MATHEMATICAL SANS-SERIF SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C7" }, 120264: { "value": "1D5C8", "name": "MATHEMATICAL SANS-SERIF SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C8" }, 120265: { "value": "1D5C9", "name": "MATHEMATICAL SANS-SERIF SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C9" }, 120266: { "value": "1D5CA", "name": "MATHEMATICAL SANS-SERIF SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CA" }, 120267: { "value": "1D5CB", "name": "MATHEMATICAL SANS-SERIF SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CB" }, 120268: { "value": "1D5CC", "name": "MATHEMATICAL SANS-SERIF SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CC" }, 120269: { "value": "1D5CD", "name": "MATHEMATICAL SANS-SERIF SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CD" }, 120270: { "value": "1D5CE", "name": "MATHEMATICAL SANS-SERIF SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CE" }, 120271: { "value": "1D5CF", "name": "MATHEMATICAL SANS-SERIF SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CF" }, 120272: { "value": "1D5D0", "name": "MATHEMATICAL SANS-SERIF SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D0" }, 120273: { "value": "1D5D1", "name": "MATHEMATICAL SANS-SERIF SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D1" }, 120274: { "value": "1D5D2", "name": "MATHEMATICAL SANS-SERIF SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D2" }, 120275: { "value": "1D5D3", "name": "MATHEMATICAL SANS-SERIF SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D3" }, 120302: { "value": "1D5EE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EE" }, 120303: { "value": "1D5EF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EF" }, 120304: { "value": "1D5F0", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F0" }, 120305: { "value": "1D5F1", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F1" }, 120306: { "value": "1D5F2", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F2" }, 120307: { "value": "1D5F3", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F3" }, 120308: { "value": "1D5F4", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F4" }, 120309: { "value": "1D5F5", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F5" }, 120310: { "value": "1D5F6", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F6" }, 120311: { "value": "1D5F7", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F7" }, 120312: { "value": "1D5F8", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F8" }, 120313: { "value": "1D5F9", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F9" }, 120314: { "value": "1D5FA", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FA" }, 120315: { "value": "1D5FB", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FB" }, 120316: { "value": "1D5FC", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FC" }, 120317: { "value": "1D5FD", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FD" }, 120318: { "value": "1D5FE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FE" }, 120319: { "value": "1D5FF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FF" }, 120320: { "value": "1D600", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD600" }, 120321: { "value": "1D601", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD601" }, 120322: { "value": "1D602", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD602" }, 120323: { "value": "1D603", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD603" }, 120324: { "value": "1D604", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD604" }, 120325: { "value": "1D605", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD605" }, 120326: { "value": "1D606", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD606" }, 120327: { "value": "1D607", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD607" }, 120354: { "value": "1D622", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD622" }, 120355: { "value": "1D623", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD623" }, 120356: { "value": "1D624", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD624" }, 120357: { "value": "1D625", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD625" }, 120358: { "value": "1D626", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD626" }, 120359: { "value": "1D627", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD627" }, 120360: { "value": "1D628", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD628" }, 120361: { "value": "1D629", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD629" }, 120362: { "value": "1D62A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62A" }, 120363: { "value": "1D62B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62B" }, 120364: { "value": "1D62C", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62C" }, 120365: { "value": "1D62D", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62D" }, 120366: { "value": "1D62E", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62E" }, 120367: { "value": "1D62F", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62F" }, 120368: { "value": "1D630", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD630" }, 120369: { "value": "1D631", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD631" }, 120370: { "value": "1D632", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD632" }, 120371: { "value": "1D633", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD633" }, 120372: { "value": "1D634", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD634" }, 120373: { "value": "1D635", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD635" }, 120374: { "value": "1D636", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD636" }, 120375: { "value": "1D637", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD637" }, 120376: { "value": "1D638", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD638" }, 120377: { "value": "1D639", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD639" }, 120378: { "value": "1D63A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63A" }, 120379: { "value": "1D63B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63B" }, 120406: { "value": "1D656", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD656" }, 120407: { "value": "1D657", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD657" }, 120408: { "value": "1D658", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD658" }, 120409: { "value": "1D659", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD659" }, 120410: { "value": "1D65A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65A" }, 120411: { "value": "1D65B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65B" }, 120412: { "value": "1D65C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65C" }, 120413: { "value": "1D65D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65D" }, 120414: { "value": "1D65E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65E" }, 120415: { "value": "1D65F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65F" }, 120416: { "value": "1D660", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD660" }, 120417: { "value": "1D661", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD661" }, 120418: { "value": "1D662", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD662" }, 120419: { "value": "1D663", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD663" }, 120420: { "value": "1D664", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD664" }, 120421: { "value": "1D665", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD665" }, 120422: { "value": "1D666", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD666" }, 120423: { "value": "1D667", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD667" }, 120424: { "value": "1D668", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD668" }, 120425: { "value": "1D669", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD669" }, 120426: { "value": "1D66A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66A" }, 120427: { "value": "1D66B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66B" }, 120428: { "value": "1D66C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66C" }, 120429: { "value": "1D66D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66D" }, 120430: { "value": "1D66E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66E" }, 120431: { "value": "1D66F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66F" }, 120458: { "value": "1D68A", "name": "MATHEMATICAL MONOSPACE SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68A" }, 120459: { "value": "1D68B", "name": "MATHEMATICAL MONOSPACE SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68B" }, 120460: { "value": "1D68C", "name": "MATHEMATICAL MONOSPACE SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68C" }, 120461: { "value": "1D68D", "name": "MATHEMATICAL MONOSPACE SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68D" }, 120462: { "value": "1D68E", "name": "MATHEMATICAL MONOSPACE SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68E" }, 120463: { "value": "1D68F", "name": "MATHEMATICAL MONOSPACE SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68F" }, 120464: { "value": "1D690", "name": "MATHEMATICAL MONOSPACE SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD690" }, 120465: { "value": "1D691", "name": "MATHEMATICAL MONOSPACE SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD691" }, 120466: { "value": "1D692", "name": "MATHEMATICAL MONOSPACE SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD692" }, 120467: { "value": "1D693", "name": "MATHEMATICAL MONOSPACE SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD693" }, 120468: { "value": "1D694", "name": "MATHEMATICAL MONOSPACE SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD694" }, 120469: { "value": "1D695", "name": "MATHEMATICAL MONOSPACE SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD695" }, 120470: { "value": "1D696", "name": "MATHEMATICAL MONOSPACE SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD696" }, 120471: { "value": "1D697", "name": "MATHEMATICAL MONOSPACE SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD697" }, 120472: { "value": "1D698", "name": "MATHEMATICAL MONOSPACE SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD698" }, 120473: { "value": "1D699", "name": "MATHEMATICAL MONOSPACE SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD699" }, 120474: { "value": "1D69A", "name": "MATHEMATICAL MONOSPACE SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69A" }, 120475: { "value": "1D69B", "name": "MATHEMATICAL MONOSPACE SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69B" }, 120476: { "value": "1D69C", "name": "MATHEMATICAL MONOSPACE SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69C" }, 120477: { "value": "1D69D", "name": "MATHEMATICAL MONOSPACE SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69D" }, 120478: { "value": "1D69E", "name": "MATHEMATICAL MONOSPACE SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69E" }, 120479: { "value": "1D69F", "name": "MATHEMATICAL MONOSPACE SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69F" }, 120480: { "value": "1D6A0", "name": "MATHEMATICAL MONOSPACE SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A0" }, 120481: { "value": "1D6A1", "name": "MATHEMATICAL MONOSPACE SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A1" }, 120482: { "value": "1D6A2", "name": "MATHEMATICAL MONOSPACE SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A2" }, 120483: { "value": "1D6A3", "name": "MATHEMATICAL MONOSPACE SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A3" }, 120484: { "value": "1D6A4", "name": "MATHEMATICAL ITALIC SMALL DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0131", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A4" }, 120485: { "value": "1D6A5", "name": "MATHEMATICAL ITALIC SMALL DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0237", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A5" }, 120514: { "value": "1D6C2", "name": "MATHEMATICAL BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C2" }, 120515: { "value": "1D6C3", "name": "MATHEMATICAL BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C3" }, 120516: { "value": "1D6C4", "name": "MATHEMATICAL BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C4" }, 120517: { "value": "1D6C5", "name": "MATHEMATICAL BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C5" }, 120518: { "value": "1D6C6", "name": "MATHEMATICAL BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C6" }, 120519: { "value": "1D6C7", "name": "MATHEMATICAL BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C7" }, 120520: { "value": "1D6C8", "name": "MATHEMATICAL BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C8" }, 120521: { "value": "1D6C9", "name": "MATHEMATICAL BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C9" }, 120522: { "value": "1D6CA", "name": "MATHEMATICAL BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CA" }, 120523: { "value": "1D6CB", "name": "MATHEMATICAL BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CB" }, 120524: { "value": "1D6CC", "name": "MATHEMATICAL BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CC" }, 120525: { "value": "1D6CD", "name": "MATHEMATICAL BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CD" }, 120526: { "value": "1D6CE", "name": "MATHEMATICAL BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CE" }, 120527: { "value": "1D6CF", "name": "MATHEMATICAL BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CF" }, 120528: { "value": "1D6D0", "name": "MATHEMATICAL BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D0" }, 120529: { "value": "1D6D1", "name": "MATHEMATICAL BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D1" }, 120530: { "value": "1D6D2", "name": "MATHEMATICAL BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D2" }, 120531: { "value": "1D6D3", "name": "MATHEMATICAL BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D3" }, 120532: { "value": "1D6D4", "name": "MATHEMATICAL BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D4" }, 120533: { "value": "1D6D5", "name": "MATHEMATICAL BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D5" }, 120534: { "value": "1D6D6", "name": "MATHEMATICAL BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D6" }, 120535: { "value": "1D6D7", "name": "MATHEMATICAL BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D7" }, 120536: { "value": "1D6D8", "name": "MATHEMATICAL BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D8" }, 120537: { "value": "1D6D9", "name": "MATHEMATICAL BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D9" }, 120538: { "value": "1D6DA", "name": "MATHEMATICAL BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DA" }, 120540: { "value": "1D6DC", "name": "MATHEMATICAL BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DC" }, 120541: { "value": "1D6DD", "name": "MATHEMATICAL BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DD" }, 120542: { "value": "1D6DE", "name": "MATHEMATICAL BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DE" }, 120543: { "value": "1D6DF", "name": "MATHEMATICAL BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DF" }, 120544: { "value": "1D6E0", "name": "MATHEMATICAL BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E0" }, 120545: { "value": "1D6E1", "name": "MATHEMATICAL BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E1" }, 120572: { "value": "1D6FC", "name": "MATHEMATICAL ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FC" }, 120573: { "value": "1D6FD", "name": "MATHEMATICAL ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FD" }, 120574: { "value": "1D6FE", "name": "MATHEMATICAL ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FE" }, 120575: { "value": "1D6FF", "name": "MATHEMATICAL ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FF" }, 120576: { "value": "1D700", "name": "MATHEMATICAL ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD700" }, 120577: { "value": "1D701", "name": "MATHEMATICAL ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD701" }, 120578: { "value": "1D702", "name": "MATHEMATICAL ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD702" }, 120579: { "value": "1D703", "name": "MATHEMATICAL ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD703" }, 120580: { "value": "1D704", "name": "MATHEMATICAL ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD704" }, 120581: { "value": "1D705", "name": "MATHEMATICAL ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD705" }, 120582: { "value": "1D706", "name": "MATHEMATICAL ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD706" }, 120583: { "value": "1D707", "name": "MATHEMATICAL ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD707" }, 120584: { "value": "1D708", "name": "MATHEMATICAL ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD708" }, 120585: { "value": "1D709", "name": "MATHEMATICAL ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD709" }, 120586: { "value": "1D70A", "name": "MATHEMATICAL ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70A" }, 120587: { "value": "1D70B", "name": "MATHEMATICAL ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70B" }, 120588: { "value": "1D70C", "name": "MATHEMATICAL ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70C" }, 120589: { "value": "1D70D", "name": "MATHEMATICAL ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70D" }, 120590: { "value": "1D70E", "name": "MATHEMATICAL ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70E" }, 120591: { "value": "1D70F", "name": "MATHEMATICAL ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70F" }, 120592: { "value": "1D710", "name": "MATHEMATICAL ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD710" }, 120593: { "value": "1D711", "name": "MATHEMATICAL ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD711" }, 120594: { "value": "1D712", "name": "MATHEMATICAL ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD712" }, 120595: { "value": "1D713", "name": "MATHEMATICAL ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD713" }, 120596: { "value": "1D714", "name": "MATHEMATICAL ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD714" }, 120598: { "value": "1D716", "name": "MATHEMATICAL ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD716" }, 120599: { "value": "1D717", "name": "MATHEMATICAL ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD717" }, 120600: { "value": "1D718", "name": "MATHEMATICAL ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD718" }, 120601: { "value": "1D719", "name": "MATHEMATICAL ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD719" }, 120602: { "value": "1D71A", "name": "MATHEMATICAL ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71A" }, 120603: { "value": "1D71B", "name": "MATHEMATICAL ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71B" }, 120630: { "value": "1D736", "name": "MATHEMATICAL BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD736" }, 120631: { "value": "1D737", "name": "MATHEMATICAL BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD737" }, 120632: { "value": "1D738", "name": "MATHEMATICAL BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD738" }, 120633: { "value": "1D739", "name": "MATHEMATICAL BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD739" }, 120634: { "value": "1D73A", "name": "MATHEMATICAL BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73A" }, 120635: { "value": "1D73B", "name": "MATHEMATICAL BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73B" }, 120636: { "value": "1D73C", "name": "MATHEMATICAL BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73C" }, 120637: { "value": "1D73D", "name": "MATHEMATICAL BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73D" }, 120638: { "value": "1D73E", "name": "MATHEMATICAL BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73E" }, 120639: { "value": "1D73F", "name": "MATHEMATICAL BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73F" }, 120640: { "value": "1D740", "name": "MATHEMATICAL BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD740" }, 120641: { "value": "1D741", "name": "MATHEMATICAL BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD741" }, 120642: { "value": "1D742", "name": "MATHEMATICAL BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD742" }, 120643: { "value": "1D743", "name": "MATHEMATICAL BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD743" }, 120644: { "value": "1D744", "name": "MATHEMATICAL BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD744" }, 120645: { "value": "1D745", "name": "MATHEMATICAL BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD745" }, 120646: { "value": "1D746", "name": "MATHEMATICAL BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD746" }, 120647: { "value": "1D747", "name": "MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD747" }, 120648: { "value": "1D748", "name": "MATHEMATICAL BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD748" }, 120649: { "value": "1D749", "name": "MATHEMATICAL BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD749" }, 120650: { "value": "1D74A", "name": "MATHEMATICAL BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74A" }, 120651: { "value": "1D74B", "name": "MATHEMATICAL BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74B" }, 120652: { "value": "1D74C", "name": "MATHEMATICAL BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74C" }, 120653: { "value": "1D74D", "name": "MATHEMATICAL BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74D" }, 120654: { "value": "1D74E", "name": "MATHEMATICAL BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74E" }, 120656: { "value": "1D750", "name": "MATHEMATICAL BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD750" }, 120657: { "value": "1D751", "name": "MATHEMATICAL BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD751" }, 120658: { "value": "1D752", "name": "MATHEMATICAL BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD752" }, 120659: { "value": "1D753", "name": "MATHEMATICAL BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD753" }, 120660: { "value": "1D754", "name": "MATHEMATICAL BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD754" }, 120661: { "value": "1D755", "name": "MATHEMATICAL BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD755" }, 120688: { "value": "1D770", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD770" }, 120689: { "value": "1D771", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD771" }, 120690: { "value": "1D772", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD772" }, 120691: { "value": "1D773", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD773" }, 120692: { "value": "1D774", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD774" }, 120693: { "value": "1D775", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD775" }, 120694: { "value": "1D776", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD776" }, 120695: { "value": "1D777", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD777" }, 120696: { "value": "1D778", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD778" }, 120697: { "value": "1D779", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD779" }, 120698: { "value": "1D77A", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77A" }, 120699: { "value": "1D77B", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77B" }, 120700: { "value": "1D77C", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77C" }, 120701: { "value": "1D77D", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77D" }, 120702: { "value": "1D77E", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77E" }, 120703: { "value": "1D77F", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77F" }, 120704: { "value": "1D780", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD780" }, 120705: { "value": "1D781", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD781" }, 120706: { "value": "1D782", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD782" }, 120707: { "value": "1D783", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD783" }, 120708: { "value": "1D784", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD784" }, 120709: { "value": "1D785", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD785" }, 120710: { "value": "1D786", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD786" }, 120711: { "value": "1D787", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD787" }, 120712: { "value": "1D788", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD788" }, 120714: { "value": "1D78A", "name": "MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78A" }, 120715: { "value": "1D78B", "name": "MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78B" }, 120716: { "value": "1D78C", "name": "MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78C" }, 120717: { "value": "1D78D", "name": "MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78D" }, 120718: { "value": "1D78E", "name": "MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78E" }, 120719: { "value": "1D78F", "name": "MATHEMATICAL SANS-SERIF BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78F" }, 120746: { "value": "1D7AA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AA" }, 120747: { "value": "1D7AB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AB" }, 120748: { "value": "1D7AC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AC" }, 120749: { "value": "1D7AD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AD" }, 120750: { "value": "1D7AE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AE" }, 120751: { "value": "1D7AF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AF" }, 120752: { "value": "1D7B0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B0" }, 120753: { "value": "1D7B1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B1" }, 120754: { "value": "1D7B2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B2" }, 120755: { "value": "1D7B3", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B3" }, 120756: { "value": "1D7B4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B4" }, 120757: { "value": "1D7B5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B5" }, 120758: { "value": "1D7B6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B6" }, 120759: { "value": "1D7B7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B7" }, 120760: { "value": "1D7B8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B8" }, 120761: { "value": "1D7B9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B9" }, 120762: { "value": "1D7BA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BA" }, 120763: { "value": "1D7BB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BB" }, 120764: { "value": "1D7BC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BC" }, 120765: { "value": "1D7BD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BD" }, 120766: { "value": "1D7BE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BE" }, 120767: { "value": "1D7BF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BF" }, 120768: { "value": "1D7C0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C0" }, 120769: { "value": "1D7C1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C1" }, 120770: { "value": "1D7C2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C2" }, 120772: { "value": "1D7C4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C4" }, 120773: { "value": "1D7C5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C5" }, 120774: { "value": "1D7C6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C6" }, 120775: { "value": "1D7C7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C7" }, 120776: { "value": "1D7C8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C8" }, 120777: { "value": "1D7C9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C9" }, 120779: { "value": "1D7CB", "name": "MATHEMATICAL BOLD SMALL DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03DD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7CB" }, 125218: { "value": "1E922", "name": "ADLAM SMALL LETTER ALIF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E900", "lowercase_mapping": "", "titlecase_mapping": "1E900", "symbol": "\uE922" }, 125219: { "value": "1E923", "name": "ADLAM SMALL LETTER DAALI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E901", "lowercase_mapping": "", "titlecase_mapping": "1E901", "symbol": "\uE923" }, 125220: { "value": "1E924", "name": "ADLAM SMALL LETTER LAAM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E902", "lowercase_mapping": "", "titlecase_mapping": "1E902", "symbol": "\uE924" }, 125221: { "value": "1E925", "name": "ADLAM SMALL LETTER MIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E903", "lowercase_mapping": "", "titlecase_mapping": "1E903", "symbol": "\uE925" }, 125222: { "value": "1E926", "name": "ADLAM SMALL LETTER BA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E904", "lowercase_mapping": "", "titlecase_mapping": "1E904", "symbol": "\uE926" }, 125223: { "value": "1E927", "name": "ADLAM SMALL LETTER SINNYIIYHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E905", "lowercase_mapping": "", "titlecase_mapping": "1E905", "symbol": "\uE927" }, 125224: { "value": "1E928", "name": "ADLAM SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E906", "lowercase_mapping": "", "titlecase_mapping": "1E906", "symbol": "\uE928" }, 125225: { "value": "1E929", "name": "ADLAM SMALL LETTER BHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E907", "lowercase_mapping": "", "titlecase_mapping": "1E907", "symbol": "\uE929" }, 125226: { "value": "1E92A", "name": "ADLAM SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E908", "lowercase_mapping": "", "titlecase_mapping": "1E908", "symbol": "\uE92A" }, 125227: { "value": "1E92B", "name": "ADLAM SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E909", "lowercase_mapping": "", "titlecase_mapping": "1E909", "symbol": "\uE92B" }, 125228: { "value": "1E92C", "name": "ADLAM SMALL LETTER FA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90A", "lowercase_mapping": "", "titlecase_mapping": "1E90A", "symbol": "\uE92C" }, 125229: { "value": "1E92D", "name": "ADLAM SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90B", "lowercase_mapping": "", "titlecase_mapping": "1E90B", "symbol": "\uE92D" }, 125230: { "value": "1E92E", "name": "ADLAM SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90C", "lowercase_mapping": "", "titlecase_mapping": "1E90C", "symbol": "\uE92E" }, 125231: { "value": "1E92F", "name": "ADLAM SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90D", "lowercase_mapping": "", "titlecase_mapping": "1E90D", "symbol": "\uE92F" }, 125232: { "value": "1E930", "name": "ADLAM SMALL LETTER YHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90E", "lowercase_mapping": "", "titlecase_mapping": "1E90E", "symbol": "\uE930" }, 125233: { "value": "1E931", "name": "ADLAM SMALL LETTER WAW", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90F", "lowercase_mapping": "", "titlecase_mapping": "1E90F", "symbol": "\uE931" }, 125234: { "value": "1E932", "name": "ADLAM SMALL LETTER NUN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E910", "lowercase_mapping": "", "titlecase_mapping": "1E910", "symbol": "\uE932" }, 125235: { "value": "1E933", "name": "ADLAM SMALL LETTER KAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E911", "lowercase_mapping": "", "titlecase_mapping": "1E911", "symbol": "\uE933" }, 125236: { "value": "1E934", "name": "ADLAM SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E912", "lowercase_mapping": "", "titlecase_mapping": "1E912", "symbol": "\uE934" }, 125237: { "value": "1E935", "name": "ADLAM SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E913", "lowercase_mapping": "", "titlecase_mapping": "1E913", "symbol": "\uE935" }, 125238: { "value": "1E936", "name": "ADLAM SMALL LETTER JIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E914", "lowercase_mapping": "", "titlecase_mapping": "1E914", "symbol": "\uE936" }, 125239: { "value": "1E937", "name": "ADLAM SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E915", "lowercase_mapping": "", "titlecase_mapping": "1E915", "symbol": "\uE937" }, 125240: { "value": "1E938", "name": "ADLAM SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E916", "lowercase_mapping": "", "titlecase_mapping": "1E916", "symbol": "\uE938" }, 125241: { "value": "1E939", "name": "ADLAM SMALL LETTER QAAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E917", "lowercase_mapping": "", "titlecase_mapping": "1E917", "symbol": "\uE939" }, 125242: { "value": "1E93A", "name": "ADLAM SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E918", "lowercase_mapping": "", "titlecase_mapping": "1E918", "symbol": "\uE93A" }, 125243: { "value": "1E93B", "name": "ADLAM SMALL LETTER NYA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E919", "lowercase_mapping": "", "titlecase_mapping": "1E919", "symbol": "\uE93B" }, 125244: { "value": "1E93C", "name": "ADLAM SMALL LETTER TU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91A", "lowercase_mapping": "", "titlecase_mapping": "1E91A", "symbol": "\uE93C" }, 125245: { "value": "1E93D", "name": "ADLAM SMALL LETTER NHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91B", "lowercase_mapping": "", "titlecase_mapping": "1E91B", "symbol": "\uE93D" }, 125246: { "value": "1E93E", "name": "ADLAM SMALL LETTER VA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91C", "lowercase_mapping": "", "titlecase_mapping": "1E91C", "symbol": "\uE93E" }, 125247: { "value": "1E93F", "name": "ADLAM SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91D", "lowercase_mapping": "", "titlecase_mapping": "1E91D", "symbol": "\uE93F" }, 125248: { "value": "1E940", "name": "ADLAM SMALL LETTER GBE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91E", "lowercase_mapping": "", "titlecase_mapping": "1E91E", "symbol": "\uE940" }, 125249: { "value": "1E941", "name": "ADLAM SMALL LETTER ZAL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91F", "lowercase_mapping": "", "titlecase_mapping": "1E91F", "symbol": "\uE941" }, 125250: { "value": "1E942", "name": "ADLAM SMALL LETTER KPO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E920", "lowercase_mapping": "", "titlecase_mapping": "1E920", "symbol": "\uE942" }, 125251: { "value": "1E943", "name": "ADLAM SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E921", "lowercase_mapping": "", "titlecase_mapping": "1E921", "symbol": "\uE943" } }; +Blake256.prototype._padding = function () { + var lo = this._length[0] + this._blockOffset * 8; + var hi = this._length[1]; + if (lo >= 0x0100000000) { + lo -= 0x0100000000; + hi += 1; + } -},{}],770:[function(require,module,exports){ -"use strict"; + var msglen = new Buffer(8); + msglen.writeUInt32BE(hi, 0); + msglen.writeUInt32BE(lo, 4); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + if (this._blockOffset === 55) { + this._length[0] -= 8; + this.update(this._oo); + } else { + if (this._blockOffset < 55) { + if (this._blockOffset === 0) this._nullt = true; + this._length[0] -= (55 - this._blockOffset) * 8; + this.update(Blake256.padding.slice(0, 55 - this._blockOffset)); + } else { + this._length[0] -= (64 - this._blockOffset) * 8; + this.update(Blake256.padding.slice(0, 64 - this._blockOffset)); + this._length[0] -= 55 * 8; + this.update(Blake256.padding.slice(1, 1 + 55)); + this._nullt = true; + } -(function (root) { - "use strict"; + this.update(this._zo); + this._length[0] -= 8; + } - /***** unorm.js *****/ + this._length[0] -= 64; + this.update(msglen); +}; - /* - * UnicodeNormalizer 1.0.0 - * Copyright (c) 2008 Matsuza - * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. - * $Date: 2008-06-05 16:44:17 +0200 (Thu, 05 Jun 2008) $ - * $Rev: 13309 $ - */ +Blake256.prototype.digest = function (encoding) { + this._padding(); - var DEFAULT_FEATURE = [null, 0, {}]; - var CACHE_THRESHOLD = 10; - var SBase = 0xAC00, - LBase = 0x1100, - VBase = 0x1161, - TBase = 0x11A7, - LCount = 19, - VCount = 21, - TCount = 28; - var NCount = VCount * TCount; // 588 - var SCount = LCount * NCount; // 11172 + var buffer = new Buffer(32); + for (var i = 0; i < 8; ++i) { + buffer.writeUInt32BE(this._h[i], i * 4); + }return buffer.toString(encoding); +}; - var UChar = function UChar(cp, feature) { - this.codepoint = cp; - this.feature = feature; - }; +module.exports = Blake256; - // Strategies - var cache = {}; - var cacheCounter = []; - for (var i = 0; i <= 0xFF; ++i) { - cacheCounter[i] = 0; - } +}).call(this,require("buffer").Buffer) +},{"buffer":256}],779:[function(require,module,exports){ +(function (process,global){ +/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.7.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2017 + * @license MIT + */ +/*jslint bitwise: true */ +'use strict'; - function fromCache(next, cp, needFeature) { - var ret = cache[cp]; - if (!ret) { - ret = next(cp, needFeature); - if (!!ret.feature && ++cacheCounter[cp >> 8 & 0xFF] > CACHE_THRESHOLD) { - cache[cp] = ret; - } - } - return ret; - } +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function fromData(next, cp, needFeature) { - var hash = cp & 0xFF00; - var dunit = UChar.udata[hash] || {}; - var f = dunit[cp]; - return f ? new UChar(cp, f) : new UChar(cp, DEFAULT_FEATURE); - } - function fromCpOnly(next, cp, needFeature) { - return !!needFeature ? next(cp, needFeature) : new UChar(cp, null); - } - function fromRuleBasedJamo(next, cp, needFeature) { - var j; - if (cp < LBase || LBase + LCount <= cp && cp < SBase || SBase + SCount < cp) { - return next(cp, needFeature); - } - if (LBase <= cp && cp < LBase + LCount) { - var c = {}; - var base = (cp - LBase) * VCount; - for (j = 0; j < VCount; ++j) { - c[VBase + j] = SBase + TCount * (j + base); - } - return new UChar(cp, [,, c]); - } +var ERROR = 'input is invalid type'; +var WINDOW = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object'; +var root = WINDOW ? window : {}; +if (root.JS_SHA3_NO_WINDOW) { + WINDOW = false; +} +var WEB_WORKER = !WINDOW && (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object'; +var NODE_JS = !root.JS_SHA3_NO_NODE_JS && (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process.versions && process.versions.node; +if (NODE_JS) { + root = global; +} else if (WEB_WORKER) { + root = self; +} +var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; +var HEX_CHARS = '0123456789abcdef'.split(''); +var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; +var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; +var KECCAK_PADDING = [1, 256, 65536, 16777216]; +var PADDING = [6, 1536, 393216, 100663296]; +var SHIFT = [0, 8, 16, 24]; +var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; +var BITS = [224, 256, 384, 512]; +var SHAKE_BITS = [128, 256]; +var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest']; +var CSHAKE_BYTEPAD = { + '128': 168, + '256': 136 +}; - var SIndex = cp - SBase; - var TIndex = SIndex % TCount; - var feature = []; - if (TIndex !== 0) { - feature[0] = [SBase + SIndex - TIndex, TBase + TIndex]; - } else { - feature[0] = [LBase + Math.floor(SIndex / NCount), VBase + Math.floor(SIndex % NCount / TCount)]; - feature[2] = {}; - for (j = 1; j < TCount; ++j) { - feature[2][TBase + j] = cp + j; - } - } - return new UChar(cp, feature); - } - function fromCpFilter(next, cp, needFeature) { - return cp < 60 || 13311 < cp && cp < 42607 ? new UChar(cp, DEFAULT_FEATURE) : next(cp, needFeature); - } +if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { + Array.isArray = function (obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; + }; +} - var strategies = [fromCpFilter, fromCache, fromCpOnly, fromRuleBasedJamo, fromData]; +if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { + ArrayBuffer.isView = function (obj) { + return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer; + }; +} - UChar.fromCharCode = strategies.reduceRight(function (next, strategy) { - return function (cp, needFeature) { - return strategy(next, cp, needFeature); - }; - }, null); +var createOutputMethod = function createOutputMethod(bits, padding, outputType) { + return function (message) { + return new Keccak(bits, padding, bits).update(message)[outputType](); + }; +}; - UChar.isHighSurrogate = function (cp) { - return cp >= 0xD800 && cp <= 0xDBFF; - }; - UChar.isLowSurrogate = function (cp) { - return cp >= 0xDC00 && cp <= 0xDFFF; - }; +var createShakeOutputMethod = function createShakeOutputMethod(bits, padding, outputType) { + return function (message, outputBits) { + return new Keccak(bits, padding, outputBits).update(message)[outputType](); + }; +}; - UChar.prototype.prepFeature = function () { - if (!this.feature) { - this.feature = UChar.fromCharCode(this.codepoint, true).feature; - } - }; +var createCshakeOutputMethod = function createCshakeOutputMethod(bits, padding, outputType) { + return function (message, outputBits, n, s) { + return methods['cshake' + bits].update(message, outputBits, n, s)[outputType](); + }; +}; - UChar.prototype.toString = function () { - if (this.codepoint < 0x10000) { - return String.fromCharCode(this.codepoint); - } else { - var x = this.codepoint - 0x10000; - return String.fromCharCode(Math.floor(x / 0x400) + 0xD800, x % 0x400 + 0xDC00); - } - }; +var createKmacOutputMethod = function createKmacOutputMethod(bits, padding, outputType) { + return function (key, message, outputBits, s) { + return methods['kmac' + bits].update(key, message, outputBits, s)[outputType](); + }; +}; - UChar.prototype.getDecomp = function () { - this.prepFeature(); - return this.feature[0] || null; - }; +var createOutputMethods = function createOutputMethods(method, createMethod, bits, padding) { + for (var i = 0; i < OUTPUT_TYPES.length; ++i) { + var type = OUTPUT_TYPES[i]; + method[type] = createMethod(bits, padding, type); + } + return method; +}; - UChar.prototype.isCompatibility = function () { - this.prepFeature(); - return !!this.feature[1] && this.feature[1] & 1 << 8; - }; - UChar.prototype.isExclude = function () { - this.prepFeature(); - return !!this.feature[1] && this.feature[1] & 1 << 9; - }; - UChar.prototype.getCanonicalClass = function () { - this.prepFeature(); - return !!this.feature[1] ? this.feature[1] & 0xff : 0; - }; - UChar.prototype.getComposite = function (following) { - this.prepFeature(); - if (!this.feature[2]) { - return null; - } - var cp = this.feature[2][following.codepoint]; - return cp ? UChar.fromCharCode(cp) : null; - }; - - var UCharIterator = function UCharIterator(str) { - this.str = str; - this.cursor = 0; - }; - UCharIterator.prototype.next = function () { - if (!!this.str && this.cursor < this.str.length) { - var cp = this.str.charCodeAt(this.cursor++); - var d; - if (UChar.isHighSurrogate(cp) && this.cursor < this.str.length && UChar.isLowSurrogate(d = this.str.charCodeAt(this.cursor))) { - cp = (cp - 0xD800) * 0x400 + (d - 0xDC00) + 0x10000; - ++this.cursor; - } - return UChar.fromCharCode(cp); - } else { - this.str = null; - return null; - } - }; - - var RecursDecompIterator = function RecursDecompIterator(it, cano) { - this.it = it; - this.canonical = cano; - this.resBuf = []; - }; - - RecursDecompIterator.prototype.next = function () { - function recursiveDecomp(cano, uchar) { - var decomp = uchar.getDecomp(); - if (!!decomp && !(cano && uchar.isCompatibility())) { - var ret = []; - for (var i = 0; i < decomp.length; ++i) { - var a = recursiveDecomp(cano, UChar.fromCharCode(decomp[i])); - ret = ret.concat(a); - } - return ret; - } else { - return [uchar]; - } - } - if (this.resBuf.length === 0) { - var uchar = this.it.next(); - if (!uchar) { - return null; - } - this.resBuf = recursiveDecomp(this.canonical, uchar); - } - return this.resBuf.shift(); - }; - - var DecompIterator = function DecompIterator(it) { - this.it = it; - this.resBuf = []; - }; - - DecompIterator.prototype.next = function () { - var cc; - if (this.resBuf.length === 0) { - do { - var uchar = this.it.next(); - if (!uchar) { - break; - } - cc = uchar.getCanonicalClass(); - var inspt = this.resBuf.length; - if (cc !== 0) { - for (; inspt > 0; --inspt) { - var uchar2 = this.resBuf[inspt - 1]; - var cc2 = uchar2.getCanonicalClass(); - if (cc2 <= cc) { - break; - } - } - } - this.resBuf.splice(inspt, 0, uchar); - } while (cc !== 0); - } - return this.resBuf.shift(); - }; - - var CompIterator = function CompIterator(it) { - this.it = it; - this.procBuf = []; - this.resBuf = []; - this.lastClass = null; - }; - - CompIterator.prototype.next = function () { - while (this.resBuf.length === 0) { - var uchar = this.it.next(); - if (!uchar) { - this.resBuf = this.procBuf; - this.procBuf = []; - break; - } - if (this.procBuf.length === 0) { - this.lastClass = uchar.getCanonicalClass(); - this.procBuf.push(uchar); - } else { - var starter = this.procBuf[0]; - var composite = starter.getComposite(uchar); - var cc = uchar.getCanonicalClass(); - if (!!composite && (this.lastClass < cc || this.lastClass === 0)) { - this.procBuf[0] = composite; - } else { - if (cc === 0) { - this.resBuf = this.procBuf; - this.procBuf = []; - } - this.lastClass = cc; - this.procBuf.push(uchar); - } - } - } - return this.resBuf.shift(); - }; - - var createIterator = function createIterator(mode, str) { - switch (mode) { - case "NFD": - return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true)); - case "NFKD": - return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false)); - case "NFC": - return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true))); - case "NFKC": - return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false))); - } - throw mode + " is invalid"; - }; - var normalize = function normalize(mode, str) { - var it = createIterator(mode, str); - var ret = ""; - var uchar; - while (!!(uchar = it.next())) { - ret += uchar.toString(); - } - return ret; - }; - - /* API functions */ - function nfd(str) { - return normalize("NFD", str); - } - - function nfkd(str) { - return normalize("NFKD", str); - } - - function nfc(str) { - return normalize("NFC", str); - } - - function nfkc(str) { - return normalize("NFKC", str); - } - - /* Unicode data */ - UChar.udata = { - 0: { 60: [,, { 824: 8814 }], 61: [,, { 824: 8800 }], 62: [,, { 824: 8815 }], 65: [,, { 768: 192, 769: 193, 770: 194, 771: 195, 772: 256, 774: 258, 775: 550, 776: 196, 777: 7842, 778: 197, 780: 461, 783: 512, 785: 514, 803: 7840, 805: 7680, 808: 260 }], 66: [,, { 775: 7682, 803: 7684, 817: 7686 }], 67: [,, { 769: 262, 770: 264, 775: 266, 780: 268, 807: 199 }], 68: [,, { 775: 7690, 780: 270, 803: 7692, 807: 7696, 813: 7698, 817: 7694 }], 69: [,, { 768: 200, 769: 201, 770: 202, 771: 7868, 772: 274, 774: 276, 775: 278, 776: 203, 777: 7866, 780: 282, 783: 516, 785: 518, 803: 7864, 807: 552, 808: 280, 813: 7704, 816: 7706 }], 70: [,, { 775: 7710 }], 71: [,, { 769: 500, 770: 284, 772: 7712, 774: 286, 775: 288, 780: 486, 807: 290 }], 72: [,, { 770: 292, 775: 7714, 776: 7718, 780: 542, 803: 7716, 807: 7720, 814: 7722 }], 73: [,, { 768: 204, 769: 205, 770: 206, 771: 296, 772: 298, 774: 300, 775: 304, 776: 207, 777: 7880, 780: 463, 783: 520, 785: 522, 803: 7882, 808: 302, 816: 7724 }], 74: [,, { 770: 308 }], 75: [,, { 769: 7728, 780: 488, 803: 7730, 807: 310, 817: 7732 }], 76: [,, { 769: 313, 780: 317, 803: 7734, 807: 315, 813: 7740, 817: 7738 }], 77: [,, { 769: 7742, 775: 7744, 803: 7746 }], 78: [,, { 768: 504, 769: 323, 771: 209, 775: 7748, 780: 327, 803: 7750, 807: 325, 813: 7754, 817: 7752 }], 79: [,, { 768: 210, 769: 211, 770: 212, 771: 213, 772: 332, 774: 334, 775: 558, 776: 214, 777: 7886, 779: 336, 780: 465, 783: 524, 785: 526, 795: 416, 803: 7884, 808: 490 }], 80: [,, { 769: 7764, 775: 7766 }], 82: [,, { 769: 340, 775: 7768, 780: 344, 783: 528, 785: 530, 803: 7770, 807: 342, 817: 7774 }], 83: [,, { 769: 346, 770: 348, 775: 7776, 780: 352, 803: 7778, 806: 536, 807: 350 }], 84: [,, { 775: 7786, 780: 356, 803: 7788, 806: 538, 807: 354, 813: 7792, 817: 7790 }], 85: [,, { 768: 217, 769: 218, 770: 219, 771: 360, 772: 362, 774: 364, 776: 220, 777: 7910, 778: 366, 779: 368, 780: 467, 783: 532, 785: 534, 795: 431, 803: 7908, 804: 7794, 808: 370, 813: 7798, 816: 7796 }], 86: [,, { 771: 7804, 803: 7806 }], 87: [,, { 768: 7808, 769: 7810, 770: 372, 775: 7814, 776: 7812, 803: 7816 }], 88: [,, { 775: 7818, 776: 7820 }], 89: [,, { 768: 7922, 769: 221, 770: 374, 771: 7928, 772: 562, 775: 7822, 776: 376, 777: 7926, 803: 7924 }], 90: [,, { 769: 377, 770: 7824, 775: 379, 780: 381, 803: 7826, 817: 7828 }], 97: [,, { 768: 224, 769: 225, 770: 226, 771: 227, 772: 257, 774: 259, 775: 551, 776: 228, 777: 7843, 778: 229, 780: 462, 783: 513, 785: 515, 803: 7841, 805: 7681, 808: 261 }], 98: [,, { 775: 7683, 803: 7685, 817: 7687 }], 99: [,, { 769: 263, 770: 265, 775: 267, 780: 269, 807: 231 }], 100: [,, { 775: 7691, 780: 271, 803: 7693, 807: 7697, 813: 7699, 817: 7695 }], 101: [,, { 768: 232, 769: 233, 770: 234, 771: 7869, 772: 275, 774: 277, 775: 279, 776: 235, 777: 7867, 780: 283, 783: 517, 785: 519, 803: 7865, 807: 553, 808: 281, 813: 7705, 816: 7707 }], 102: [,, { 775: 7711 }], 103: [,, { 769: 501, 770: 285, 772: 7713, 774: 287, 775: 289, 780: 487, 807: 291 }], 104: [,, { 770: 293, 775: 7715, 776: 7719, 780: 543, 803: 7717, 807: 7721, 814: 7723, 817: 7830 }], 105: [,, { 768: 236, 769: 237, 770: 238, 771: 297, 772: 299, 774: 301, 776: 239, 777: 7881, 780: 464, 783: 521, 785: 523, 803: 7883, 808: 303, 816: 7725 }], 106: [,, { 770: 309, 780: 496 }], 107: [,, { 769: 7729, 780: 489, 803: 7731, 807: 311, 817: 7733 }], 108: [,, { 769: 314, 780: 318, 803: 7735, 807: 316, 813: 7741, 817: 7739 }], 109: [,, { 769: 7743, 775: 7745, 803: 7747 }], 110: [,, { 768: 505, 769: 324, 771: 241, 775: 7749, 780: 328, 803: 7751, 807: 326, 813: 7755, 817: 7753 }], 111: [,, { 768: 242, 769: 243, 770: 244, 771: 245, 772: 333, 774: 335, 775: 559, 776: 246, 777: 7887, 779: 337, 780: 466, 783: 525, 785: 527, 795: 417, 803: 7885, 808: 491 }], 112: [,, { 769: 7765, 775: 7767 }], 114: [,, { 769: 341, 775: 7769, 780: 345, 783: 529, 785: 531, 803: 7771, 807: 343, 817: 7775 }], 115: [,, { 769: 347, 770: 349, 775: 7777, 780: 353, 803: 7779, 806: 537, 807: 351 }], 116: [,, { 775: 7787, 776: 7831, 780: 357, 803: 7789, 806: 539, 807: 355, 813: 7793, 817: 7791 }], 117: [,, { 768: 249, 769: 250, 770: 251, 771: 361, 772: 363, 774: 365, 776: 252, 777: 7911, 778: 367, 779: 369, 780: 468, 783: 533, 785: 535, 795: 432, 803: 7909, 804: 7795, 808: 371, 813: 7799, 816: 7797 }], 118: [,, { 771: 7805, 803: 7807 }], 119: [,, { 768: 7809, 769: 7811, 770: 373, 775: 7815, 776: 7813, 778: 7832, 803: 7817 }], 120: [,, { 775: 7819, 776: 7821 }], 121: [,, { 768: 7923, 769: 253, 770: 375, 771: 7929, 772: 563, 775: 7823, 776: 255, 777: 7927, 778: 7833, 803: 7925 }], 122: [,, { 769: 378, 770: 7825, 775: 380, 780: 382, 803: 7827, 817: 7829 }], 160: [[32], 256], 168: [[32, 776], 256, { 768: 8173, 769: 901, 834: 8129 }], 170: [[97], 256], 175: [[32, 772], 256], 178: [[50], 256], 179: [[51], 256], 180: [[32, 769], 256], 181: [[956], 256], 184: [[32, 807], 256], 185: [[49], 256], 186: [[111], 256], 188: [[49, 8260, 52], 256], 189: [[49, 8260, 50], 256], 190: [[51, 8260, 52], 256], 192: [[65, 768]], 193: [[65, 769]], 194: [[65, 770],, { 768: 7846, 769: 7844, 771: 7850, 777: 7848 }], 195: [[65, 771]], 196: [[65, 776],, { 772: 478 }], 197: [[65, 778],, { 769: 506 }], 198: [,, { 769: 508, 772: 482 }], 199: [[67, 807],, { 769: 7688 }], 200: [[69, 768]], 201: [[69, 769]], 202: [[69, 770],, { 768: 7872, 769: 7870, 771: 7876, 777: 7874 }], 203: [[69, 776]], 204: [[73, 768]], 205: [[73, 769]], 206: [[73, 770]], 207: [[73, 776],, { 769: 7726 }], 209: [[78, 771]], 210: [[79, 768]], 211: [[79, 769]], 212: [[79, 770],, { 768: 7890, 769: 7888, 771: 7894, 777: 7892 }], 213: [[79, 771],, { 769: 7756, 772: 556, 776: 7758 }], 214: [[79, 776],, { 772: 554 }], 216: [,, { 769: 510 }], 217: [[85, 768]], 218: [[85, 769]], 219: [[85, 770]], 220: [[85, 776],, { 768: 475, 769: 471, 772: 469, 780: 473 }], 221: [[89, 769]], 224: [[97, 768]], 225: [[97, 769]], 226: [[97, 770],, { 768: 7847, 769: 7845, 771: 7851, 777: 7849 }], 227: [[97, 771]], 228: [[97, 776],, { 772: 479 }], 229: [[97, 778],, { 769: 507 }], 230: [,, { 769: 509, 772: 483 }], 231: [[99, 807],, { 769: 7689 }], 232: [[101, 768]], 233: [[101, 769]], 234: [[101, 770],, { 768: 7873, 769: 7871, 771: 7877, 777: 7875 }], 235: [[101, 776]], 236: [[105, 768]], 237: [[105, 769]], 238: [[105, 770]], 239: [[105, 776],, { 769: 7727 }], 241: [[110, 771]], 242: [[111, 768]], 243: [[111, 769]], 244: [[111, 770],, { 768: 7891, 769: 7889, 771: 7895, 777: 7893 }], 245: [[111, 771],, { 769: 7757, 772: 557, 776: 7759 }], 246: [[111, 776],, { 772: 555 }], 248: [,, { 769: 511 }], 249: [[117, 768]], 250: [[117, 769]], 251: [[117, 770]], 252: [[117, 776],, { 768: 476, 769: 472, 772: 470, 780: 474 }], 253: [[121, 769]], 255: [[121, 776]] }, - 256: { 256: [[65, 772]], 257: [[97, 772]], 258: [[65, 774],, { 768: 7856, 769: 7854, 771: 7860, 777: 7858 }], 259: [[97, 774],, { 768: 7857, 769: 7855, 771: 7861, 777: 7859 }], 260: [[65, 808]], 261: [[97, 808]], 262: [[67, 769]], 263: [[99, 769]], 264: [[67, 770]], 265: [[99, 770]], 266: [[67, 775]], 267: [[99, 775]], 268: [[67, 780]], 269: [[99, 780]], 270: [[68, 780]], 271: [[100, 780]], 274: [[69, 772],, { 768: 7700, 769: 7702 }], 275: [[101, 772],, { 768: 7701, 769: 7703 }], 276: [[69, 774]], 277: [[101, 774]], 278: [[69, 775]], 279: [[101, 775]], 280: [[69, 808]], 281: [[101, 808]], 282: [[69, 780]], 283: [[101, 780]], 284: [[71, 770]], 285: [[103, 770]], 286: [[71, 774]], 287: [[103, 774]], 288: [[71, 775]], 289: [[103, 775]], 290: [[71, 807]], 291: [[103, 807]], 292: [[72, 770]], 293: [[104, 770]], 296: [[73, 771]], 297: [[105, 771]], 298: [[73, 772]], 299: [[105, 772]], 300: [[73, 774]], 301: [[105, 774]], 302: [[73, 808]], 303: [[105, 808]], 304: [[73, 775]], 306: [[73, 74], 256], 307: [[105, 106], 256], 308: [[74, 770]], 309: [[106, 770]], 310: [[75, 807]], 311: [[107, 807]], 313: [[76, 769]], 314: [[108, 769]], 315: [[76, 807]], 316: [[108, 807]], 317: [[76, 780]], 318: [[108, 780]], 319: [[76, 183], 256], 320: [[108, 183], 256], 323: [[78, 769]], 324: [[110, 769]], 325: [[78, 807]], 326: [[110, 807]], 327: [[78, 780]], 328: [[110, 780]], 329: [[700, 110], 256], 332: [[79, 772],, { 768: 7760, 769: 7762 }], 333: [[111, 772],, { 768: 7761, 769: 7763 }], 334: [[79, 774]], 335: [[111, 774]], 336: [[79, 779]], 337: [[111, 779]], 340: [[82, 769]], 341: [[114, 769]], 342: [[82, 807]], 343: [[114, 807]], 344: [[82, 780]], 345: [[114, 780]], 346: [[83, 769],, { 775: 7780 }], 347: [[115, 769],, { 775: 7781 }], 348: [[83, 770]], 349: [[115, 770]], 350: [[83, 807]], 351: [[115, 807]], 352: [[83, 780],, { 775: 7782 }], 353: [[115, 780],, { 775: 7783 }], 354: [[84, 807]], 355: [[116, 807]], 356: [[84, 780]], 357: [[116, 780]], 360: [[85, 771],, { 769: 7800 }], 361: [[117, 771],, { 769: 7801 }], 362: [[85, 772],, { 776: 7802 }], 363: [[117, 772],, { 776: 7803 }], 364: [[85, 774]], 365: [[117, 774]], 366: [[85, 778]], 367: [[117, 778]], 368: [[85, 779]], 369: [[117, 779]], 370: [[85, 808]], 371: [[117, 808]], 372: [[87, 770]], 373: [[119, 770]], 374: [[89, 770]], 375: [[121, 770]], 376: [[89, 776]], 377: [[90, 769]], 378: [[122, 769]], 379: [[90, 775]], 380: [[122, 775]], 381: [[90, 780]], 382: [[122, 780]], 383: [[115], 256, { 775: 7835 }], 416: [[79, 795],, { 768: 7900, 769: 7898, 771: 7904, 777: 7902, 803: 7906 }], 417: [[111, 795],, { 768: 7901, 769: 7899, 771: 7905, 777: 7903, 803: 7907 }], 431: [[85, 795],, { 768: 7914, 769: 7912, 771: 7918, 777: 7916, 803: 7920 }], 432: [[117, 795],, { 768: 7915, 769: 7913, 771: 7919, 777: 7917, 803: 7921 }], 439: [,, { 780: 494 }], 452: [[68, 381], 256], 453: [[68, 382], 256], 454: [[100, 382], 256], 455: [[76, 74], 256], 456: [[76, 106], 256], 457: [[108, 106], 256], 458: [[78, 74], 256], 459: [[78, 106], 256], 460: [[110, 106], 256], 461: [[65, 780]], 462: [[97, 780]], 463: [[73, 780]], 464: [[105, 780]], 465: [[79, 780]], 466: [[111, 780]], 467: [[85, 780]], 468: [[117, 780]], 469: [[220, 772]], 470: [[252, 772]], 471: [[220, 769]], 472: [[252, 769]], 473: [[220, 780]], 474: [[252, 780]], 475: [[220, 768]], 476: [[252, 768]], 478: [[196, 772]], 479: [[228, 772]], 480: [[550, 772]], 481: [[551, 772]], 482: [[198, 772]], 483: [[230, 772]], 486: [[71, 780]], 487: [[103, 780]], 488: [[75, 780]], 489: [[107, 780]], 490: [[79, 808],, { 772: 492 }], 491: [[111, 808],, { 772: 493 }], 492: [[490, 772]], 493: [[491, 772]], 494: [[439, 780]], 495: [[658, 780]], 496: [[106, 780]], 497: [[68, 90], 256], 498: [[68, 122], 256], 499: [[100, 122], 256], 500: [[71, 769]], 501: [[103, 769]], 504: [[78, 768]], 505: [[110, 768]], 506: [[197, 769]], 507: [[229, 769]], 508: [[198, 769]], 509: [[230, 769]], 510: [[216, 769]], 511: [[248, 769]], 66045: [, 220] }, - 512: { 512: [[65, 783]], 513: [[97, 783]], 514: [[65, 785]], 515: [[97, 785]], 516: [[69, 783]], 517: [[101, 783]], 518: [[69, 785]], 519: [[101, 785]], 520: [[73, 783]], 521: [[105, 783]], 522: [[73, 785]], 523: [[105, 785]], 524: [[79, 783]], 525: [[111, 783]], 526: [[79, 785]], 527: [[111, 785]], 528: [[82, 783]], 529: [[114, 783]], 530: [[82, 785]], 531: [[114, 785]], 532: [[85, 783]], 533: [[117, 783]], 534: [[85, 785]], 535: [[117, 785]], 536: [[83, 806]], 537: [[115, 806]], 538: [[84, 806]], 539: [[116, 806]], 542: [[72, 780]], 543: [[104, 780]], 550: [[65, 775],, { 772: 480 }], 551: [[97, 775],, { 772: 481 }], 552: [[69, 807],, { 774: 7708 }], 553: [[101, 807],, { 774: 7709 }], 554: [[214, 772]], 555: [[246, 772]], 556: [[213, 772]], 557: [[245, 772]], 558: [[79, 775],, { 772: 560 }], 559: [[111, 775],, { 772: 561 }], 560: [[558, 772]], 561: [[559, 772]], 562: [[89, 772]], 563: [[121, 772]], 658: [,, { 780: 495 }], 688: [[104], 256], 689: [[614], 256], 690: [[106], 256], 691: [[114], 256], 692: [[633], 256], 693: [[635], 256], 694: [[641], 256], 695: [[119], 256], 696: [[121], 256], 728: [[32, 774], 256], 729: [[32, 775], 256], 730: [[32, 778], 256], 731: [[32, 808], 256], 732: [[32, 771], 256], 733: [[32, 779], 256], 736: [[611], 256], 737: [[108], 256], 738: [[115], 256], 739: [[120], 256], 740: [[661], 256], 66272: [, 220] }, - 768: { 768: [, 230], 769: [, 230], 770: [, 230], 771: [, 230], 772: [, 230], 773: [, 230], 774: [, 230], 775: [, 230], 776: [, 230, { 769: 836 }], 777: [, 230], 778: [, 230], 779: [, 230], 780: [, 230], 781: [, 230], 782: [, 230], 783: [, 230], 784: [, 230], 785: [, 230], 786: [, 230], 787: [, 230], 788: [, 230], 789: [, 232], 790: [, 220], 791: [, 220], 792: [, 220], 793: [, 220], 794: [, 232], 795: [, 216], 796: [, 220], 797: [, 220], 798: [, 220], 799: [, 220], 800: [, 220], 801: [, 202], 802: [, 202], 803: [, 220], 804: [, 220], 805: [, 220], 806: [, 220], 807: [, 202], 808: [, 202], 809: [, 220], 810: [, 220], 811: [, 220], 812: [, 220], 813: [, 220], 814: [, 220], 815: [, 220], 816: [, 220], 817: [, 220], 818: [, 220], 819: [, 220], 820: [, 1], 821: [, 1], 822: [, 1], 823: [, 1], 824: [, 1], 825: [, 220], 826: [, 220], 827: [, 220], 828: [, 220], 829: [, 230], 830: [, 230], 831: [, 230], 832: [[768], 230], 833: [[769], 230], 834: [, 230], 835: [[787], 230], 836: [[776, 769], 230], 837: [, 240], 838: [, 230], 839: [, 220], 840: [, 220], 841: [, 220], 842: [, 230], 843: [, 230], 844: [, 230], 845: [, 220], 846: [, 220], 848: [, 230], 849: [, 230], 850: [, 230], 851: [, 220], 852: [, 220], 853: [, 220], 854: [, 220], 855: [, 230], 856: [, 232], 857: [, 220], 858: [, 220], 859: [, 230], 860: [, 233], 861: [, 234], 862: [, 234], 863: [, 233], 864: [, 234], 865: [, 234], 866: [, 233], 867: [, 230], 868: [, 230], 869: [, 230], 870: [, 230], 871: [, 230], 872: [, 230], 873: [, 230], 874: [, 230], 875: [, 230], 876: [, 230], 877: [, 230], 878: [, 230], 879: [, 230], 884: [[697]], 890: [[32, 837], 256], 894: [[59]], 900: [[32, 769], 256], 901: [[168, 769]], 902: [[913, 769]], 903: [[183]], 904: [[917, 769]], 905: [[919, 769]], 906: [[921, 769]], 908: [[927, 769]], 910: [[933, 769]], 911: [[937, 769]], 912: [[970, 769]], 913: [,, { 768: 8122, 769: 902, 772: 8121, 774: 8120, 787: 7944, 788: 7945, 837: 8124 }], 917: [,, { 768: 8136, 769: 904, 787: 7960, 788: 7961 }], 919: [,, { 768: 8138, 769: 905, 787: 7976, 788: 7977, 837: 8140 }], 921: [,, { 768: 8154, 769: 906, 772: 8153, 774: 8152, 776: 938, 787: 7992, 788: 7993 }], 927: [,, { 768: 8184, 769: 908, 787: 8008, 788: 8009 }], 929: [,, { 788: 8172 }], 933: [,, { 768: 8170, 769: 910, 772: 8169, 774: 8168, 776: 939, 788: 8025 }], 937: [,, { 768: 8186, 769: 911, 787: 8040, 788: 8041, 837: 8188 }], 938: [[921, 776]], 939: [[933, 776]], 940: [[945, 769],, { 837: 8116 }], 941: [[949, 769]], 942: [[951, 769],, { 837: 8132 }], 943: [[953, 769]], 944: [[971, 769]], 945: [,, { 768: 8048, 769: 940, 772: 8113, 774: 8112, 787: 7936, 788: 7937, 834: 8118, 837: 8115 }], 949: [,, { 768: 8050, 769: 941, 787: 7952, 788: 7953 }], 951: [,, { 768: 8052, 769: 942, 787: 7968, 788: 7969, 834: 8134, 837: 8131 }], 953: [,, { 768: 8054, 769: 943, 772: 8145, 774: 8144, 776: 970, 787: 7984, 788: 7985, 834: 8150 }], 959: [,, { 768: 8056, 769: 972, 787: 8000, 788: 8001 }], 961: [,, { 787: 8164, 788: 8165 }], 965: [,, { 768: 8058, 769: 973, 772: 8161, 774: 8160, 776: 971, 787: 8016, 788: 8017, 834: 8166 }], 969: [,, { 768: 8060, 769: 974, 787: 8032, 788: 8033, 834: 8182, 837: 8179 }], 970: [[953, 776],, { 768: 8146, 769: 912, 834: 8151 }], 971: [[965, 776],, { 768: 8162, 769: 944, 834: 8167 }], 972: [[959, 769]], 973: [[965, 769]], 974: [[969, 769],, { 837: 8180 }], 976: [[946], 256], 977: [[952], 256], 978: [[933], 256, { 769: 979, 776: 980 }], 979: [[978, 769]], 980: [[978, 776]], 981: [[966], 256], 982: [[960], 256], 1008: [[954], 256], 1009: [[961], 256], 1010: [[962], 256], 1012: [[920], 256], 1013: [[949], 256], 1017: [[931], 256], 66422: [, 230], 66423: [, 230], 66424: [, 230], 66425: [, 230], 66426: [, 230] }, - 1024: { 1024: [[1045, 768]], 1025: [[1045, 776]], 1027: [[1043, 769]], 1030: [,, { 776: 1031 }], 1031: [[1030, 776]], 1036: [[1050, 769]], 1037: [[1048, 768]], 1038: [[1059, 774]], 1040: [,, { 774: 1232, 776: 1234 }], 1043: [,, { 769: 1027 }], 1045: [,, { 768: 1024, 774: 1238, 776: 1025 }], 1046: [,, { 774: 1217, 776: 1244 }], 1047: [,, { 776: 1246 }], 1048: [,, { 768: 1037, 772: 1250, 774: 1049, 776: 1252 }], 1049: [[1048, 774]], 1050: [,, { 769: 1036 }], 1054: [,, { 776: 1254 }], 1059: [,, { 772: 1262, 774: 1038, 776: 1264, 779: 1266 }], 1063: [,, { 776: 1268 }], 1067: [,, { 776: 1272 }], 1069: [,, { 776: 1260 }], 1072: [,, { 774: 1233, 776: 1235 }], 1075: [,, { 769: 1107 }], 1077: [,, { 768: 1104, 774: 1239, 776: 1105 }], 1078: [,, { 774: 1218, 776: 1245 }], 1079: [,, { 776: 1247 }], 1080: [,, { 768: 1117, 772: 1251, 774: 1081, 776: 1253 }], 1081: [[1080, 774]], 1082: [,, { 769: 1116 }], 1086: [,, { 776: 1255 }], 1091: [,, { 772: 1263, 774: 1118, 776: 1265, 779: 1267 }], 1095: [,, { 776: 1269 }], 1099: [,, { 776: 1273 }], 1101: [,, { 776: 1261 }], 1104: [[1077, 768]], 1105: [[1077, 776]], 1107: [[1075, 769]], 1110: [,, { 776: 1111 }], 1111: [[1110, 776]], 1116: [[1082, 769]], 1117: [[1080, 768]], 1118: [[1091, 774]], 1140: [,, { 783: 1142 }], 1141: [,, { 783: 1143 }], 1142: [[1140, 783]], 1143: [[1141, 783]], 1155: [, 230], 1156: [, 230], 1157: [, 230], 1158: [, 230], 1159: [, 230], 1217: [[1046, 774]], 1218: [[1078, 774]], 1232: [[1040, 774]], 1233: [[1072, 774]], 1234: [[1040, 776]], 1235: [[1072, 776]], 1238: [[1045, 774]], 1239: [[1077, 774]], 1240: [,, { 776: 1242 }], 1241: [,, { 776: 1243 }], 1242: [[1240, 776]], 1243: [[1241, 776]], 1244: [[1046, 776]], 1245: [[1078, 776]], 1246: [[1047, 776]], 1247: [[1079, 776]], 1250: [[1048, 772]], 1251: [[1080, 772]], 1252: [[1048, 776]], 1253: [[1080, 776]], 1254: [[1054, 776]], 1255: [[1086, 776]], 1256: [,, { 776: 1258 }], 1257: [,, { 776: 1259 }], 1258: [[1256, 776]], 1259: [[1257, 776]], 1260: [[1069, 776]], 1261: [[1101, 776]], 1262: [[1059, 772]], 1263: [[1091, 772]], 1264: [[1059, 776]], 1265: [[1091, 776]], 1266: [[1059, 779]], 1267: [[1091, 779]], 1268: [[1063, 776]], 1269: [[1095, 776]], 1272: [[1067, 776]], 1273: [[1099, 776]] }, - 1280: { 1415: [[1381, 1410], 256], 1425: [, 220], 1426: [, 230], 1427: [, 230], 1428: [, 230], 1429: [, 230], 1430: [, 220], 1431: [, 230], 1432: [, 230], 1433: [, 230], 1434: [, 222], 1435: [, 220], 1436: [, 230], 1437: [, 230], 1438: [, 230], 1439: [, 230], 1440: [, 230], 1441: [, 230], 1442: [, 220], 1443: [, 220], 1444: [, 220], 1445: [, 220], 1446: [, 220], 1447: [, 220], 1448: [, 230], 1449: [, 230], 1450: [, 220], 1451: [, 230], 1452: [, 230], 1453: [, 222], 1454: [, 228], 1455: [, 230], 1456: [, 10], 1457: [, 11], 1458: [, 12], 1459: [, 13], 1460: [, 14], 1461: [, 15], 1462: [, 16], 1463: [, 17], 1464: [, 18], 1465: [, 19], 1466: [, 19], 1467: [, 20], 1468: [, 21], 1469: [, 22], 1471: [, 23], 1473: [, 24], 1474: [, 25], 1476: [, 230], 1477: [, 220], 1479: [, 18] }, - 1536: { 1552: [, 230], 1553: [, 230], 1554: [, 230], 1555: [, 230], 1556: [, 230], 1557: [, 230], 1558: [, 230], 1559: [, 230], 1560: [, 30], 1561: [, 31], 1562: [, 32], 1570: [[1575, 1619]], 1571: [[1575, 1620]], 1572: [[1608, 1620]], 1573: [[1575, 1621]], 1574: [[1610, 1620]], 1575: [,, { 1619: 1570, 1620: 1571, 1621: 1573 }], 1608: [,, { 1620: 1572 }], 1610: [,, { 1620: 1574 }], 1611: [, 27], 1612: [, 28], 1613: [, 29], 1614: [, 30], 1615: [, 31], 1616: [, 32], 1617: [, 33], 1618: [, 34], 1619: [, 230], 1620: [, 230], 1621: [, 220], 1622: [, 220], 1623: [, 230], 1624: [, 230], 1625: [, 230], 1626: [, 230], 1627: [, 230], 1628: [, 220], 1629: [, 230], 1630: [, 230], 1631: [, 220], 1648: [, 35], 1653: [[1575, 1652], 256], 1654: [[1608, 1652], 256], 1655: [[1735, 1652], 256], 1656: [[1610, 1652], 256], 1728: [[1749, 1620]], 1729: [,, { 1620: 1730 }], 1730: [[1729, 1620]], 1746: [,, { 1620: 1747 }], 1747: [[1746, 1620]], 1749: [,, { 1620: 1728 }], 1750: [, 230], 1751: [, 230], 1752: [, 230], 1753: [, 230], 1754: [, 230], 1755: [, 230], 1756: [, 230], 1759: [, 230], 1760: [, 230], 1761: [, 230], 1762: [, 230], 1763: [, 220], 1764: [, 230], 1767: [, 230], 1768: [, 230], 1770: [, 220], 1771: [, 230], 1772: [, 230], 1773: [, 220] }, - 1792: { 1809: [, 36], 1840: [, 230], 1841: [, 220], 1842: [, 230], 1843: [, 230], 1844: [, 220], 1845: [, 230], 1846: [, 230], 1847: [, 220], 1848: [, 220], 1849: [, 220], 1850: [, 230], 1851: [, 220], 1852: [, 220], 1853: [, 230], 1854: [, 220], 1855: [, 230], 1856: [, 230], 1857: [, 230], 1858: [, 220], 1859: [, 230], 1860: [, 220], 1861: [, 230], 1862: [, 220], 1863: [, 230], 1864: [, 220], 1865: [, 230], 1866: [, 230], 2027: [, 230], 2028: [, 230], 2029: [, 230], 2030: [, 230], 2031: [, 230], 2032: [, 230], 2033: [, 230], 2034: [, 220], 2035: [, 230] }, - 2048: { 2070: [, 230], 2071: [, 230], 2072: [, 230], 2073: [, 230], 2075: [, 230], 2076: [, 230], 2077: [, 230], 2078: [, 230], 2079: [, 230], 2080: [, 230], 2081: [, 230], 2082: [, 230], 2083: [, 230], 2085: [, 230], 2086: [, 230], 2087: [, 230], 2089: [, 230], 2090: [, 230], 2091: [, 230], 2092: [, 230], 2093: [, 230], 2137: [, 220], 2138: [, 220], 2139: [, 220], 2276: [, 230], 2277: [, 230], 2278: [, 220], 2279: [, 230], 2280: [, 230], 2281: [, 220], 2282: [, 230], 2283: [, 230], 2284: [, 230], 2285: [, 220], 2286: [, 220], 2287: [, 220], 2288: [, 27], 2289: [, 28], 2290: [, 29], 2291: [, 230], 2292: [, 230], 2293: [, 230], 2294: [, 220], 2295: [, 230], 2296: [, 230], 2297: [, 220], 2298: [, 220], 2299: [, 230], 2300: [, 230], 2301: [, 230], 2302: [, 230], 2303: [, 230] }, - 2304: { 2344: [,, { 2364: 2345 }], 2345: [[2344, 2364]], 2352: [,, { 2364: 2353 }], 2353: [[2352, 2364]], 2355: [,, { 2364: 2356 }], 2356: [[2355, 2364]], 2364: [, 7], 2381: [, 9], 2385: [, 230], 2386: [, 220], 2387: [, 230], 2388: [, 230], 2392: [[2325, 2364], 512], 2393: [[2326, 2364], 512], 2394: [[2327, 2364], 512], 2395: [[2332, 2364], 512], 2396: [[2337, 2364], 512], 2397: [[2338, 2364], 512], 2398: [[2347, 2364], 512], 2399: [[2351, 2364], 512], 2492: [, 7], 2503: [,, { 2494: 2507, 2519: 2508 }], 2507: [[2503, 2494]], 2508: [[2503, 2519]], 2509: [, 9], 2524: [[2465, 2492], 512], 2525: [[2466, 2492], 512], 2527: [[2479, 2492], 512] }, - 2560: { 2611: [[2610, 2620], 512], 2614: [[2616, 2620], 512], 2620: [, 7], 2637: [, 9], 2649: [[2582, 2620], 512], 2650: [[2583, 2620], 512], 2651: [[2588, 2620], 512], 2654: [[2603, 2620], 512], 2748: [, 7], 2765: [, 9], 68109: [, 220], 68111: [, 230], 68152: [, 230], 68153: [, 1], 68154: [, 220], 68159: [, 9], 68325: [, 230], 68326: [, 220] }, - 2816: { 2876: [, 7], 2887: [,, { 2878: 2891, 2902: 2888, 2903: 2892 }], 2888: [[2887, 2902]], 2891: [[2887, 2878]], 2892: [[2887, 2903]], 2893: [, 9], 2908: [[2849, 2876], 512], 2909: [[2850, 2876], 512], 2962: [,, { 3031: 2964 }], 2964: [[2962, 3031]], 3014: [,, { 3006: 3018, 3031: 3020 }], 3015: [,, { 3006: 3019 }], 3018: [[3014, 3006]], 3019: [[3015, 3006]], 3020: [[3014, 3031]], 3021: [, 9] }, - 3072: { 3142: [,, { 3158: 3144 }], 3144: [[3142, 3158]], 3149: [, 9], 3157: [, 84], 3158: [, 91], 3260: [, 7], 3263: [,, { 3285: 3264 }], 3264: [[3263, 3285]], 3270: [,, { 3266: 3274, 3285: 3271, 3286: 3272 }], 3271: [[3270, 3285]], 3272: [[3270, 3286]], 3274: [[3270, 3266],, { 3285: 3275 }], 3275: [[3274, 3285]], 3277: [, 9] }, - 3328: { 3398: [,, { 3390: 3402, 3415: 3404 }], 3399: [,, { 3390: 3403 }], 3402: [[3398, 3390]], 3403: [[3399, 3390]], 3404: [[3398, 3415]], 3405: [, 9], 3530: [, 9], 3545: [,, { 3530: 3546, 3535: 3548, 3551: 3550 }], 3546: [[3545, 3530]], 3548: [[3545, 3535],, { 3530: 3549 }], 3549: [[3548, 3530]], 3550: [[3545, 3551]] }, - 3584: { 3635: [[3661, 3634], 256], 3640: [, 103], 3641: [, 103], 3642: [, 9], 3656: [, 107], 3657: [, 107], 3658: [, 107], 3659: [, 107], 3763: [[3789, 3762], 256], 3768: [, 118], 3769: [, 118], 3784: [, 122], 3785: [, 122], 3786: [, 122], 3787: [, 122], 3804: [[3755, 3737], 256], 3805: [[3755, 3745], 256] }, - 3840: { 3852: [[3851], 256], 3864: [, 220], 3865: [, 220], 3893: [, 220], 3895: [, 220], 3897: [, 216], 3907: [[3906, 4023], 512], 3917: [[3916, 4023], 512], 3922: [[3921, 4023], 512], 3927: [[3926, 4023], 512], 3932: [[3931, 4023], 512], 3945: [[3904, 4021], 512], 3953: [, 129], 3954: [, 130], 3955: [[3953, 3954], 512], 3956: [, 132], 3957: [[3953, 3956], 512], 3958: [[4018, 3968], 512], 3959: [[4018, 3969], 256], 3960: [[4019, 3968], 512], 3961: [[4019, 3969], 256], 3962: [, 130], 3963: [, 130], 3964: [, 130], 3965: [, 130], 3968: [, 130], 3969: [[3953, 3968], 512], 3970: [, 230], 3971: [, 230], 3972: [, 9], 3974: [, 230], 3975: [, 230], 3987: [[3986, 4023], 512], 3997: [[3996, 4023], 512], 4002: [[4001, 4023], 512], 4007: [[4006, 4023], 512], 4012: [[4011, 4023], 512], 4025: [[3984, 4021], 512], 4038: [, 220] }, - 4096: { 4133: [,, { 4142: 4134 }], 4134: [[4133, 4142]], 4151: [, 7], 4153: [, 9], 4154: [, 9], 4237: [, 220], 4348: [[4316], 256], 69702: [, 9], 69759: [, 9], 69785: [,, { 69818: 69786 }], 69786: [[69785, 69818]], 69787: [,, { 69818: 69788 }], 69788: [[69787, 69818]], 69797: [,, { 69818: 69803 }], 69803: [[69797, 69818]], 69817: [, 9], 69818: [, 7] }, - 4352: { 69888: [, 230], 69889: [, 230], 69890: [, 230], 69934: [[69937, 69927]], 69935: [[69938, 69927]], 69937: [,, { 69927: 69934 }], 69938: [,, { 69927: 69935 }], 69939: [, 9], 69940: [, 9], 70003: [, 7], 70080: [, 9] }, - 4608: { 70197: [, 9], 70198: [, 7], 70377: [, 7], 70378: [, 9] }, - 4864: { 4957: [, 230], 4958: [, 230], 4959: [, 230], 70460: [, 7], 70471: [,, { 70462: 70475, 70487: 70476 }], 70475: [[70471, 70462]], 70476: [[70471, 70487]], 70477: [, 9], 70502: [, 230], 70503: [, 230], 70504: [, 230], 70505: [, 230], 70506: [, 230], 70507: [, 230], 70508: [, 230], 70512: [, 230], 70513: [, 230], 70514: [, 230], 70515: [, 230], 70516: [, 230] }, - 5120: { 70841: [,, { 70832: 70844, 70842: 70843, 70845: 70846 }], 70843: [[70841, 70842]], 70844: [[70841, 70832]], 70846: [[70841, 70845]], 70850: [, 9], 70851: [, 7] }, - 5376: { 71096: [,, { 71087: 71098 }], 71097: [,, { 71087: 71099 }], 71098: [[71096, 71087]], 71099: [[71097, 71087]], 71103: [, 9], 71104: [, 7] }, - 5632: { 71231: [, 9], 71350: [, 9], 71351: [, 7] }, - 5888: { 5908: [, 9], 5940: [, 9], 6098: [, 9], 6109: [, 230] }, - 6144: { 6313: [, 228] }, - 6400: { 6457: [, 222], 6458: [, 230], 6459: [, 220] }, - 6656: { 6679: [, 230], 6680: [, 220], 6752: [, 9], 6773: [, 230], 6774: [, 230], 6775: [, 230], 6776: [, 230], 6777: [, 230], 6778: [, 230], 6779: [, 230], 6780: [, 230], 6783: [, 220], 6832: [, 230], 6833: [, 230], 6834: [, 230], 6835: [, 230], 6836: [, 230], 6837: [, 220], 6838: [, 220], 6839: [, 220], 6840: [, 220], 6841: [, 220], 6842: [, 220], 6843: [, 230], 6844: [, 230], 6845: [, 220] }, - 6912: { 6917: [,, { 6965: 6918 }], 6918: [[6917, 6965]], 6919: [,, { 6965: 6920 }], 6920: [[6919, 6965]], 6921: [,, { 6965: 6922 }], 6922: [[6921, 6965]], 6923: [,, { 6965: 6924 }], 6924: [[6923, 6965]], 6925: [,, { 6965: 6926 }], 6926: [[6925, 6965]], 6929: [,, { 6965: 6930 }], 6930: [[6929, 6965]], 6964: [, 7], 6970: [,, { 6965: 6971 }], 6971: [[6970, 6965]], 6972: [,, { 6965: 6973 }], 6973: [[6972, 6965]], 6974: [,, { 6965: 6976 }], 6975: [,, { 6965: 6977 }], 6976: [[6974, 6965]], 6977: [[6975, 6965]], 6978: [,, { 6965: 6979 }], 6979: [[6978, 6965]], 6980: [, 9], 7019: [, 230], 7020: [, 220], 7021: [, 230], 7022: [, 230], 7023: [, 230], 7024: [, 230], 7025: [, 230], 7026: [, 230], 7027: [, 230], 7082: [, 9], 7083: [, 9], 7142: [, 7], 7154: [, 9], 7155: [, 9] }, - 7168: { 7223: [, 7], 7376: [, 230], 7377: [, 230], 7378: [, 230], 7380: [, 1], 7381: [, 220], 7382: [, 220], 7383: [, 220], 7384: [, 220], 7385: [, 220], 7386: [, 230], 7387: [, 230], 7388: [, 220], 7389: [, 220], 7390: [, 220], 7391: [, 220], 7392: [, 230], 7394: [, 1], 7395: [, 1], 7396: [, 1], 7397: [, 1], 7398: [, 1], 7399: [, 1], 7400: [, 1], 7405: [, 220], 7412: [, 230], 7416: [, 230], 7417: [, 230] }, - 7424: { 7468: [[65], 256], 7469: [[198], 256], 7470: [[66], 256], 7472: [[68], 256], 7473: [[69], 256], 7474: [[398], 256], 7475: [[71], 256], 7476: [[72], 256], 7477: [[73], 256], 7478: [[74], 256], 7479: [[75], 256], 7480: [[76], 256], 7481: [[77], 256], 7482: [[78], 256], 7484: [[79], 256], 7485: [[546], 256], 7486: [[80], 256], 7487: [[82], 256], 7488: [[84], 256], 7489: [[85], 256], 7490: [[87], 256], 7491: [[97], 256], 7492: [[592], 256], 7493: [[593], 256], 7494: [[7426], 256], 7495: [[98], 256], 7496: [[100], 256], 7497: [[101], 256], 7498: [[601], 256], 7499: [[603], 256], 7500: [[604], 256], 7501: [[103], 256], 7503: [[107], 256], 7504: [[109], 256], 7505: [[331], 256], 7506: [[111], 256], 7507: [[596], 256], 7508: [[7446], 256], 7509: [[7447], 256], 7510: [[112], 256], 7511: [[116], 256], 7512: [[117], 256], 7513: [[7453], 256], 7514: [[623], 256], 7515: [[118], 256], 7516: [[7461], 256], 7517: [[946], 256], 7518: [[947], 256], 7519: [[948], 256], 7520: [[966], 256], 7521: [[967], 256], 7522: [[105], 256], 7523: [[114], 256], 7524: [[117], 256], 7525: [[118], 256], 7526: [[946], 256], 7527: [[947], 256], 7528: [[961], 256], 7529: [[966], 256], 7530: [[967], 256], 7544: [[1085], 256], 7579: [[594], 256], 7580: [[99], 256], 7581: [[597], 256], 7582: [[240], 256], 7583: [[604], 256], 7584: [[102], 256], 7585: [[607], 256], 7586: [[609], 256], 7587: [[613], 256], 7588: [[616], 256], 7589: [[617], 256], 7590: [[618], 256], 7591: [[7547], 256], 7592: [[669], 256], 7593: [[621], 256], 7594: [[7557], 256], 7595: [[671], 256], 7596: [[625], 256], 7597: [[624], 256], 7598: [[626], 256], 7599: [[627], 256], 7600: [[628], 256], 7601: [[629], 256], 7602: [[632], 256], 7603: [[642], 256], 7604: [[643], 256], 7605: [[427], 256], 7606: [[649], 256], 7607: [[650], 256], 7608: [[7452], 256], 7609: [[651], 256], 7610: [[652], 256], 7611: [[122], 256], 7612: [[656], 256], 7613: [[657], 256], 7614: [[658], 256], 7615: [[952], 256], 7616: [, 230], 7617: [, 230], 7618: [, 220], 7619: [, 230], 7620: [, 230], 7621: [, 230], 7622: [, 230], 7623: [, 230], 7624: [, 230], 7625: [, 230], 7626: [, 220], 7627: [, 230], 7628: [, 230], 7629: [, 234], 7630: [, 214], 7631: [, 220], 7632: [, 202], 7633: [, 230], 7634: [, 230], 7635: [, 230], 7636: [, 230], 7637: [, 230], 7638: [, 230], 7639: [, 230], 7640: [, 230], 7641: [, 230], 7642: [, 230], 7643: [, 230], 7644: [, 230], 7645: [, 230], 7646: [, 230], 7647: [, 230], 7648: [, 230], 7649: [, 230], 7650: [, 230], 7651: [, 230], 7652: [, 230], 7653: [, 230], 7654: [, 230], 7655: [, 230], 7656: [, 230], 7657: [, 230], 7658: [, 230], 7659: [, 230], 7660: [, 230], 7661: [, 230], 7662: [, 230], 7663: [, 230], 7664: [, 230], 7665: [, 230], 7666: [, 230], 7667: [, 230], 7668: [, 230], 7669: [, 230], 7676: [, 233], 7677: [, 220], 7678: [, 230], 7679: [, 220] }, - 7680: { 7680: [[65, 805]], 7681: [[97, 805]], 7682: [[66, 775]], 7683: [[98, 775]], 7684: [[66, 803]], 7685: [[98, 803]], 7686: [[66, 817]], 7687: [[98, 817]], 7688: [[199, 769]], 7689: [[231, 769]], 7690: [[68, 775]], 7691: [[100, 775]], 7692: [[68, 803]], 7693: [[100, 803]], 7694: [[68, 817]], 7695: [[100, 817]], 7696: [[68, 807]], 7697: [[100, 807]], 7698: [[68, 813]], 7699: [[100, 813]], 7700: [[274, 768]], 7701: [[275, 768]], 7702: [[274, 769]], 7703: [[275, 769]], 7704: [[69, 813]], 7705: [[101, 813]], 7706: [[69, 816]], 7707: [[101, 816]], 7708: [[552, 774]], 7709: [[553, 774]], 7710: [[70, 775]], 7711: [[102, 775]], 7712: [[71, 772]], 7713: [[103, 772]], 7714: [[72, 775]], 7715: [[104, 775]], 7716: [[72, 803]], 7717: [[104, 803]], 7718: [[72, 776]], 7719: [[104, 776]], 7720: [[72, 807]], 7721: [[104, 807]], 7722: [[72, 814]], 7723: [[104, 814]], 7724: [[73, 816]], 7725: [[105, 816]], 7726: [[207, 769]], 7727: [[239, 769]], 7728: [[75, 769]], 7729: [[107, 769]], 7730: [[75, 803]], 7731: [[107, 803]], 7732: [[75, 817]], 7733: [[107, 817]], 7734: [[76, 803],, { 772: 7736 }], 7735: [[108, 803],, { 772: 7737 }], 7736: [[7734, 772]], 7737: [[7735, 772]], 7738: [[76, 817]], 7739: [[108, 817]], 7740: [[76, 813]], 7741: [[108, 813]], 7742: [[77, 769]], 7743: [[109, 769]], 7744: [[77, 775]], 7745: [[109, 775]], 7746: [[77, 803]], 7747: [[109, 803]], 7748: [[78, 775]], 7749: [[110, 775]], 7750: [[78, 803]], 7751: [[110, 803]], 7752: [[78, 817]], 7753: [[110, 817]], 7754: [[78, 813]], 7755: [[110, 813]], 7756: [[213, 769]], 7757: [[245, 769]], 7758: [[213, 776]], 7759: [[245, 776]], 7760: [[332, 768]], 7761: [[333, 768]], 7762: [[332, 769]], 7763: [[333, 769]], 7764: [[80, 769]], 7765: [[112, 769]], 7766: [[80, 775]], 7767: [[112, 775]], 7768: [[82, 775]], 7769: [[114, 775]], 7770: [[82, 803],, { 772: 7772 }], 7771: [[114, 803],, { 772: 7773 }], 7772: [[7770, 772]], 7773: [[7771, 772]], 7774: [[82, 817]], 7775: [[114, 817]], 7776: [[83, 775]], 7777: [[115, 775]], 7778: [[83, 803],, { 775: 7784 }], 7779: [[115, 803],, { 775: 7785 }], 7780: [[346, 775]], 7781: [[347, 775]], 7782: [[352, 775]], 7783: [[353, 775]], 7784: [[7778, 775]], 7785: [[7779, 775]], 7786: [[84, 775]], 7787: [[116, 775]], 7788: [[84, 803]], 7789: [[116, 803]], 7790: [[84, 817]], 7791: [[116, 817]], 7792: [[84, 813]], 7793: [[116, 813]], 7794: [[85, 804]], 7795: [[117, 804]], 7796: [[85, 816]], 7797: [[117, 816]], 7798: [[85, 813]], 7799: [[117, 813]], 7800: [[360, 769]], 7801: [[361, 769]], 7802: [[362, 776]], 7803: [[363, 776]], 7804: [[86, 771]], 7805: [[118, 771]], 7806: [[86, 803]], 7807: [[118, 803]], 7808: [[87, 768]], 7809: [[119, 768]], 7810: [[87, 769]], 7811: [[119, 769]], 7812: [[87, 776]], 7813: [[119, 776]], 7814: [[87, 775]], 7815: [[119, 775]], 7816: [[87, 803]], 7817: [[119, 803]], 7818: [[88, 775]], 7819: [[120, 775]], 7820: [[88, 776]], 7821: [[120, 776]], 7822: [[89, 775]], 7823: [[121, 775]], 7824: [[90, 770]], 7825: [[122, 770]], 7826: [[90, 803]], 7827: [[122, 803]], 7828: [[90, 817]], 7829: [[122, 817]], 7830: [[104, 817]], 7831: [[116, 776]], 7832: [[119, 778]], 7833: [[121, 778]], 7834: [[97, 702], 256], 7835: [[383, 775]], 7840: [[65, 803],, { 770: 7852, 774: 7862 }], 7841: [[97, 803],, { 770: 7853, 774: 7863 }], 7842: [[65, 777]], 7843: [[97, 777]], 7844: [[194, 769]], 7845: [[226, 769]], 7846: [[194, 768]], 7847: [[226, 768]], 7848: [[194, 777]], 7849: [[226, 777]], 7850: [[194, 771]], 7851: [[226, 771]], 7852: [[7840, 770]], 7853: [[7841, 770]], 7854: [[258, 769]], 7855: [[259, 769]], 7856: [[258, 768]], 7857: [[259, 768]], 7858: [[258, 777]], 7859: [[259, 777]], 7860: [[258, 771]], 7861: [[259, 771]], 7862: [[7840, 774]], 7863: [[7841, 774]], 7864: [[69, 803],, { 770: 7878 }], 7865: [[101, 803],, { 770: 7879 }], 7866: [[69, 777]], 7867: [[101, 777]], 7868: [[69, 771]], 7869: [[101, 771]], 7870: [[202, 769]], 7871: [[234, 769]], 7872: [[202, 768]], 7873: [[234, 768]], 7874: [[202, 777]], 7875: [[234, 777]], 7876: [[202, 771]], 7877: [[234, 771]], 7878: [[7864, 770]], 7879: [[7865, 770]], 7880: [[73, 777]], 7881: [[105, 777]], 7882: [[73, 803]], 7883: [[105, 803]], 7884: [[79, 803],, { 770: 7896 }], 7885: [[111, 803],, { 770: 7897 }], 7886: [[79, 777]], 7887: [[111, 777]], 7888: [[212, 769]], 7889: [[244, 769]], 7890: [[212, 768]], 7891: [[244, 768]], 7892: [[212, 777]], 7893: [[244, 777]], 7894: [[212, 771]], 7895: [[244, 771]], 7896: [[7884, 770]], 7897: [[7885, 770]], 7898: [[416, 769]], 7899: [[417, 769]], 7900: [[416, 768]], 7901: [[417, 768]], 7902: [[416, 777]], 7903: [[417, 777]], 7904: [[416, 771]], 7905: [[417, 771]], 7906: [[416, 803]], 7907: [[417, 803]], 7908: [[85, 803]], 7909: [[117, 803]], 7910: [[85, 777]], 7911: [[117, 777]], 7912: [[431, 769]], 7913: [[432, 769]], 7914: [[431, 768]], 7915: [[432, 768]], 7916: [[431, 777]], 7917: [[432, 777]], 7918: [[431, 771]], 7919: [[432, 771]], 7920: [[431, 803]], 7921: [[432, 803]], 7922: [[89, 768]], 7923: [[121, 768]], 7924: [[89, 803]], 7925: [[121, 803]], 7926: [[89, 777]], 7927: [[121, 777]], 7928: [[89, 771]], 7929: [[121, 771]] }, - 7936: { 7936: [[945, 787],, { 768: 7938, 769: 7940, 834: 7942, 837: 8064 }], 7937: [[945, 788],, { 768: 7939, 769: 7941, 834: 7943, 837: 8065 }], 7938: [[7936, 768],, { 837: 8066 }], 7939: [[7937, 768],, { 837: 8067 }], 7940: [[7936, 769],, { 837: 8068 }], 7941: [[7937, 769],, { 837: 8069 }], 7942: [[7936, 834],, { 837: 8070 }], 7943: [[7937, 834],, { 837: 8071 }], 7944: [[913, 787],, { 768: 7946, 769: 7948, 834: 7950, 837: 8072 }], 7945: [[913, 788],, { 768: 7947, 769: 7949, 834: 7951, 837: 8073 }], 7946: [[7944, 768],, { 837: 8074 }], 7947: [[7945, 768],, { 837: 8075 }], 7948: [[7944, 769],, { 837: 8076 }], 7949: [[7945, 769],, { 837: 8077 }], 7950: [[7944, 834],, { 837: 8078 }], 7951: [[7945, 834],, { 837: 8079 }], 7952: [[949, 787],, { 768: 7954, 769: 7956 }], 7953: [[949, 788],, { 768: 7955, 769: 7957 }], 7954: [[7952, 768]], 7955: [[7953, 768]], 7956: [[7952, 769]], 7957: [[7953, 769]], 7960: [[917, 787],, { 768: 7962, 769: 7964 }], 7961: [[917, 788],, { 768: 7963, 769: 7965 }], 7962: [[7960, 768]], 7963: [[7961, 768]], 7964: [[7960, 769]], 7965: [[7961, 769]], 7968: [[951, 787],, { 768: 7970, 769: 7972, 834: 7974, 837: 8080 }], 7969: [[951, 788],, { 768: 7971, 769: 7973, 834: 7975, 837: 8081 }], 7970: [[7968, 768],, { 837: 8082 }], 7971: [[7969, 768],, { 837: 8083 }], 7972: [[7968, 769],, { 837: 8084 }], 7973: [[7969, 769],, { 837: 8085 }], 7974: [[7968, 834],, { 837: 8086 }], 7975: [[7969, 834],, { 837: 8087 }], 7976: [[919, 787],, { 768: 7978, 769: 7980, 834: 7982, 837: 8088 }], 7977: [[919, 788],, { 768: 7979, 769: 7981, 834: 7983, 837: 8089 }], 7978: [[7976, 768],, { 837: 8090 }], 7979: [[7977, 768],, { 837: 8091 }], 7980: [[7976, 769],, { 837: 8092 }], 7981: [[7977, 769],, { 837: 8093 }], 7982: [[7976, 834],, { 837: 8094 }], 7983: [[7977, 834],, { 837: 8095 }], 7984: [[953, 787],, { 768: 7986, 769: 7988, 834: 7990 }], 7985: [[953, 788],, { 768: 7987, 769: 7989, 834: 7991 }], 7986: [[7984, 768]], 7987: [[7985, 768]], 7988: [[7984, 769]], 7989: [[7985, 769]], 7990: [[7984, 834]], 7991: [[7985, 834]], 7992: [[921, 787],, { 768: 7994, 769: 7996, 834: 7998 }], 7993: [[921, 788],, { 768: 7995, 769: 7997, 834: 7999 }], 7994: [[7992, 768]], 7995: [[7993, 768]], 7996: [[7992, 769]], 7997: [[7993, 769]], 7998: [[7992, 834]], 7999: [[7993, 834]], 8000: [[959, 787],, { 768: 8002, 769: 8004 }], 8001: [[959, 788],, { 768: 8003, 769: 8005 }], 8002: [[8000, 768]], 8003: [[8001, 768]], 8004: [[8000, 769]], 8005: [[8001, 769]], 8008: [[927, 787],, { 768: 8010, 769: 8012 }], 8009: [[927, 788],, { 768: 8011, 769: 8013 }], 8010: [[8008, 768]], 8011: [[8009, 768]], 8012: [[8008, 769]], 8013: [[8009, 769]], 8016: [[965, 787],, { 768: 8018, 769: 8020, 834: 8022 }], 8017: [[965, 788],, { 768: 8019, 769: 8021, 834: 8023 }], 8018: [[8016, 768]], 8019: [[8017, 768]], 8020: [[8016, 769]], 8021: [[8017, 769]], 8022: [[8016, 834]], 8023: [[8017, 834]], 8025: [[933, 788],, { 768: 8027, 769: 8029, 834: 8031 }], 8027: [[8025, 768]], 8029: [[8025, 769]], 8031: [[8025, 834]], 8032: [[969, 787],, { 768: 8034, 769: 8036, 834: 8038, 837: 8096 }], 8033: [[969, 788],, { 768: 8035, 769: 8037, 834: 8039, 837: 8097 }], 8034: [[8032, 768],, { 837: 8098 }], 8035: [[8033, 768],, { 837: 8099 }], 8036: [[8032, 769],, { 837: 8100 }], 8037: [[8033, 769],, { 837: 8101 }], 8038: [[8032, 834],, { 837: 8102 }], 8039: [[8033, 834],, { 837: 8103 }], 8040: [[937, 787],, { 768: 8042, 769: 8044, 834: 8046, 837: 8104 }], 8041: [[937, 788],, { 768: 8043, 769: 8045, 834: 8047, 837: 8105 }], 8042: [[8040, 768],, { 837: 8106 }], 8043: [[8041, 768],, { 837: 8107 }], 8044: [[8040, 769],, { 837: 8108 }], 8045: [[8041, 769],, { 837: 8109 }], 8046: [[8040, 834],, { 837: 8110 }], 8047: [[8041, 834],, { 837: 8111 }], 8048: [[945, 768],, { 837: 8114 }], 8049: [[940]], 8050: [[949, 768]], 8051: [[941]], 8052: [[951, 768],, { 837: 8130 }], 8053: [[942]], 8054: [[953, 768]], 8055: [[943]], 8056: [[959, 768]], 8057: [[972]], 8058: [[965, 768]], 8059: [[973]], 8060: [[969, 768],, { 837: 8178 }], 8061: [[974]], 8064: [[7936, 837]], 8065: [[7937, 837]], 8066: [[7938, 837]], 8067: [[7939, 837]], 8068: [[7940, 837]], 8069: [[7941, 837]], 8070: [[7942, 837]], 8071: [[7943, 837]], 8072: [[7944, 837]], 8073: [[7945, 837]], 8074: [[7946, 837]], 8075: [[7947, 837]], 8076: [[7948, 837]], 8077: [[7949, 837]], 8078: [[7950, 837]], 8079: [[7951, 837]], 8080: [[7968, 837]], 8081: [[7969, 837]], 8082: [[7970, 837]], 8083: [[7971, 837]], 8084: [[7972, 837]], 8085: [[7973, 837]], 8086: [[7974, 837]], 8087: [[7975, 837]], 8088: [[7976, 837]], 8089: [[7977, 837]], 8090: [[7978, 837]], 8091: [[7979, 837]], 8092: [[7980, 837]], 8093: [[7981, 837]], 8094: [[7982, 837]], 8095: [[7983, 837]], 8096: [[8032, 837]], 8097: [[8033, 837]], 8098: [[8034, 837]], 8099: [[8035, 837]], 8100: [[8036, 837]], 8101: [[8037, 837]], 8102: [[8038, 837]], 8103: [[8039, 837]], 8104: [[8040, 837]], 8105: [[8041, 837]], 8106: [[8042, 837]], 8107: [[8043, 837]], 8108: [[8044, 837]], 8109: [[8045, 837]], 8110: [[8046, 837]], 8111: [[8047, 837]], 8112: [[945, 774]], 8113: [[945, 772]], 8114: [[8048, 837]], 8115: [[945, 837]], 8116: [[940, 837]], 8118: [[945, 834],, { 837: 8119 }], 8119: [[8118, 837]], 8120: [[913, 774]], 8121: [[913, 772]], 8122: [[913, 768]], 8123: [[902]], 8124: [[913, 837]], 8125: [[32, 787], 256], 8126: [[953]], 8127: [[32, 787], 256, { 768: 8141, 769: 8142, 834: 8143 }], 8128: [[32, 834], 256], 8129: [[168, 834]], 8130: [[8052, 837]], 8131: [[951, 837]], 8132: [[942, 837]], 8134: [[951, 834],, { 837: 8135 }], 8135: [[8134, 837]], 8136: [[917, 768]], 8137: [[904]], 8138: [[919, 768]], 8139: [[905]], 8140: [[919, 837]], 8141: [[8127, 768]], 8142: [[8127, 769]], 8143: [[8127, 834]], 8144: [[953, 774]], 8145: [[953, 772]], 8146: [[970, 768]], 8147: [[912]], 8150: [[953, 834]], 8151: [[970, 834]], 8152: [[921, 774]], 8153: [[921, 772]], 8154: [[921, 768]], 8155: [[906]], 8157: [[8190, 768]], 8158: [[8190, 769]], 8159: [[8190, 834]], 8160: [[965, 774]], 8161: [[965, 772]], 8162: [[971, 768]], 8163: [[944]], 8164: [[961, 787]], 8165: [[961, 788]], 8166: [[965, 834]], 8167: [[971, 834]], 8168: [[933, 774]], 8169: [[933, 772]], 8170: [[933, 768]], 8171: [[910]], 8172: [[929, 788]], 8173: [[168, 768]], 8174: [[901]], 8175: [[96]], 8178: [[8060, 837]], 8179: [[969, 837]], 8180: [[974, 837]], 8182: [[969, 834],, { 837: 8183 }], 8183: [[8182, 837]], 8184: [[927, 768]], 8185: [[908]], 8186: [[937, 768]], 8187: [[911]], 8188: [[937, 837]], 8189: [[180]], 8190: [[32, 788], 256, { 768: 8157, 769: 8158, 834: 8159 }] }, - 8192: { 8192: [[8194]], 8193: [[8195]], 8194: [[32], 256], 8195: [[32], 256], 8196: [[32], 256], 8197: [[32], 256], 8198: [[32], 256], 8199: [[32], 256], 8200: [[32], 256], 8201: [[32], 256], 8202: [[32], 256], 8209: [[8208], 256], 8215: [[32, 819], 256], 8228: [[46], 256], 8229: [[46, 46], 256], 8230: [[46, 46, 46], 256], 8239: [[32], 256], 8243: [[8242, 8242], 256], 8244: [[8242, 8242, 8242], 256], 8246: [[8245, 8245], 256], 8247: [[8245, 8245, 8245], 256], 8252: [[33, 33], 256], 8254: [[32, 773], 256], 8263: [[63, 63], 256], 8264: [[63, 33], 256], 8265: [[33, 63], 256], 8279: [[8242, 8242, 8242, 8242], 256], 8287: [[32], 256], 8304: [[48], 256], 8305: [[105], 256], 8308: [[52], 256], 8309: [[53], 256], 8310: [[54], 256], 8311: [[55], 256], 8312: [[56], 256], 8313: [[57], 256], 8314: [[43], 256], 8315: [[8722], 256], 8316: [[61], 256], 8317: [[40], 256], 8318: [[41], 256], 8319: [[110], 256], 8320: [[48], 256], 8321: [[49], 256], 8322: [[50], 256], 8323: [[51], 256], 8324: [[52], 256], 8325: [[53], 256], 8326: [[54], 256], 8327: [[55], 256], 8328: [[56], 256], 8329: [[57], 256], 8330: [[43], 256], 8331: [[8722], 256], 8332: [[61], 256], 8333: [[40], 256], 8334: [[41], 256], 8336: [[97], 256], 8337: [[101], 256], 8338: [[111], 256], 8339: [[120], 256], 8340: [[601], 256], 8341: [[104], 256], 8342: [[107], 256], 8343: [[108], 256], 8344: [[109], 256], 8345: [[110], 256], 8346: [[112], 256], 8347: [[115], 256], 8348: [[116], 256], 8360: [[82, 115], 256], 8400: [, 230], 8401: [, 230], 8402: [, 1], 8403: [, 1], 8404: [, 230], 8405: [, 230], 8406: [, 230], 8407: [, 230], 8408: [, 1], 8409: [, 1], 8410: [, 1], 8411: [, 230], 8412: [, 230], 8417: [, 230], 8421: [, 1], 8422: [, 1], 8423: [, 230], 8424: [, 220], 8425: [, 230], 8426: [, 1], 8427: [, 1], 8428: [, 220], 8429: [, 220], 8430: [, 220], 8431: [, 220], 8432: [, 230] }, - 8448: { 8448: [[97, 47, 99], 256], 8449: [[97, 47, 115], 256], 8450: [[67], 256], 8451: [[176, 67], 256], 8453: [[99, 47, 111], 256], 8454: [[99, 47, 117], 256], 8455: [[400], 256], 8457: [[176, 70], 256], 8458: [[103], 256], 8459: [[72], 256], 8460: [[72], 256], 8461: [[72], 256], 8462: [[104], 256], 8463: [[295], 256], 8464: [[73], 256], 8465: [[73], 256], 8466: [[76], 256], 8467: [[108], 256], 8469: [[78], 256], 8470: [[78, 111], 256], 8473: [[80], 256], 8474: [[81], 256], 8475: [[82], 256], 8476: [[82], 256], 8477: [[82], 256], 8480: [[83, 77], 256], 8481: [[84, 69, 76], 256], 8482: [[84, 77], 256], 8484: [[90], 256], 8486: [[937]], 8488: [[90], 256], 8490: [[75]], 8491: [[197]], 8492: [[66], 256], 8493: [[67], 256], 8495: [[101], 256], 8496: [[69], 256], 8497: [[70], 256], 8499: [[77], 256], 8500: [[111], 256], 8501: [[1488], 256], 8502: [[1489], 256], 8503: [[1490], 256], 8504: [[1491], 256], 8505: [[105], 256], 8507: [[70, 65, 88], 256], 8508: [[960], 256], 8509: [[947], 256], 8510: [[915], 256], 8511: [[928], 256], 8512: [[8721], 256], 8517: [[68], 256], 8518: [[100], 256], 8519: [[101], 256], 8520: [[105], 256], 8521: [[106], 256], 8528: [[49, 8260, 55], 256], 8529: [[49, 8260, 57], 256], 8530: [[49, 8260, 49, 48], 256], 8531: [[49, 8260, 51], 256], 8532: [[50, 8260, 51], 256], 8533: [[49, 8260, 53], 256], 8534: [[50, 8260, 53], 256], 8535: [[51, 8260, 53], 256], 8536: [[52, 8260, 53], 256], 8537: [[49, 8260, 54], 256], 8538: [[53, 8260, 54], 256], 8539: [[49, 8260, 56], 256], 8540: [[51, 8260, 56], 256], 8541: [[53, 8260, 56], 256], 8542: [[55, 8260, 56], 256], 8543: [[49, 8260], 256], 8544: [[73], 256], 8545: [[73, 73], 256], 8546: [[73, 73, 73], 256], 8547: [[73, 86], 256], 8548: [[86], 256], 8549: [[86, 73], 256], 8550: [[86, 73, 73], 256], 8551: [[86, 73, 73, 73], 256], 8552: [[73, 88], 256], 8553: [[88], 256], 8554: [[88, 73], 256], 8555: [[88, 73, 73], 256], 8556: [[76], 256], 8557: [[67], 256], 8558: [[68], 256], 8559: [[77], 256], 8560: [[105], 256], 8561: [[105, 105], 256], 8562: [[105, 105, 105], 256], 8563: [[105, 118], 256], 8564: [[118], 256], 8565: [[118, 105], 256], 8566: [[118, 105, 105], 256], 8567: [[118, 105, 105, 105], 256], 8568: [[105, 120], 256], 8569: [[120], 256], 8570: [[120, 105], 256], 8571: [[120, 105, 105], 256], 8572: [[108], 256], 8573: [[99], 256], 8574: [[100], 256], 8575: [[109], 256], 8585: [[48, 8260, 51], 256], 8592: [,, { 824: 8602 }], 8594: [,, { 824: 8603 }], 8596: [,, { 824: 8622 }], 8602: [[8592, 824]], 8603: [[8594, 824]], 8622: [[8596, 824]], 8653: [[8656, 824]], 8654: [[8660, 824]], 8655: [[8658, 824]], 8656: [,, { 824: 8653 }], 8658: [,, { 824: 8655 }], 8660: [,, { 824: 8654 }] }, - 8704: { 8707: [,, { 824: 8708 }], 8708: [[8707, 824]], 8712: [,, { 824: 8713 }], 8713: [[8712, 824]], 8715: [,, { 824: 8716 }], 8716: [[8715, 824]], 8739: [,, { 824: 8740 }], 8740: [[8739, 824]], 8741: [,, { 824: 8742 }], 8742: [[8741, 824]], 8748: [[8747, 8747], 256], 8749: [[8747, 8747, 8747], 256], 8751: [[8750, 8750], 256], 8752: [[8750, 8750, 8750], 256], 8764: [,, { 824: 8769 }], 8769: [[8764, 824]], 8771: [,, { 824: 8772 }], 8772: [[8771, 824]], 8773: [,, { 824: 8775 }], 8775: [[8773, 824]], 8776: [,, { 824: 8777 }], 8777: [[8776, 824]], 8781: [,, { 824: 8813 }], 8800: [[61, 824]], 8801: [,, { 824: 8802 }], 8802: [[8801, 824]], 8804: [,, { 824: 8816 }], 8805: [,, { 824: 8817 }], 8813: [[8781, 824]], 8814: [[60, 824]], 8815: [[62, 824]], 8816: [[8804, 824]], 8817: [[8805, 824]], 8818: [,, { 824: 8820 }], 8819: [,, { 824: 8821 }], 8820: [[8818, 824]], 8821: [[8819, 824]], 8822: [,, { 824: 8824 }], 8823: [,, { 824: 8825 }], 8824: [[8822, 824]], 8825: [[8823, 824]], 8826: [,, { 824: 8832 }], 8827: [,, { 824: 8833 }], 8828: [,, { 824: 8928 }], 8829: [,, { 824: 8929 }], 8832: [[8826, 824]], 8833: [[8827, 824]], 8834: [,, { 824: 8836 }], 8835: [,, { 824: 8837 }], 8836: [[8834, 824]], 8837: [[8835, 824]], 8838: [,, { 824: 8840 }], 8839: [,, { 824: 8841 }], 8840: [[8838, 824]], 8841: [[8839, 824]], 8849: [,, { 824: 8930 }], 8850: [,, { 824: 8931 }], 8866: [,, { 824: 8876 }], 8872: [,, { 824: 8877 }], 8873: [,, { 824: 8878 }], 8875: [,, { 824: 8879 }], 8876: [[8866, 824]], 8877: [[8872, 824]], 8878: [[8873, 824]], 8879: [[8875, 824]], 8882: [,, { 824: 8938 }], 8883: [,, { 824: 8939 }], 8884: [,, { 824: 8940 }], 8885: [,, { 824: 8941 }], 8928: [[8828, 824]], 8929: [[8829, 824]], 8930: [[8849, 824]], 8931: [[8850, 824]], 8938: [[8882, 824]], 8939: [[8883, 824]], 8940: [[8884, 824]], 8941: [[8885, 824]] }, - 8960: { 9001: [[12296]], 9002: [[12297]] }, - 9216: { 9312: [[49], 256], 9313: [[50], 256], 9314: [[51], 256], 9315: [[52], 256], 9316: [[53], 256], 9317: [[54], 256], 9318: [[55], 256], 9319: [[56], 256], 9320: [[57], 256], 9321: [[49, 48], 256], 9322: [[49, 49], 256], 9323: [[49, 50], 256], 9324: [[49, 51], 256], 9325: [[49, 52], 256], 9326: [[49, 53], 256], 9327: [[49, 54], 256], 9328: [[49, 55], 256], 9329: [[49, 56], 256], 9330: [[49, 57], 256], 9331: [[50, 48], 256], 9332: [[40, 49, 41], 256], 9333: [[40, 50, 41], 256], 9334: [[40, 51, 41], 256], 9335: [[40, 52, 41], 256], 9336: [[40, 53, 41], 256], 9337: [[40, 54, 41], 256], 9338: [[40, 55, 41], 256], 9339: [[40, 56, 41], 256], 9340: [[40, 57, 41], 256], 9341: [[40, 49, 48, 41], 256], 9342: [[40, 49, 49, 41], 256], 9343: [[40, 49, 50, 41], 256], 9344: [[40, 49, 51, 41], 256], 9345: [[40, 49, 52, 41], 256], 9346: [[40, 49, 53, 41], 256], 9347: [[40, 49, 54, 41], 256], 9348: [[40, 49, 55, 41], 256], 9349: [[40, 49, 56, 41], 256], 9350: [[40, 49, 57, 41], 256], 9351: [[40, 50, 48, 41], 256], 9352: [[49, 46], 256], 9353: [[50, 46], 256], 9354: [[51, 46], 256], 9355: [[52, 46], 256], 9356: [[53, 46], 256], 9357: [[54, 46], 256], 9358: [[55, 46], 256], 9359: [[56, 46], 256], 9360: [[57, 46], 256], 9361: [[49, 48, 46], 256], 9362: [[49, 49, 46], 256], 9363: [[49, 50, 46], 256], 9364: [[49, 51, 46], 256], 9365: [[49, 52, 46], 256], 9366: [[49, 53, 46], 256], 9367: [[49, 54, 46], 256], 9368: [[49, 55, 46], 256], 9369: [[49, 56, 46], 256], 9370: [[49, 57, 46], 256], 9371: [[50, 48, 46], 256], 9372: [[40, 97, 41], 256], 9373: [[40, 98, 41], 256], 9374: [[40, 99, 41], 256], 9375: [[40, 100, 41], 256], 9376: [[40, 101, 41], 256], 9377: [[40, 102, 41], 256], 9378: [[40, 103, 41], 256], 9379: [[40, 104, 41], 256], 9380: [[40, 105, 41], 256], 9381: [[40, 106, 41], 256], 9382: [[40, 107, 41], 256], 9383: [[40, 108, 41], 256], 9384: [[40, 109, 41], 256], 9385: [[40, 110, 41], 256], 9386: [[40, 111, 41], 256], 9387: [[40, 112, 41], 256], 9388: [[40, 113, 41], 256], 9389: [[40, 114, 41], 256], 9390: [[40, 115, 41], 256], 9391: [[40, 116, 41], 256], 9392: [[40, 117, 41], 256], 9393: [[40, 118, 41], 256], 9394: [[40, 119, 41], 256], 9395: [[40, 120, 41], 256], 9396: [[40, 121, 41], 256], 9397: [[40, 122, 41], 256], 9398: [[65], 256], 9399: [[66], 256], 9400: [[67], 256], 9401: [[68], 256], 9402: [[69], 256], 9403: [[70], 256], 9404: [[71], 256], 9405: [[72], 256], 9406: [[73], 256], 9407: [[74], 256], 9408: [[75], 256], 9409: [[76], 256], 9410: [[77], 256], 9411: [[78], 256], 9412: [[79], 256], 9413: [[80], 256], 9414: [[81], 256], 9415: [[82], 256], 9416: [[83], 256], 9417: [[84], 256], 9418: [[85], 256], 9419: [[86], 256], 9420: [[87], 256], 9421: [[88], 256], 9422: [[89], 256], 9423: [[90], 256], 9424: [[97], 256], 9425: [[98], 256], 9426: [[99], 256], 9427: [[100], 256], 9428: [[101], 256], 9429: [[102], 256], 9430: [[103], 256], 9431: [[104], 256], 9432: [[105], 256], 9433: [[106], 256], 9434: [[107], 256], 9435: [[108], 256], 9436: [[109], 256], 9437: [[110], 256], 9438: [[111], 256], 9439: [[112], 256], 9440: [[113], 256], 9441: [[114], 256], 9442: [[115], 256], 9443: [[116], 256], 9444: [[117], 256], 9445: [[118], 256], 9446: [[119], 256], 9447: [[120], 256], 9448: [[121], 256], 9449: [[122], 256], 9450: [[48], 256] }, - 10752: { 10764: [[8747, 8747, 8747, 8747], 256], 10868: [[58, 58, 61], 256], 10869: [[61, 61], 256], 10870: [[61, 61, 61], 256], 10972: [[10973, 824], 512] }, - 11264: { 11388: [[106], 256], 11389: [[86], 256], 11503: [, 230], 11504: [, 230], 11505: [, 230] }, - 11520: { 11631: [[11617], 256], 11647: [, 9], 11744: [, 230], 11745: [, 230], 11746: [, 230], 11747: [, 230], 11748: [, 230], 11749: [, 230], 11750: [, 230], 11751: [, 230], 11752: [, 230], 11753: [, 230], 11754: [, 230], 11755: [, 230], 11756: [, 230], 11757: [, 230], 11758: [, 230], 11759: [, 230], 11760: [, 230], 11761: [, 230], 11762: [, 230], 11763: [, 230], 11764: [, 230], 11765: [, 230], 11766: [, 230], 11767: [, 230], 11768: [, 230], 11769: [, 230], 11770: [, 230], 11771: [, 230], 11772: [, 230], 11773: [, 230], 11774: [, 230], 11775: [, 230] }, - 11776: { 11935: [[27597], 256], 12019: [[40863], 256] }, - 12032: { 12032: [[19968], 256], 12033: [[20008], 256], 12034: [[20022], 256], 12035: [[20031], 256], 12036: [[20057], 256], 12037: [[20101], 256], 12038: [[20108], 256], 12039: [[20128], 256], 12040: [[20154], 256], 12041: [[20799], 256], 12042: [[20837], 256], 12043: [[20843], 256], 12044: [[20866], 256], 12045: [[20886], 256], 12046: [[20907], 256], 12047: [[20960], 256], 12048: [[20981], 256], 12049: [[20992], 256], 12050: [[21147], 256], 12051: [[21241], 256], 12052: [[21269], 256], 12053: [[21274], 256], 12054: [[21304], 256], 12055: [[21313], 256], 12056: [[21340], 256], 12057: [[21353], 256], 12058: [[21378], 256], 12059: [[21430], 256], 12060: [[21448], 256], 12061: [[21475], 256], 12062: [[22231], 256], 12063: [[22303], 256], 12064: [[22763], 256], 12065: [[22786], 256], 12066: [[22794], 256], 12067: [[22805], 256], 12068: [[22823], 256], 12069: [[22899], 256], 12070: [[23376], 256], 12071: [[23424], 256], 12072: [[23544], 256], 12073: [[23567], 256], 12074: [[23586], 256], 12075: [[23608], 256], 12076: [[23662], 256], 12077: [[23665], 256], 12078: [[24027], 256], 12079: [[24037], 256], 12080: [[24049], 256], 12081: [[24062], 256], 12082: [[24178], 256], 12083: [[24186], 256], 12084: [[24191], 256], 12085: [[24308], 256], 12086: [[24318], 256], 12087: [[24331], 256], 12088: [[24339], 256], 12089: [[24400], 256], 12090: [[24417], 256], 12091: [[24435], 256], 12092: [[24515], 256], 12093: [[25096], 256], 12094: [[25142], 256], 12095: [[25163], 256], 12096: [[25903], 256], 12097: [[25908], 256], 12098: [[25991], 256], 12099: [[26007], 256], 12100: [[26020], 256], 12101: [[26041], 256], 12102: [[26080], 256], 12103: [[26085], 256], 12104: [[26352], 256], 12105: [[26376], 256], 12106: [[26408], 256], 12107: [[27424], 256], 12108: [[27490], 256], 12109: [[27513], 256], 12110: [[27571], 256], 12111: [[27595], 256], 12112: [[27604], 256], 12113: [[27611], 256], 12114: [[27663], 256], 12115: [[27668], 256], 12116: [[27700], 256], 12117: [[28779], 256], 12118: [[29226], 256], 12119: [[29238], 256], 12120: [[29243], 256], 12121: [[29247], 256], 12122: [[29255], 256], 12123: [[29273], 256], 12124: [[29275], 256], 12125: [[29356], 256], 12126: [[29572], 256], 12127: [[29577], 256], 12128: [[29916], 256], 12129: [[29926], 256], 12130: [[29976], 256], 12131: [[29983], 256], 12132: [[29992], 256], 12133: [[30000], 256], 12134: [[30091], 256], 12135: [[30098], 256], 12136: [[30326], 256], 12137: [[30333], 256], 12138: [[30382], 256], 12139: [[30399], 256], 12140: [[30446], 256], 12141: [[30683], 256], 12142: [[30690], 256], 12143: [[30707], 256], 12144: [[31034], 256], 12145: [[31160], 256], 12146: [[31166], 256], 12147: [[31348], 256], 12148: [[31435], 256], 12149: [[31481], 256], 12150: [[31859], 256], 12151: [[31992], 256], 12152: [[32566], 256], 12153: [[32593], 256], 12154: [[32650], 256], 12155: [[32701], 256], 12156: [[32769], 256], 12157: [[32780], 256], 12158: [[32786], 256], 12159: [[32819], 256], 12160: [[32895], 256], 12161: [[32905], 256], 12162: [[33251], 256], 12163: [[33258], 256], 12164: [[33267], 256], 12165: [[33276], 256], 12166: [[33292], 256], 12167: [[33307], 256], 12168: [[33311], 256], 12169: [[33390], 256], 12170: [[33394], 256], 12171: [[33400], 256], 12172: [[34381], 256], 12173: [[34411], 256], 12174: [[34880], 256], 12175: [[34892], 256], 12176: [[34915], 256], 12177: [[35198], 256], 12178: [[35211], 256], 12179: [[35282], 256], 12180: [[35328], 256], 12181: [[35895], 256], 12182: [[35910], 256], 12183: [[35925], 256], 12184: [[35960], 256], 12185: [[35997], 256], 12186: [[36196], 256], 12187: [[36208], 256], 12188: [[36275], 256], 12189: [[36523], 256], 12190: [[36554], 256], 12191: [[36763], 256], 12192: [[36784], 256], 12193: [[36789], 256], 12194: [[37009], 256], 12195: [[37193], 256], 12196: [[37318], 256], 12197: [[37324], 256], 12198: [[37329], 256], 12199: [[38263], 256], 12200: [[38272], 256], 12201: [[38428], 256], 12202: [[38582], 256], 12203: [[38585], 256], 12204: [[38632], 256], 12205: [[38737], 256], 12206: [[38750], 256], 12207: [[38754], 256], 12208: [[38761], 256], 12209: [[38859], 256], 12210: [[38893], 256], 12211: [[38899], 256], 12212: [[38913], 256], 12213: [[39080], 256], 12214: [[39131], 256], 12215: [[39135], 256], 12216: [[39318], 256], 12217: [[39321], 256], 12218: [[39340], 256], 12219: [[39592], 256], 12220: [[39640], 256], 12221: [[39647], 256], 12222: [[39717], 256], 12223: [[39727], 256], 12224: [[39730], 256], 12225: [[39740], 256], 12226: [[39770], 256], 12227: [[40165], 256], 12228: [[40565], 256], 12229: [[40575], 256], 12230: [[40613], 256], 12231: [[40635], 256], 12232: [[40643], 256], 12233: [[40653], 256], 12234: [[40657], 256], 12235: [[40697], 256], 12236: [[40701], 256], 12237: [[40718], 256], 12238: [[40723], 256], 12239: [[40736], 256], 12240: [[40763], 256], 12241: [[40778], 256], 12242: [[40786], 256], 12243: [[40845], 256], 12244: [[40860], 256], 12245: [[40864], 256] }, - 12288: { 12288: [[32], 256], 12330: [, 218], 12331: [, 228], 12332: [, 232], 12333: [, 222], 12334: [, 224], 12335: [, 224], 12342: [[12306], 256], 12344: [[21313], 256], 12345: [[21316], 256], 12346: [[21317], 256], 12358: [,, { 12441: 12436 }], 12363: [,, { 12441: 12364 }], 12364: [[12363, 12441]], 12365: [,, { 12441: 12366 }], 12366: [[12365, 12441]], 12367: [,, { 12441: 12368 }], 12368: [[12367, 12441]], 12369: [,, { 12441: 12370 }], 12370: [[12369, 12441]], 12371: [,, { 12441: 12372 }], 12372: [[12371, 12441]], 12373: [,, { 12441: 12374 }], 12374: [[12373, 12441]], 12375: [,, { 12441: 12376 }], 12376: [[12375, 12441]], 12377: [,, { 12441: 12378 }], 12378: [[12377, 12441]], 12379: [,, { 12441: 12380 }], 12380: [[12379, 12441]], 12381: [,, { 12441: 12382 }], 12382: [[12381, 12441]], 12383: [,, { 12441: 12384 }], 12384: [[12383, 12441]], 12385: [,, { 12441: 12386 }], 12386: [[12385, 12441]], 12388: [,, { 12441: 12389 }], 12389: [[12388, 12441]], 12390: [,, { 12441: 12391 }], 12391: [[12390, 12441]], 12392: [,, { 12441: 12393 }], 12393: [[12392, 12441]], 12399: [,, { 12441: 12400, 12442: 12401 }], 12400: [[12399, 12441]], 12401: [[12399, 12442]], 12402: [,, { 12441: 12403, 12442: 12404 }], 12403: [[12402, 12441]], 12404: [[12402, 12442]], 12405: [,, { 12441: 12406, 12442: 12407 }], 12406: [[12405, 12441]], 12407: [[12405, 12442]], 12408: [,, { 12441: 12409, 12442: 12410 }], 12409: [[12408, 12441]], 12410: [[12408, 12442]], 12411: [,, { 12441: 12412, 12442: 12413 }], 12412: [[12411, 12441]], 12413: [[12411, 12442]], 12436: [[12358, 12441]], 12441: [, 8], 12442: [, 8], 12443: [[32, 12441], 256], 12444: [[32, 12442], 256], 12445: [,, { 12441: 12446 }], 12446: [[12445, 12441]], 12447: [[12424, 12426], 256], 12454: [,, { 12441: 12532 }], 12459: [,, { 12441: 12460 }], 12460: [[12459, 12441]], 12461: [,, { 12441: 12462 }], 12462: [[12461, 12441]], 12463: [,, { 12441: 12464 }], 12464: [[12463, 12441]], 12465: [,, { 12441: 12466 }], 12466: [[12465, 12441]], 12467: [,, { 12441: 12468 }], 12468: [[12467, 12441]], 12469: [,, { 12441: 12470 }], 12470: [[12469, 12441]], 12471: [,, { 12441: 12472 }], 12472: [[12471, 12441]], 12473: [,, { 12441: 12474 }], 12474: [[12473, 12441]], 12475: [,, { 12441: 12476 }], 12476: [[12475, 12441]], 12477: [,, { 12441: 12478 }], 12478: [[12477, 12441]], 12479: [,, { 12441: 12480 }], 12480: [[12479, 12441]], 12481: [,, { 12441: 12482 }], 12482: [[12481, 12441]], 12484: [,, { 12441: 12485 }], 12485: [[12484, 12441]], 12486: [,, { 12441: 12487 }], 12487: [[12486, 12441]], 12488: [,, { 12441: 12489 }], 12489: [[12488, 12441]], 12495: [,, { 12441: 12496, 12442: 12497 }], 12496: [[12495, 12441]], 12497: [[12495, 12442]], 12498: [,, { 12441: 12499, 12442: 12500 }], 12499: [[12498, 12441]], 12500: [[12498, 12442]], 12501: [,, { 12441: 12502, 12442: 12503 }], 12502: [[12501, 12441]], 12503: [[12501, 12442]], 12504: [,, { 12441: 12505, 12442: 12506 }], 12505: [[12504, 12441]], 12506: [[12504, 12442]], 12507: [,, { 12441: 12508, 12442: 12509 }], 12508: [[12507, 12441]], 12509: [[12507, 12442]], 12527: [,, { 12441: 12535 }], 12528: [,, { 12441: 12536 }], 12529: [,, { 12441: 12537 }], 12530: [,, { 12441: 12538 }], 12532: [[12454, 12441]], 12535: [[12527, 12441]], 12536: [[12528, 12441]], 12537: [[12529, 12441]], 12538: [[12530, 12441]], 12541: [,, { 12441: 12542 }], 12542: [[12541, 12441]], 12543: [[12467, 12488], 256] }, - 12544: { 12593: [[4352], 256], 12594: [[4353], 256], 12595: [[4522], 256], 12596: [[4354], 256], 12597: [[4524], 256], 12598: [[4525], 256], 12599: [[4355], 256], 12600: [[4356], 256], 12601: [[4357], 256], 12602: [[4528], 256], 12603: [[4529], 256], 12604: [[4530], 256], 12605: [[4531], 256], 12606: [[4532], 256], 12607: [[4533], 256], 12608: [[4378], 256], 12609: [[4358], 256], 12610: [[4359], 256], 12611: [[4360], 256], 12612: [[4385], 256], 12613: [[4361], 256], 12614: [[4362], 256], 12615: [[4363], 256], 12616: [[4364], 256], 12617: [[4365], 256], 12618: [[4366], 256], 12619: [[4367], 256], 12620: [[4368], 256], 12621: [[4369], 256], 12622: [[4370], 256], 12623: [[4449], 256], 12624: [[4450], 256], 12625: [[4451], 256], 12626: [[4452], 256], 12627: [[4453], 256], 12628: [[4454], 256], 12629: [[4455], 256], 12630: [[4456], 256], 12631: [[4457], 256], 12632: [[4458], 256], 12633: [[4459], 256], 12634: [[4460], 256], 12635: [[4461], 256], 12636: [[4462], 256], 12637: [[4463], 256], 12638: [[4464], 256], 12639: [[4465], 256], 12640: [[4466], 256], 12641: [[4467], 256], 12642: [[4468], 256], 12643: [[4469], 256], 12644: [[4448], 256], 12645: [[4372], 256], 12646: [[4373], 256], 12647: [[4551], 256], 12648: [[4552], 256], 12649: [[4556], 256], 12650: [[4558], 256], 12651: [[4563], 256], 12652: [[4567], 256], 12653: [[4569], 256], 12654: [[4380], 256], 12655: [[4573], 256], 12656: [[4575], 256], 12657: [[4381], 256], 12658: [[4382], 256], 12659: [[4384], 256], 12660: [[4386], 256], 12661: [[4387], 256], 12662: [[4391], 256], 12663: [[4393], 256], 12664: [[4395], 256], 12665: [[4396], 256], 12666: [[4397], 256], 12667: [[4398], 256], 12668: [[4399], 256], 12669: [[4402], 256], 12670: [[4406], 256], 12671: [[4416], 256], 12672: [[4423], 256], 12673: [[4428], 256], 12674: [[4593], 256], 12675: [[4594], 256], 12676: [[4439], 256], 12677: [[4440], 256], 12678: [[4441], 256], 12679: [[4484], 256], 12680: [[4485], 256], 12681: [[4488], 256], 12682: [[4497], 256], 12683: [[4498], 256], 12684: [[4500], 256], 12685: [[4510], 256], 12686: [[4513], 256], 12690: [[19968], 256], 12691: [[20108], 256], 12692: [[19977], 256], 12693: [[22235], 256], 12694: [[19978], 256], 12695: [[20013], 256], 12696: [[19979], 256], 12697: [[30002], 256], 12698: [[20057], 256], 12699: [[19993], 256], 12700: [[19969], 256], 12701: [[22825], 256], 12702: [[22320], 256], 12703: [[20154], 256] }, - 12800: { 12800: [[40, 4352, 41], 256], 12801: [[40, 4354, 41], 256], 12802: [[40, 4355, 41], 256], 12803: [[40, 4357, 41], 256], 12804: [[40, 4358, 41], 256], 12805: [[40, 4359, 41], 256], 12806: [[40, 4361, 41], 256], 12807: [[40, 4363, 41], 256], 12808: [[40, 4364, 41], 256], 12809: [[40, 4366, 41], 256], 12810: [[40, 4367, 41], 256], 12811: [[40, 4368, 41], 256], 12812: [[40, 4369, 41], 256], 12813: [[40, 4370, 41], 256], 12814: [[40, 4352, 4449, 41], 256], 12815: [[40, 4354, 4449, 41], 256], 12816: [[40, 4355, 4449, 41], 256], 12817: [[40, 4357, 4449, 41], 256], 12818: [[40, 4358, 4449, 41], 256], 12819: [[40, 4359, 4449, 41], 256], 12820: [[40, 4361, 4449, 41], 256], 12821: [[40, 4363, 4449, 41], 256], 12822: [[40, 4364, 4449, 41], 256], 12823: [[40, 4366, 4449, 41], 256], 12824: [[40, 4367, 4449, 41], 256], 12825: [[40, 4368, 4449, 41], 256], 12826: [[40, 4369, 4449, 41], 256], 12827: [[40, 4370, 4449, 41], 256], 12828: [[40, 4364, 4462, 41], 256], 12829: [[40, 4363, 4457, 4364, 4453, 4523, 41], 256], 12830: [[40, 4363, 4457, 4370, 4462, 41], 256], 12832: [[40, 19968, 41], 256], 12833: [[40, 20108, 41], 256], 12834: [[40, 19977, 41], 256], 12835: [[40, 22235, 41], 256], 12836: [[40, 20116, 41], 256], 12837: [[40, 20845, 41], 256], 12838: [[40, 19971, 41], 256], 12839: [[40, 20843, 41], 256], 12840: [[40, 20061, 41], 256], 12841: [[40, 21313, 41], 256], 12842: [[40, 26376, 41], 256], 12843: [[40, 28779, 41], 256], 12844: [[40, 27700, 41], 256], 12845: [[40, 26408, 41], 256], 12846: [[40, 37329, 41], 256], 12847: [[40, 22303, 41], 256], 12848: [[40, 26085, 41], 256], 12849: [[40, 26666, 41], 256], 12850: [[40, 26377, 41], 256], 12851: [[40, 31038, 41], 256], 12852: [[40, 21517, 41], 256], 12853: [[40, 29305, 41], 256], 12854: [[40, 36001, 41], 256], 12855: [[40, 31069, 41], 256], 12856: [[40, 21172, 41], 256], 12857: [[40, 20195, 41], 256], 12858: [[40, 21628, 41], 256], 12859: [[40, 23398, 41], 256], 12860: [[40, 30435, 41], 256], 12861: [[40, 20225, 41], 256], 12862: [[40, 36039, 41], 256], 12863: [[40, 21332, 41], 256], 12864: [[40, 31085, 41], 256], 12865: [[40, 20241, 41], 256], 12866: [[40, 33258, 41], 256], 12867: [[40, 33267, 41], 256], 12868: [[21839], 256], 12869: [[24188], 256], 12870: [[25991], 256], 12871: [[31631], 256], 12880: [[80, 84, 69], 256], 12881: [[50, 49], 256], 12882: [[50, 50], 256], 12883: [[50, 51], 256], 12884: [[50, 52], 256], 12885: [[50, 53], 256], 12886: [[50, 54], 256], 12887: [[50, 55], 256], 12888: [[50, 56], 256], 12889: [[50, 57], 256], 12890: [[51, 48], 256], 12891: [[51, 49], 256], 12892: [[51, 50], 256], 12893: [[51, 51], 256], 12894: [[51, 52], 256], 12895: [[51, 53], 256], 12896: [[4352], 256], 12897: [[4354], 256], 12898: [[4355], 256], 12899: [[4357], 256], 12900: [[4358], 256], 12901: [[4359], 256], 12902: [[4361], 256], 12903: [[4363], 256], 12904: [[4364], 256], 12905: [[4366], 256], 12906: [[4367], 256], 12907: [[4368], 256], 12908: [[4369], 256], 12909: [[4370], 256], 12910: [[4352, 4449], 256], 12911: [[4354, 4449], 256], 12912: [[4355, 4449], 256], 12913: [[4357, 4449], 256], 12914: [[4358, 4449], 256], 12915: [[4359, 4449], 256], 12916: [[4361, 4449], 256], 12917: [[4363, 4449], 256], 12918: [[4364, 4449], 256], 12919: [[4366, 4449], 256], 12920: [[4367, 4449], 256], 12921: [[4368, 4449], 256], 12922: [[4369, 4449], 256], 12923: [[4370, 4449], 256], 12924: [[4366, 4449, 4535, 4352, 4457], 256], 12925: [[4364, 4462, 4363, 4468], 256], 12926: [[4363, 4462], 256], 12928: [[19968], 256], 12929: [[20108], 256], 12930: [[19977], 256], 12931: [[22235], 256], 12932: [[20116], 256], 12933: [[20845], 256], 12934: [[19971], 256], 12935: [[20843], 256], 12936: [[20061], 256], 12937: [[21313], 256], 12938: [[26376], 256], 12939: [[28779], 256], 12940: [[27700], 256], 12941: [[26408], 256], 12942: [[37329], 256], 12943: [[22303], 256], 12944: [[26085], 256], 12945: [[26666], 256], 12946: [[26377], 256], 12947: [[31038], 256], 12948: [[21517], 256], 12949: [[29305], 256], 12950: [[36001], 256], 12951: [[31069], 256], 12952: [[21172], 256], 12953: [[31192], 256], 12954: [[30007], 256], 12955: [[22899], 256], 12956: [[36969], 256], 12957: [[20778], 256], 12958: [[21360], 256], 12959: [[27880], 256], 12960: [[38917], 256], 12961: [[20241], 256], 12962: [[20889], 256], 12963: [[27491], 256], 12964: [[19978], 256], 12965: [[20013], 256], 12966: [[19979], 256], 12967: [[24038], 256], 12968: [[21491], 256], 12969: [[21307], 256], 12970: [[23447], 256], 12971: [[23398], 256], 12972: [[30435], 256], 12973: [[20225], 256], 12974: [[36039], 256], 12975: [[21332], 256], 12976: [[22812], 256], 12977: [[51, 54], 256], 12978: [[51, 55], 256], 12979: [[51, 56], 256], 12980: [[51, 57], 256], 12981: [[52, 48], 256], 12982: [[52, 49], 256], 12983: [[52, 50], 256], 12984: [[52, 51], 256], 12985: [[52, 52], 256], 12986: [[52, 53], 256], 12987: [[52, 54], 256], 12988: [[52, 55], 256], 12989: [[52, 56], 256], 12990: [[52, 57], 256], 12991: [[53, 48], 256], 12992: [[49, 26376], 256], 12993: [[50, 26376], 256], 12994: [[51, 26376], 256], 12995: [[52, 26376], 256], 12996: [[53, 26376], 256], 12997: [[54, 26376], 256], 12998: [[55, 26376], 256], 12999: [[56, 26376], 256], 13000: [[57, 26376], 256], 13001: [[49, 48, 26376], 256], 13002: [[49, 49, 26376], 256], 13003: [[49, 50, 26376], 256], 13004: [[72, 103], 256], 13005: [[101, 114, 103], 256], 13006: [[101, 86], 256], 13007: [[76, 84, 68], 256], 13008: [[12450], 256], 13009: [[12452], 256], 13010: [[12454], 256], 13011: [[12456], 256], 13012: [[12458], 256], 13013: [[12459], 256], 13014: [[12461], 256], 13015: [[12463], 256], 13016: [[12465], 256], 13017: [[12467], 256], 13018: [[12469], 256], 13019: [[12471], 256], 13020: [[12473], 256], 13021: [[12475], 256], 13022: [[12477], 256], 13023: [[12479], 256], 13024: [[12481], 256], 13025: [[12484], 256], 13026: [[12486], 256], 13027: [[12488], 256], 13028: [[12490], 256], 13029: [[12491], 256], 13030: [[12492], 256], 13031: [[12493], 256], 13032: [[12494], 256], 13033: [[12495], 256], 13034: [[12498], 256], 13035: [[12501], 256], 13036: [[12504], 256], 13037: [[12507], 256], 13038: [[12510], 256], 13039: [[12511], 256], 13040: [[12512], 256], 13041: [[12513], 256], 13042: [[12514], 256], 13043: [[12516], 256], 13044: [[12518], 256], 13045: [[12520], 256], 13046: [[12521], 256], 13047: [[12522], 256], 13048: [[12523], 256], 13049: [[12524], 256], 13050: [[12525], 256], 13051: [[12527], 256], 13052: [[12528], 256], 13053: [[12529], 256], 13054: [[12530], 256] }, - 13056: { 13056: [[12450, 12497, 12540, 12488], 256], 13057: [[12450, 12523, 12501, 12449], 256], 13058: [[12450, 12531, 12506, 12450], 256], 13059: [[12450, 12540, 12523], 256], 13060: [[12452, 12491, 12531, 12464], 256], 13061: [[12452, 12531, 12481], 256], 13062: [[12454, 12457, 12531], 256], 13063: [[12456, 12473, 12463, 12540, 12489], 256], 13064: [[12456, 12540, 12459, 12540], 256], 13065: [[12458, 12531, 12473], 256], 13066: [[12458, 12540, 12512], 256], 13067: [[12459, 12452, 12522], 256], 13068: [[12459, 12521, 12483, 12488], 256], 13069: [[12459, 12525, 12522, 12540], 256], 13070: [[12460, 12525, 12531], 256], 13071: [[12460, 12531, 12510], 256], 13072: [[12462, 12460], 256], 13073: [[12462, 12491, 12540], 256], 13074: [[12461, 12517, 12522, 12540], 256], 13075: [[12462, 12523, 12480, 12540], 256], 13076: [[12461, 12525], 256], 13077: [[12461, 12525, 12464, 12521, 12512], 256], 13078: [[12461, 12525, 12513, 12540, 12488, 12523], 256], 13079: [[12461, 12525, 12527, 12483, 12488], 256], 13080: [[12464, 12521, 12512], 256], 13081: [[12464, 12521, 12512, 12488, 12531], 256], 13082: [[12463, 12523, 12476, 12452, 12525], 256], 13083: [[12463, 12525, 12540, 12493], 256], 13084: [[12465, 12540, 12473], 256], 13085: [[12467, 12523, 12490], 256], 13086: [[12467, 12540, 12509], 256], 13087: [[12469, 12452, 12463, 12523], 256], 13088: [[12469, 12531, 12481, 12540, 12512], 256], 13089: [[12471, 12522, 12531, 12464], 256], 13090: [[12475, 12531, 12481], 256], 13091: [[12475, 12531, 12488], 256], 13092: [[12480, 12540, 12473], 256], 13093: [[12487, 12471], 256], 13094: [[12489, 12523], 256], 13095: [[12488, 12531], 256], 13096: [[12490, 12494], 256], 13097: [[12494, 12483, 12488], 256], 13098: [[12495, 12452, 12484], 256], 13099: [[12497, 12540, 12475, 12531, 12488], 256], 13100: [[12497, 12540, 12484], 256], 13101: [[12496, 12540, 12524, 12523], 256], 13102: [[12500, 12450, 12473, 12488, 12523], 256], 13103: [[12500, 12463, 12523], 256], 13104: [[12500, 12467], 256], 13105: [[12499, 12523], 256], 13106: [[12501, 12449, 12521, 12483, 12489], 256], 13107: [[12501, 12451, 12540, 12488], 256], 13108: [[12502, 12483, 12471, 12455, 12523], 256], 13109: [[12501, 12521, 12531], 256], 13110: [[12504, 12463, 12479, 12540, 12523], 256], 13111: [[12506, 12477], 256], 13112: [[12506, 12491, 12498], 256], 13113: [[12504, 12523, 12484], 256], 13114: [[12506, 12531, 12473], 256], 13115: [[12506, 12540, 12472], 256], 13116: [[12505, 12540, 12479], 256], 13117: [[12509, 12452, 12531, 12488], 256], 13118: [[12508, 12523, 12488], 256], 13119: [[12507, 12531], 256], 13120: [[12509, 12531, 12489], 256], 13121: [[12507, 12540, 12523], 256], 13122: [[12507, 12540, 12531], 256], 13123: [[12510, 12452, 12463, 12525], 256], 13124: [[12510, 12452, 12523], 256], 13125: [[12510, 12483, 12495], 256], 13126: [[12510, 12523, 12463], 256], 13127: [[12510, 12531, 12471, 12519, 12531], 256], 13128: [[12511, 12463, 12525, 12531], 256], 13129: [[12511, 12522], 256], 13130: [[12511, 12522, 12496, 12540, 12523], 256], 13131: [[12513, 12460], 256], 13132: [[12513, 12460, 12488, 12531], 256], 13133: [[12513, 12540, 12488, 12523], 256], 13134: [[12516, 12540, 12489], 256], 13135: [[12516, 12540, 12523], 256], 13136: [[12518, 12450, 12531], 256], 13137: [[12522, 12483, 12488, 12523], 256], 13138: [[12522, 12521], 256], 13139: [[12523, 12500, 12540], 256], 13140: [[12523, 12540, 12502, 12523], 256], 13141: [[12524, 12512], 256], 13142: [[12524, 12531, 12488, 12466, 12531], 256], 13143: [[12527, 12483, 12488], 256], 13144: [[48, 28857], 256], 13145: [[49, 28857], 256], 13146: [[50, 28857], 256], 13147: [[51, 28857], 256], 13148: [[52, 28857], 256], 13149: [[53, 28857], 256], 13150: [[54, 28857], 256], 13151: [[55, 28857], 256], 13152: [[56, 28857], 256], 13153: [[57, 28857], 256], 13154: [[49, 48, 28857], 256], 13155: [[49, 49, 28857], 256], 13156: [[49, 50, 28857], 256], 13157: [[49, 51, 28857], 256], 13158: [[49, 52, 28857], 256], 13159: [[49, 53, 28857], 256], 13160: [[49, 54, 28857], 256], 13161: [[49, 55, 28857], 256], 13162: [[49, 56, 28857], 256], 13163: [[49, 57, 28857], 256], 13164: [[50, 48, 28857], 256], 13165: [[50, 49, 28857], 256], 13166: [[50, 50, 28857], 256], 13167: [[50, 51, 28857], 256], 13168: [[50, 52, 28857], 256], 13169: [[104, 80, 97], 256], 13170: [[100, 97], 256], 13171: [[65, 85], 256], 13172: [[98, 97, 114], 256], 13173: [[111, 86], 256], 13174: [[112, 99], 256], 13175: [[100, 109], 256], 13176: [[100, 109, 178], 256], 13177: [[100, 109, 179], 256], 13178: [[73, 85], 256], 13179: [[24179, 25104], 256], 13180: [[26157, 21644], 256], 13181: [[22823, 27491], 256], 13182: [[26126, 27835], 256], 13183: [[26666, 24335, 20250, 31038], 256], 13184: [[112, 65], 256], 13185: [[110, 65], 256], 13186: [[956, 65], 256], 13187: [[109, 65], 256], 13188: [[107, 65], 256], 13189: [[75, 66], 256], 13190: [[77, 66], 256], 13191: [[71, 66], 256], 13192: [[99, 97, 108], 256], 13193: [[107, 99, 97, 108], 256], 13194: [[112, 70], 256], 13195: [[110, 70], 256], 13196: [[956, 70], 256], 13197: [[956, 103], 256], 13198: [[109, 103], 256], 13199: [[107, 103], 256], 13200: [[72, 122], 256], 13201: [[107, 72, 122], 256], 13202: [[77, 72, 122], 256], 13203: [[71, 72, 122], 256], 13204: [[84, 72, 122], 256], 13205: [[956, 8467], 256], 13206: [[109, 8467], 256], 13207: [[100, 8467], 256], 13208: [[107, 8467], 256], 13209: [[102, 109], 256], 13210: [[110, 109], 256], 13211: [[956, 109], 256], 13212: [[109, 109], 256], 13213: [[99, 109], 256], 13214: [[107, 109], 256], 13215: [[109, 109, 178], 256], 13216: [[99, 109, 178], 256], 13217: [[109, 178], 256], 13218: [[107, 109, 178], 256], 13219: [[109, 109, 179], 256], 13220: [[99, 109, 179], 256], 13221: [[109, 179], 256], 13222: [[107, 109, 179], 256], 13223: [[109, 8725, 115], 256], 13224: [[109, 8725, 115, 178], 256], 13225: [[80, 97], 256], 13226: [[107, 80, 97], 256], 13227: [[77, 80, 97], 256], 13228: [[71, 80, 97], 256], 13229: [[114, 97, 100], 256], 13230: [[114, 97, 100, 8725, 115], 256], 13231: [[114, 97, 100, 8725, 115, 178], 256], 13232: [[112, 115], 256], 13233: [[110, 115], 256], 13234: [[956, 115], 256], 13235: [[109, 115], 256], 13236: [[112, 86], 256], 13237: [[110, 86], 256], 13238: [[956, 86], 256], 13239: [[109, 86], 256], 13240: [[107, 86], 256], 13241: [[77, 86], 256], 13242: [[112, 87], 256], 13243: [[110, 87], 256], 13244: [[956, 87], 256], 13245: [[109, 87], 256], 13246: [[107, 87], 256], 13247: [[77, 87], 256], 13248: [[107, 937], 256], 13249: [[77, 937], 256], 13250: [[97, 46, 109, 46], 256], 13251: [[66, 113], 256], 13252: [[99, 99], 256], 13253: [[99, 100], 256], 13254: [[67, 8725, 107, 103], 256], 13255: [[67, 111, 46], 256], 13256: [[100, 66], 256], 13257: [[71, 121], 256], 13258: [[104, 97], 256], 13259: [[72, 80], 256], 13260: [[105, 110], 256], 13261: [[75, 75], 256], 13262: [[75, 77], 256], 13263: [[107, 116], 256], 13264: [[108, 109], 256], 13265: [[108, 110], 256], 13266: [[108, 111, 103], 256], 13267: [[108, 120], 256], 13268: [[109, 98], 256], 13269: [[109, 105, 108], 256], 13270: [[109, 111, 108], 256], 13271: [[80, 72], 256], 13272: [[112, 46, 109, 46], 256], 13273: [[80, 80, 77], 256], 13274: [[80, 82], 256], 13275: [[115, 114], 256], 13276: [[83, 118], 256], 13277: [[87, 98], 256], 13278: [[86, 8725, 109], 256], 13279: [[65, 8725, 109], 256], 13280: [[49, 26085], 256], 13281: [[50, 26085], 256], 13282: [[51, 26085], 256], 13283: [[52, 26085], 256], 13284: [[53, 26085], 256], 13285: [[54, 26085], 256], 13286: [[55, 26085], 256], 13287: [[56, 26085], 256], 13288: [[57, 26085], 256], 13289: [[49, 48, 26085], 256], 13290: [[49, 49, 26085], 256], 13291: [[49, 50, 26085], 256], 13292: [[49, 51, 26085], 256], 13293: [[49, 52, 26085], 256], 13294: [[49, 53, 26085], 256], 13295: [[49, 54, 26085], 256], 13296: [[49, 55, 26085], 256], 13297: [[49, 56, 26085], 256], 13298: [[49, 57, 26085], 256], 13299: [[50, 48, 26085], 256], 13300: [[50, 49, 26085], 256], 13301: [[50, 50, 26085], 256], 13302: [[50, 51, 26085], 256], 13303: [[50, 52, 26085], 256], 13304: [[50, 53, 26085], 256], 13305: [[50, 54, 26085], 256], 13306: [[50, 55, 26085], 256], 13307: [[50, 56, 26085], 256], 13308: [[50, 57, 26085], 256], 13309: [[51, 48, 26085], 256], 13310: [[51, 49, 26085], 256], 13311: [[103, 97, 108], 256] }, - 27136: { 92912: [, 1], 92913: [, 1], 92914: [, 1], 92915: [, 1], 92916: [, 1] }, - 27392: { 92976: [, 230], 92977: [, 230], 92978: [, 230], 92979: [, 230], 92980: [, 230], 92981: [, 230], 92982: [, 230] }, - 42496: { 42607: [, 230], 42612: [, 230], 42613: [, 230], 42614: [, 230], 42615: [, 230], 42616: [, 230], 42617: [, 230], 42618: [, 230], 42619: [, 230], 42620: [, 230], 42621: [, 230], 42652: [[1098], 256], 42653: [[1100], 256], 42655: [, 230], 42736: [, 230], 42737: [, 230] }, - 42752: { 42864: [[42863], 256], 43000: [[294], 256], 43001: [[339], 256] }, - 43008: { 43014: [, 9], 43204: [, 9], 43232: [, 230], 43233: [, 230], 43234: [, 230], 43235: [, 230], 43236: [, 230], 43237: [, 230], 43238: [, 230], 43239: [, 230], 43240: [, 230], 43241: [, 230], 43242: [, 230], 43243: [, 230], 43244: [, 230], 43245: [, 230], 43246: [, 230], 43247: [, 230], 43248: [, 230], 43249: [, 230] }, - 43264: { 43307: [, 220], 43308: [, 220], 43309: [, 220], 43347: [, 9], 43443: [, 7], 43456: [, 9] }, - 43520: { 43696: [, 230], 43698: [, 230], 43699: [, 230], 43700: [, 220], 43703: [, 230], 43704: [, 230], 43710: [, 230], 43711: [, 230], 43713: [, 230], 43766: [, 9] }, - 43776: { 43868: [[42791], 256], 43869: [[43831], 256], 43870: [[619], 256], 43871: [[43858], 256], 44013: [, 9] }, - 48128: { 113822: [, 1] }, - 53504: { 119134: [[119127, 119141], 512], 119135: [[119128, 119141], 512], 119136: [[119135, 119150], 512], 119137: [[119135, 119151], 512], 119138: [[119135, 119152], 512], 119139: [[119135, 119153], 512], 119140: [[119135, 119154], 512], 119141: [, 216], 119142: [, 216], 119143: [, 1], 119144: [, 1], 119145: [, 1], 119149: [, 226], 119150: [, 216], 119151: [, 216], 119152: [, 216], 119153: [, 216], 119154: [, 216], 119163: [, 220], 119164: [, 220], 119165: [, 220], 119166: [, 220], 119167: [, 220], 119168: [, 220], 119169: [, 220], 119170: [, 220], 119173: [, 230], 119174: [, 230], 119175: [, 230], 119176: [, 230], 119177: [, 230], 119178: [, 220], 119179: [, 220], 119210: [, 230], 119211: [, 230], 119212: [, 230], 119213: [, 230], 119227: [[119225, 119141], 512], 119228: [[119226, 119141], 512], 119229: [[119227, 119150], 512], 119230: [[119228, 119150], 512], 119231: [[119227, 119151], 512], 119232: [[119228, 119151], 512] }, - 53760: { 119362: [, 230], 119363: [, 230], 119364: [, 230] }, - 54272: { 119808: [[65], 256], 119809: [[66], 256], 119810: [[67], 256], 119811: [[68], 256], 119812: [[69], 256], 119813: [[70], 256], 119814: [[71], 256], 119815: [[72], 256], 119816: [[73], 256], 119817: [[74], 256], 119818: [[75], 256], 119819: [[76], 256], 119820: [[77], 256], 119821: [[78], 256], 119822: [[79], 256], 119823: [[80], 256], 119824: [[81], 256], 119825: [[82], 256], 119826: [[83], 256], 119827: [[84], 256], 119828: [[85], 256], 119829: [[86], 256], 119830: [[87], 256], 119831: [[88], 256], 119832: [[89], 256], 119833: [[90], 256], 119834: [[97], 256], 119835: [[98], 256], 119836: [[99], 256], 119837: [[100], 256], 119838: [[101], 256], 119839: [[102], 256], 119840: [[103], 256], 119841: [[104], 256], 119842: [[105], 256], 119843: [[106], 256], 119844: [[107], 256], 119845: [[108], 256], 119846: [[109], 256], 119847: [[110], 256], 119848: [[111], 256], 119849: [[112], 256], 119850: [[113], 256], 119851: [[114], 256], 119852: [[115], 256], 119853: [[116], 256], 119854: [[117], 256], 119855: [[118], 256], 119856: [[119], 256], 119857: [[120], 256], 119858: [[121], 256], 119859: [[122], 256], 119860: [[65], 256], 119861: [[66], 256], 119862: [[67], 256], 119863: [[68], 256], 119864: [[69], 256], 119865: [[70], 256], 119866: [[71], 256], 119867: [[72], 256], 119868: [[73], 256], 119869: [[74], 256], 119870: [[75], 256], 119871: [[76], 256], 119872: [[77], 256], 119873: [[78], 256], 119874: [[79], 256], 119875: [[80], 256], 119876: [[81], 256], 119877: [[82], 256], 119878: [[83], 256], 119879: [[84], 256], 119880: [[85], 256], 119881: [[86], 256], 119882: [[87], 256], 119883: [[88], 256], 119884: [[89], 256], 119885: [[90], 256], 119886: [[97], 256], 119887: [[98], 256], 119888: [[99], 256], 119889: [[100], 256], 119890: [[101], 256], 119891: [[102], 256], 119892: [[103], 256], 119894: [[105], 256], 119895: [[106], 256], 119896: [[107], 256], 119897: [[108], 256], 119898: [[109], 256], 119899: [[110], 256], 119900: [[111], 256], 119901: [[112], 256], 119902: [[113], 256], 119903: [[114], 256], 119904: [[115], 256], 119905: [[116], 256], 119906: [[117], 256], 119907: [[118], 256], 119908: [[119], 256], 119909: [[120], 256], 119910: [[121], 256], 119911: [[122], 256], 119912: [[65], 256], 119913: [[66], 256], 119914: [[67], 256], 119915: [[68], 256], 119916: [[69], 256], 119917: [[70], 256], 119918: [[71], 256], 119919: [[72], 256], 119920: [[73], 256], 119921: [[74], 256], 119922: [[75], 256], 119923: [[76], 256], 119924: [[77], 256], 119925: [[78], 256], 119926: [[79], 256], 119927: [[80], 256], 119928: [[81], 256], 119929: [[82], 256], 119930: [[83], 256], 119931: [[84], 256], 119932: [[85], 256], 119933: [[86], 256], 119934: [[87], 256], 119935: [[88], 256], 119936: [[89], 256], 119937: [[90], 256], 119938: [[97], 256], 119939: [[98], 256], 119940: [[99], 256], 119941: [[100], 256], 119942: [[101], 256], 119943: [[102], 256], 119944: [[103], 256], 119945: [[104], 256], 119946: [[105], 256], 119947: [[106], 256], 119948: [[107], 256], 119949: [[108], 256], 119950: [[109], 256], 119951: [[110], 256], 119952: [[111], 256], 119953: [[112], 256], 119954: [[113], 256], 119955: [[114], 256], 119956: [[115], 256], 119957: [[116], 256], 119958: [[117], 256], 119959: [[118], 256], 119960: [[119], 256], 119961: [[120], 256], 119962: [[121], 256], 119963: [[122], 256], 119964: [[65], 256], 119966: [[67], 256], 119967: [[68], 256], 119970: [[71], 256], 119973: [[74], 256], 119974: [[75], 256], 119977: [[78], 256], 119978: [[79], 256], 119979: [[80], 256], 119980: [[81], 256], 119982: [[83], 256], 119983: [[84], 256], 119984: [[85], 256], 119985: [[86], 256], 119986: [[87], 256], 119987: [[88], 256], 119988: [[89], 256], 119989: [[90], 256], 119990: [[97], 256], 119991: [[98], 256], 119992: [[99], 256], 119993: [[100], 256], 119995: [[102], 256], 119997: [[104], 256], 119998: [[105], 256], 119999: [[106], 256], 120000: [[107], 256], 120001: [[108], 256], 120002: [[109], 256], 120003: [[110], 256], 120005: [[112], 256], 120006: [[113], 256], 120007: [[114], 256], 120008: [[115], 256], 120009: [[116], 256], 120010: [[117], 256], 120011: [[118], 256], 120012: [[119], 256], 120013: [[120], 256], 120014: [[121], 256], 120015: [[122], 256], 120016: [[65], 256], 120017: [[66], 256], 120018: [[67], 256], 120019: [[68], 256], 120020: [[69], 256], 120021: [[70], 256], 120022: [[71], 256], 120023: [[72], 256], 120024: [[73], 256], 120025: [[74], 256], 120026: [[75], 256], 120027: [[76], 256], 120028: [[77], 256], 120029: [[78], 256], 120030: [[79], 256], 120031: [[80], 256], 120032: [[81], 256], 120033: [[82], 256], 120034: [[83], 256], 120035: [[84], 256], 120036: [[85], 256], 120037: [[86], 256], 120038: [[87], 256], 120039: [[88], 256], 120040: [[89], 256], 120041: [[90], 256], 120042: [[97], 256], 120043: [[98], 256], 120044: [[99], 256], 120045: [[100], 256], 120046: [[101], 256], 120047: [[102], 256], 120048: [[103], 256], 120049: [[104], 256], 120050: [[105], 256], 120051: [[106], 256], 120052: [[107], 256], 120053: [[108], 256], 120054: [[109], 256], 120055: [[110], 256], 120056: [[111], 256], 120057: [[112], 256], 120058: [[113], 256], 120059: [[114], 256], 120060: [[115], 256], 120061: [[116], 256], 120062: [[117], 256], 120063: [[118], 256] }, - 54528: { 120064: [[119], 256], 120065: [[120], 256], 120066: [[121], 256], 120067: [[122], 256], 120068: [[65], 256], 120069: [[66], 256], 120071: [[68], 256], 120072: [[69], 256], 120073: [[70], 256], 120074: [[71], 256], 120077: [[74], 256], 120078: [[75], 256], 120079: [[76], 256], 120080: [[77], 256], 120081: [[78], 256], 120082: [[79], 256], 120083: [[80], 256], 120084: [[81], 256], 120086: [[83], 256], 120087: [[84], 256], 120088: [[85], 256], 120089: [[86], 256], 120090: [[87], 256], 120091: [[88], 256], 120092: [[89], 256], 120094: [[97], 256], 120095: [[98], 256], 120096: [[99], 256], 120097: [[100], 256], 120098: [[101], 256], 120099: [[102], 256], 120100: [[103], 256], 120101: [[104], 256], 120102: [[105], 256], 120103: [[106], 256], 120104: [[107], 256], 120105: [[108], 256], 120106: [[109], 256], 120107: [[110], 256], 120108: [[111], 256], 120109: [[112], 256], 120110: [[113], 256], 120111: [[114], 256], 120112: [[115], 256], 120113: [[116], 256], 120114: [[117], 256], 120115: [[118], 256], 120116: [[119], 256], 120117: [[120], 256], 120118: [[121], 256], 120119: [[122], 256], 120120: [[65], 256], 120121: [[66], 256], 120123: [[68], 256], 120124: [[69], 256], 120125: [[70], 256], 120126: [[71], 256], 120128: [[73], 256], 120129: [[74], 256], 120130: [[75], 256], 120131: [[76], 256], 120132: [[77], 256], 120134: [[79], 256], 120138: [[83], 256], 120139: [[84], 256], 120140: [[85], 256], 120141: [[86], 256], 120142: [[87], 256], 120143: [[88], 256], 120144: [[89], 256], 120146: [[97], 256], 120147: [[98], 256], 120148: [[99], 256], 120149: [[100], 256], 120150: [[101], 256], 120151: [[102], 256], 120152: [[103], 256], 120153: [[104], 256], 120154: [[105], 256], 120155: [[106], 256], 120156: [[107], 256], 120157: [[108], 256], 120158: [[109], 256], 120159: [[110], 256], 120160: [[111], 256], 120161: [[112], 256], 120162: [[113], 256], 120163: [[114], 256], 120164: [[115], 256], 120165: [[116], 256], 120166: [[117], 256], 120167: [[118], 256], 120168: [[119], 256], 120169: [[120], 256], 120170: [[121], 256], 120171: [[122], 256], 120172: [[65], 256], 120173: [[66], 256], 120174: [[67], 256], 120175: [[68], 256], 120176: [[69], 256], 120177: [[70], 256], 120178: [[71], 256], 120179: [[72], 256], 120180: [[73], 256], 120181: [[74], 256], 120182: [[75], 256], 120183: [[76], 256], 120184: [[77], 256], 120185: [[78], 256], 120186: [[79], 256], 120187: [[80], 256], 120188: [[81], 256], 120189: [[82], 256], 120190: [[83], 256], 120191: [[84], 256], 120192: [[85], 256], 120193: [[86], 256], 120194: [[87], 256], 120195: [[88], 256], 120196: [[89], 256], 120197: [[90], 256], 120198: [[97], 256], 120199: [[98], 256], 120200: [[99], 256], 120201: [[100], 256], 120202: [[101], 256], 120203: [[102], 256], 120204: [[103], 256], 120205: [[104], 256], 120206: [[105], 256], 120207: [[106], 256], 120208: [[107], 256], 120209: [[108], 256], 120210: [[109], 256], 120211: [[110], 256], 120212: [[111], 256], 120213: [[112], 256], 120214: [[113], 256], 120215: [[114], 256], 120216: [[115], 256], 120217: [[116], 256], 120218: [[117], 256], 120219: [[118], 256], 120220: [[119], 256], 120221: [[120], 256], 120222: [[121], 256], 120223: [[122], 256], 120224: [[65], 256], 120225: [[66], 256], 120226: [[67], 256], 120227: [[68], 256], 120228: [[69], 256], 120229: [[70], 256], 120230: [[71], 256], 120231: [[72], 256], 120232: [[73], 256], 120233: [[74], 256], 120234: [[75], 256], 120235: [[76], 256], 120236: [[77], 256], 120237: [[78], 256], 120238: [[79], 256], 120239: [[80], 256], 120240: [[81], 256], 120241: [[82], 256], 120242: [[83], 256], 120243: [[84], 256], 120244: [[85], 256], 120245: [[86], 256], 120246: [[87], 256], 120247: [[88], 256], 120248: [[89], 256], 120249: [[90], 256], 120250: [[97], 256], 120251: [[98], 256], 120252: [[99], 256], 120253: [[100], 256], 120254: [[101], 256], 120255: [[102], 256], 120256: [[103], 256], 120257: [[104], 256], 120258: [[105], 256], 120259: [[106], 256], 120260: [[107], 256], 120261: [[108], 256], 120262: [[109], 256], 120263: [[110], 256], 120264: [[111], 256], 120265: [[112], 256], 120266: [[113], 256], 120267: [[114], 256], 120268: [[115], 256], 120269: [[116], 256], 120270: [[117], 256], 120271: [[118], 256], 120272: [[119], 256], 120273: [[120], 256], 120274: [[121], 256], 120275: [[122], 256], 120276: [[65], 256], 120277: [[66], 256], 120278: [[67], 256], 120279: [[68], 256], 120280: [[69], 256], 120281: [[70], 256], 120282: [[71], 256], 120283: [[72], 256], 120284: [[73], 256], 120285: [[74], 256], 120286: [[75], 256], 120287: [[76], 256], 120288: [[77], 256], 120289: [[78], 256], 120290: [[79], 256], 120291: [[80], 256], 120292: [[81], 256], 120293: [[82], 256], 120294: [[83], 256], 120295: [[84], 256], 120296: [[85], 256], 120297: [[86], 256], 120298: [[87], 256], 120299: [[88], 256], 120300: [[89], 256], 120301: [[90], 256], 120302: [[97], 256], 120303: [[98], 256], 120304: [[99], 256], 120305: [[100], 256], 120306: [[101], 256], 120307: [[102], 256], 120308: [[103], 256], 120309: [[104], 256], 120310: [[105], 256], 120311: [[106], 256], 120312: [[107], 256], 120313: [[108], 256], 120314: [[109], 256], 120315: [[110], 256], 120316: [[111], 256], 120317: [[112], 256], 120318: [[113], 256], 120319: [[114], 256] }, - 54784: { 120320: [[115], 256], 120321: [[116], 256], 120322: [[117], 256], 120323: [[118], 256], 120324: [[119], 256], 120325: [[120], 256], 120326: [[121], 256], 120327: [[122], 256], 120328: [[65], 256], 120329: [[66], 256], 120330: [[67], 256], 120331: [[68], 256], 120332: [[69], 256], 120333: [[70], 256], 120334: [[71], 256], 120335: [[72], 256], 120336: [[73], 256], 120337: [[74], 256], 120338: [[75], 256], 120339: [[76], 256], 120340: [[77], 256], 120341: [[78], 256], 120342: [[79], 256], 120343: [[80], 256], 120344: [[81], 256], 120345: [[82], 256], 120346: [[83], 256], 120347: [[84], 256], 120348: [[85], 256], 120349: [[86], 256], 120350: [[87], 256], 120351: [[88], 256], 120352: [[89], 256], 120353: [[90], 256], 120354: [[97], 256], 120355: [[98], 256], 120356: [[99], 256], 120357: [[100], 256], 120358: [[101], 256], 120359: [[102], 256], 120360: [[103], 256], 120361: [[104], 256], 120362: [[105], 256], 120363: [[106], 256], 120364: [[107], 256], 120365: [[108], 256], 120366: [[109], 256], 120367: [[110], 256], 120368: [[111], 256], 120369: [[112], 256], 120370: [[113], 256], 120371: [[114], 256], 120372: [[115], 256], 120373: [[116], 256], 120374: [[117], 256], 120375: [[118], 256], 120376: [[119], 256], 120377: [[120], 256], 120378: [[121], 256], 120379: [[122], 256], 120380: [[65], 256], 120381: [[66], 256], 120382: [[67], 256], 120383: [[68], 256], 120384: [[69], 256], 120385: [[70], 256], 120386: [[71], 256], 120387: [[72], 256], 120388: [[73], 256], 120389: [[74], 256], 120390: [[75], 256], 120391: [[76], 256], 120392: [[77], 256], 120393: [[78], 256], 120394: [[79], 256], 120395: [[80], 256], 120396: [[81], 256], 120397: [[82], 256], 120398: [[83], 256], 120399: [[84], 256], 120400: [[85], 256], 120401: [[86], 256], 120402: [[87], 256], 120403: [[88], 256], 120404: [[89], 256], 120405: [[90], 256], 120406: [[97], 256], 120407: [[98], 256], 120408: [[99], 256], 120409: [[100], 256], 120410: [[101], 256], 120411: [[102], 256], 120412: [[103], 256], 120413: [[104], 256], 120414: [[105], 256], 120415: [[106], 256], 120416: [[107], 256], 120417: [[108], 256], 120418: [[109], 256], 120419: [[110], 256], 120420: [[111], 256], 120421: [[112], 256], 120422: [[113], 256], 120423: [[114], 256], 120424: [[115], 256], 120425: [[116], 256], 120426: [[117], 256], 120427: [[118], 256], 120428: [[119], 256], 120429: [[120], 256], 120430: [[121], 256], 120431: [[122], 256], 120432: [[65], 256], 120433: [[66], 256], 120434: [[67], 256], 120435: [[68], 256], 120436: [[69], 256], 120437: [[70], 256], 120438: [[71], 256], 120439: [[72], 256], 120440: [[73], 256], 120441: [[74], 256], 120442: [[75], 256], 120443: [[76], 256], 120444: [[77], 256], 120445: [[78], 256], 120446: [[79], 256], 120447: [[80], 256], 120448: [[81], 256], 120449: [[82], 256], 120450: [[83], 256], 120451: [[84], 256], 120452: [[85], 256], 120453: [[86], 256], 120454: [[87], 256], 120455: [[88], 256], 120456: [[89], 256], 120457: [[90], 256], 120458: [[97], 256], 120459: [[98], 256], 120460: [[99], 256], 120461: [[100], 256], 120462: [[101], 256], 120463: [[102], 256], 120464: [[103], 256], 120465: [[104], 256], 120466: [[105], 256], 120467: [[106], 256], 120468: [[107], 256], 120469: [[108], 256], 120470: [[109], 256], 120471: [[110], 256], 120472: [[111], 256], 120473: [[112], 256], 120474: [[113], 256], 120475: [[114], 256], 120476: [[115], 256], 120477: [[116], 256], 120478: [[117], 256], 120479: [[118], 256], 120480: [[119], 256], 120481: [[120], 256], 120482: [[121], 256], 120483: [[122], 256], 120484: [[305], 256], 120485: [[567], 256], 120488: [[913], 256], 120489: [[914], 256], 120490: [[915], 256], 120491: [[916], 256], 120492: [[917], 256], 120493: [[918], 256], 120494: [[919], 256], 120495: [[920], 256], 120496: [[921], 256], 120497: [[922], 256], 120498: [[923], 256], 120499: [[924], 256], 120500: [[925], 256], 120501: [[926], 256], 120502: [[927], 256], 120503: [[928], 256], 120504: [[929], 256], 120505: [[1012], 256], 120506: [[931], 256], 120507: [[932], 256], 120508: [[933], 256], 120509: [[934], 256], 120510: [[935], 256], 120511: [[936], 256], 120512: [[937], 256], 120513: [[8711], 256], 120514: [[945], 256], 120515: [[946], 256], 120516: [[947], 256], 120517: [[948], 256], 120518: [[949], 256], 120519: [[950], 256], 120520: [[951], 256], 120521: [[952], 256], 120522: [[953], 256], 120523: [[954], 256], 120524: [[955], 256], 120525: [[956], 256], 120526: [[957], 256], 120527: [[958], 256], 120528: [[959], 256], 120529: [[960], 256], 120530: [[961], 256], 120531: [[962], 256], 120532: [[963], 256], 120533: [[964], 256], 120534: [[965], 256], 120535: [[966], 256], 120536: [[967], 256], 120537: [[968], 256], 120538: [[969], 256], 120539: [[8706], 256], 120540: [[1013], 256], 120541: [[977], 256], 120542: [[1008], 256], 120543: [[981], 256], 120544: [[1009], 256], 120545: [[982], 256], 120546: [[913], 256], 120547: [[914], 256], 120548: [[915], 256], 120549: [[916], 256], 120550: [[917], 256], 120551: [[918], 256], 120552: [[919], 256], 120553: [[920], 256], 120554: [[921], 256], 120555: [[922], 256], 120556: [[923], 256], 120557: [[924], 256], 120558: [[925], 256], 120559: [[926], 256], 120560: [[927], 256], 120561: [[928], 256], 120562: [[929], 256], 120563: [[1012], 256], 120564: [[931], 256], 120565: [[932], 256], 120566: [[933], 256], 120567: [[934], 256], 120568: [[935], 256], 120569: [[936], 256], 120570: [[937], 256], 120571: [[8711], 256], 120572: [[945], 256], 120573: [[946], 256], 120574: [[947], 256], 120575: [[948], 256] }, - 55040: { 120576: [[949], 256], 120577: [[950], 256], 120578: [[951], 256], 120579: [[952], 256], 120580: [[953], 256], 120581: [[954], 256], 120582: [[955], 256], 120583: [[956], 256], 120584: [[957], 256], 120585: [[958], 256], 120586: [[959], 256], 120587: [[960], 256], 120588: [[961], 256], 120589: [[962], 256], 120590: [[963], 256], 120591: [[964], 256], 120592: [[965], 256], 120593: [[966], 256], 120594: [[967], 256], 120595: [[968], 256], 120596: [[969], 256], 120597: [[8706], 256], 120598: [[1013], 256], 120599: [[977], 256], 120600: [[1008], 256], 120601: [[981], 256], 120602: [[1009], 256], 120603: [[982], 256], 120604: [[913], 256], 120605: [[914], 256], 120606: [[915], 256], 120607: [[916], 256], 120608: [[917], 256], 120609: [[918], 256], 120610: [[919], 256], 120611: [[920], 256], 120612: [[921], 256], 120613: [[922], 256], 120614: [[923], 256], 120615: [[924], 256], 120616: [[925], 256], 120617: [[926], 256], 120618: [[927], 256], 120619: [[928], 256], 120620: [[929], 256], 120621: [[1012], 256], 120622: [[931], 256], 120623: [[932], 256], 120624: [[933], 256], 120625: [[934], 256], 120626: [[935], 256], 120627: [[936], 256], 120628: [[937], 256], 120629: [[8711], 256], 120630: [[945], 256], 120631: [[946], 256], 120632: [[947], 256], 120633: [[948], 256], 120634: [[949], 256], 120635: [[950], 256], 120636: [[951], 256], 120637: [[952], 256], 120638: [[953], 256], 120639: [[954], 256], 120640: [[955], 256], 120641: [[956], 256], 120642: [[957], 256], 120643: [[958], 256], 120644: [[959], 256], 120645: [[960], 256], 120646: [[961], 256], 120647: [[962], 256], 120648: [[963], 256], 120649: [[964], 256], 120650: [[965], 256], 120651: [[966], 256], 120652: [[967], 256], 120653: [[968], 256], 120654: [[969], 256], 120655: [[8706], 256], 120656: [[1013], 256], 120657: [[977], 256], 120658: [[1008], 256], 120659: [[981], 256], 120660: [[1009], 256], 120661: [[982], 256], 120662: [[913], 256], 120663: [[914], 256], 120664: [[915], 256], 120665: [[916], 256], 120666: [[917], 256], 120667: [[918], 256], 120668: [[919], 256], 120669: [[920], 256], 120670: [[921], 256], 120671: [[922], 256], 120672: [[923], 256], 120673: [[924], 256], 120674: [[925], 256], 120675: [[926], 256], 120676: [[927], 256], 120677: [[928], 256], 120678: [[929], 256], 120679: [[1012], 256], 120680: [[931], 256], 120681: [[932], 256], 120682: [[933], 256], 120683: [[934], 256], 120684: [[935], 256], 120685: [[936], 256], 120686: [[937], 256], 120687: [[8711], 256], 120688: [[945], 256], 120689: [[946], 256], 120690: [[947], 256], 120691: [[948], 256], 120692: [[949], 256], 120693: [[950], 256], 120694: [[951], 256], 120695: [[952], 256], 120696: [[953], 256], 120697: [[954], 256], 120698: [[955], 256], 120699: [[956], 256], 120700: [[957], 256], 120701: [[958], 256], 120702: [[959], 256], 120703: [[960], 256], 120704: [[961], 256], 120705: [[962], 256], 120706: [[963], 256], 120707: [[964], 256], 120708: [[965], 256], 120709: [[966], 256], 120710: [[967], 256], 120711: [[968], 256], 120712: [[969], 256], 120713: [[8706], 256], 120714: [[1013], 256], 120715: [[977], 256], 120716: [[1008], 256], 120717: [[981], 256], 120718: [[1009], 256], 120719: [[982], 256], 120720: [[913], 256], 120721: [[914], 256], 120722: [[915], 256], 120723: [[916], 256], 120724: [[917], 256], 120725: [[918], 256], 120726: [[919], 256], 120727: [[920], 256], 120728: [[921], 256], 120729: [[922], 256], 120730: [[923], 256], 120731: [[924], 256], 120732: [[925], 256], 120733: [[926], 256], 120734: [[927], 256], 120735: [[928], 256], 120736: [[929], 256], 120737: [[1012], 256], 120738: [[931], 256], 120739: [[932], 256], 120740: [[933], 256], 120741: [[934], 256], 120742: [[935], 256], 120743: [[936], 256], 120744: [[937], 256], 120745: [[8711], 256], 120746: [[945], 256], 120747: [[946], 256], 120748: [[947], 256], 120749: [[948], 256], 120750: [[949], 256], 120751: [[950], 256], 120752: [[951], 256], 120753: [[952], 256], 120754: [[953], 256], 120755: [[954], 256], 120756: [[955], 256], 120757: [[956], 256], 120758: [[957], 256], 120759: [[958], 256], 120760: [[959], 256], 120761: [[960], 256], 120762: [[961], 256], 120763: [[962], 256], 120764: [[963], 256], 120765: [[964], 256], 120766: [[965], 256], 120767: [[966], 256], 120768: [[967], 256], 120769: [[968], 256], 120770: [[969], 256], 120771: [[8706], 256], 120772: [[1013], 256], 120773: [[977], 256], 120774: [[1008], 256], 120775: [[981], 256], 120776: [[1009], 256], 120777: [[982], 256], 120778: [[988], 256], 120779: [[989], 256], 120782: [[48], 256], 120783: [[49], 256], 120784: [[50], 256], 120785: [[51], 256], 120786: [[52], 256], 120787: [[53], 256], 120788: [[54], 256], 120789: [[55], 256], 120790: [[56], 256], 120791: [[57], 256], 120792: [[48], 256], 120793: [[49], 256], 120794: [[50], 256], 120795: [[51], 256], 120796: [[52], 256], 120797: [[53], 256], 120798: [[54], 256], 120799: [[55], 256], 120800: [[56], 256], 120801: [[57], 256], 120802: [[48], 256], 120803: [[49], 256], 120804: [[50], 256], 120805: [[51], 256], 120806: [[52], 256], 120807: [[53], 256], 120808: [[54], 256], 120809: [[55], 256], 120810: [[56], 256], 120811: [[57], 256], 120812: [[48], 256], 120813: [[49], 256], 120814: [[50], 256], 120815: [[51], 256], 120816: [[52], 256], 120817: [[53], 256], 120818: [[54], 256], 120819: [[55], 256], 120820: [[56], 256], 120821: [[57], 256], 120822: [[48], 256], 120823: [[49], 256], 120824: [[50], 256], 120825: [[51], 256], 120826: [[52], 256], 120827: [[53], 256], 120828: [[54], 256], 120829: [[55], 256], 120830: [[56], 256], 120831: [[57], 256] }, - 59392: { 125136: [, 220], 125137: [, 220], 125138: [, 220], 125139: [, 220], 125140: [, 220], 125141: [, 220], 125142: [, 220] }, - 60928: { 126464: [[1575], 256], 126465: [[1576], 256], 126466: [[1580], 256], 126467: [[1583], 256], 126469: [[1608], 256], 126470: [[1586], 256], 126471: [[1581], 256], 126472: [[1591], 256], 126473: [[1610], 256], 126474: [[1603], 256], 126475: [[1604], 256], 126476: [[1605], 256], 126477: [[1606], 256], 126478: [[1587], 256], 126479: [[1593], 256], 126480: [[1601], 256], 126481: [[1589], 256], 126482: [[1602], 256], 126483: [[1585], 256], 126484: [[1588], 256], 126485: [[1578], 256], 126486: [[1579], 256], 126487: [[1582], 256], 126488: [[1584], 256], 126489: [[1590], 256], 126490: [[1592], 256], 126491: [[1594], 256], 126492: [[1646], 256], 126493: [[1722], 256], 126494: [[1697], 256], 126495: [[1647], 256], 126497: [[1576], 256], 126498: [[1580], 256], 126500: [[1607], 256], 126503: [[1581], 256], 126505: [[1610], 256], 126506: [[1603], 256], 126507: [[1604], 256], 126508: [[1605], 256], 126509: [[1606], 256], 126510: [[1587], 256], 126511: [[1593], 256], 126512: [[1601], 256], 126513: [[1589], 256], 126514: [[1602], 256], 126516: [[1588], 256], 126517: [[1578], 256], 126518: [[1579], 256], 126519: [[1582], 256], 126521: [[1590], 256], 126523: [[1594], 256], 126530: [[1580], 256], 126535: [[1581], 256], 126537: [[1610], 256], 126539: [[1604], 256], 126541: [[1606], 256], 126542: [[1587], 256], 126543: [[1593], 256], 126545: [[1589], 256], 126546: [[1602], 256], 126548: [[1588], 256], 126551: [[1582], 256], 126553: [[1590], 256], 126555: [[1594], 256], 126557: [[1722], 256], 126559: [[1647], 256], 126561: [[1576], 256], 126562: [[1580], 256], 126564: [[1607], 256], 126567: [[1581], 256], 126568: [[1591], 256], 126569: [[1610], 256], 126570: [[1603], 256], 126572: [[1605], 256], 126573: [[1606], 256], 126574: [[1587], 256], 126575: [[1593], 256], 126576: [[1601], 256], 126577: [[1589], 256], 126578: [[1602], 256], 126580: [[1588], 256], 126581: [[1578], 256], 126582: [[1579], 256], 126583: [[1582], 256], 126585: [[1590], 256], 126586: [[1592], 256], 126587: [[1594], 256], 126588: [[1646], 256], 126590: [[1697], 256], 126592: [[1575], 256], 126593: [[1576], 256], 126594: [[1580], 256], 126595: [[1583], 256], 126596: [[1607], 256], 126597: [[1608], 256], 126598: [[1586], 256], 126599: [[1581], 256], 126600: [[1591], 256], 126601: [[1610], 256], 126603: [[1604], 256], 126604: [[1605], 256], 126605: [[1606], 256], 126606: [[1587], 256], 126607: [[1593], 256], 126608: [[1601], 256], 126609: [[1589], 256], 126610: [[1602], 256], 126611: [[1585], 256], 126612: [[1588], 256], 126613: [[1578], 256], 126614: [[1579], 256], 126615: [[1582], 256], 126616: [[1584], 256], 126617: [[1590], 256], 126618: [[1592], 256], 126619: [[1594], 256], 126625: [[1576], 256], 126626: [[1580], 256], 126627: [[1583], 256], 126629: [[1608], 256], 126630: [[1586], 256], 126631: [[1581], 256], 126632: [[1591], 256], 126633: [[1610], 256], 126635: [[1604], 256], 126636: [[1605], 256], 126637: [[1606], 256], 126638: [[1587], 256], 126639: [[1593], 256], 126640: [[1601], 256], 126641: [[1589], 256], 126642: [[1602], 256], 126643: [[1585], 256], 126644: [[1588], 256], 126645: [[1578], 256], 126646: [[1579], 256], 126647: [[1582], 256], 126648: [[1584], 256], 126649: [[1590], 256], 126650: [[1592], 256], 126651: [[1594], 256] }, - 61696: { 127232: [[48, 46], 256], 127233: [[48, 44], 256], 127234: [[49, 44], 256], 127235: [[50, 44], 256], 127236: [[51, 44], 256], 127237: [[52, 44], 256], 127238: [[53, 44], 256], 127239: [[54, 44], 256], 127240: [[55, 44], 256], 127241: [[56, 44], 256], 127242: [[57, 44], 256], 127248: [[40, 65, 41], 256], 127249: [[40, 66, 41], 256], 127250: [[40, 67, 41], 256], 127251: [[40, 68, 41], 256], 127252: [[40, 69, 41], 256], 127253: [[40, 70, 41], 256], 127254: [[40, 71, 41], 256], 127255: [[40, 72, 41], 256], 127256: [[40, 73, 41], 256], 127257: [[40, 74, 41], 256], 127258: [[40, 75, 41], 256], 127259: [[40, 76, 41], 256], 127260: [[40, 77, 41], 256], 127261: [[40, 78, 41], 256], 127262: [[40, 79, 41], 256], 127263: [[40, 80, 41], 256], 127264: [[40, 81, 41], 256], 127265: [[40, 82, 41], 256], 127266: [[40, 83, 41], 256], 127267: [[40, 84, 41], 256], 127268: [[40, 85, 41], 256], 127269: [[40, 86, 41], 256], 127270: [[40, 87, 41], 256], 127271: [[40, 88, 41], 256], 127272: [[40, 89, 41], 256], 127273: [[40, 90, 41], 256], 127274: [[12308, 83, 12309], 256], 127275: [[67], 256], 127276: [[82], 256], 127277: [[67, 68], 256], 127278: [[87, 90], 256], 127280: [[65], 256], 127281: [[66], 256], 127282: [[67], 256], 127283: [[68], 256], 127284: [[69], 256], 127285: [[70], 256], 127286: [[71], 256], 127287: [[72], 256], 127288: [[73], 256], 127289: [[74], 256], 127290: [[75], 256], 127291: [[76], 256], 127292: [[77], 256], 127293: [[78], 256], 127294: [[79], 256], 127295: [[80], 256], 127296: [[81], 256], 127297: [[82], 256], 127298: [[83], 256], 127299: [[84], 256], 127300: [[85], 256], 127301: [[86], 256], 127302: [[87], 256], 127303: [[88], 256], 127304: [[89], 256], 127305: [[90], 256], 127306: [[72, 86], 256], 127307: [[77, 86], 256], 127308: [[83, 68], 256], 127309: [[83, 83], 256], 127310: [[80, 80, 86], 256], 127311: [[87, 67], 256], 127338: [[77, 67], 256], 127339: [[77, 68], 256], 127376: [[68, 74], 256] }, - 61952: { 127488: [[12411, 12363], 256], 127489: [[12467, 12467], 256], 127490: [[12469], 256], 127504: [[25163], 256], 127505: [[23383], 256], 127506: [[21452], 256], 127507: [[12487], 256], 127508: [[20108], 256], 127509: [[22810], 256], 127510: [[35299], 256], 127511: [[22825], 256], 127512: [[20132], 256], 127513: [[26144], 256], 127514: [[28961], 256], 127515: [[26009], 256], 127516: [[21069], 256], 127517: [[24460], 256], 127518: [[20877], 256], 127519: [[26032], 256], 127520: [[21021], 256], 127521: [[32066], 256], 127522: [[29983], 256], 127523: [[36009], 256], 127524: [[22768], 256], 127525: [[21561], 256], 127526: [[28436], 256], 127527: [[25237], 256], 127528: [[25429], 256], 127529: [[19968], 256], 127530: [[19977], 256], 127531: [[36938], 256], 127532: [[24038], 256], 127533: [[20013], 256], 127534: [[21491], 256], 127535: [[25351], 256], 127536: [[36208], 256], 127537: [[25171], 256], 127538: [[31105], 256], 127539: [[31354], 256], 127540: [[21512], 256], 127541: [[28288], 256], 127542: [[26377], 256], 127543: [[26376], 256], 127544: [[30003], 256], 127545: [[21106], 256], 127546: [[21942], 256], 127552: [[12308, 26412, 12309], 256], 127553: [[12308, 19977, 12309], 256], 127554: [[12308, 20108, 12309], 256], 127555: [[12308, 23433, 12309], 256], 127556: [[12308, 28857, 12309], 256], 127557: [[12308, 25171, 12309], 256], 127558: [[12308, 30423, 12309], 256], 127559: [[12308, 21213, 12309], 256], 127560: [[12308, 25943, 12309], 256], 127568: [[24471], 256], 127569: [[21487], 256] }, - 63488: { 194560: [[20029]], 194561: [[20024]], 194562: [[20033]], 194563: [[131362]], 194564: [[20320]], 194565: [[20398]], 194566: [[20411]], 194567: [[20482]], 194568: [[20602]], 194569: [[20633]], 194570: [[20711]], 194571: [[20687]], 194572: [[13470]], 194573: [[132666]], 194574: [[20813]], 194575: [[20820]], 194576: [[20836]], 194577: [[20855]], 194578: [[132380]], 194579: [[13497]], 194580: [[20839]], 194581: [[20877]], 194582: [[132427]], 194583: [[20887]], 194584: [[20900]], 194585: [[20172]], 194586: [[20908]], 194587: [[20917]], 194588: [[168415]], 194589: [[20981]], 194590: [[20995]], 194591: [[13535]], 194592: [[21051]], 194593: [[21062]], 194594: [[21106]], 194595: [[21111]], 194596: [[13589]], 194597: [[21191]], 194598: [[21193]], 194599: [[21220]], 194600: [[21242]], 194601: [[21253]], 194602: [[21254]], 194603: [[21271]], 194604: [[21321]], 194605: [[21329]], 194606: [[21338]], 194607: [[21363]], 194608: [[21373]], 194609: [[21375]], 194610: [[21375]], 194611: [[21375]], 194612: [[133676]], 194613: [[28784]], 194614: [[21450]], 194615: [[21471]], 194616: [[133987]], 194617: [[21483]], 194618: [[21489]], 194619: [[21510]], 194620: [[21662]], 194621: [[21560]], 194622: [[21576]], 194623: [[21608]], 194624: [[21666]], 194625: [[21750]], 194626: [[21776]], 194627: [[21843]], 194628: [[21859]], 194629: [[21892]], 194630: [[21892]], 194631: [[21913]], 194632: [[21931]], 194633: [[21939]], 194634: [[21954]], 194635: [[22294]], 194636: [[22022]], 194637: [[22295]], 194638: [[22097]], 194639: [[22132]], 194640: [[20999]], 194641: [[22766]], 194642: [[22478]], 194643: [[22516]], 194644: [[22541]], 194645: [[22411]], 194646: [[22578]], 194647: [[22577]], 194648: [[22700]], 194649: [[136420]], 194650: [[22770]], 194651: [[22775]], 194652: [[22790]], 194653: [[22810]], 194654: [[22818]], 194655: [[22882]], 194656: [[136872]], 194657: [[136938]], 194658: [[23020]], 194659: [[23067]], 194660: [[23079]], 194661: [[23000]], 194662: [[23142]], 194663: [[14062]], 194664: [[14076]], 194665: [[23304]], 194666: [[23358]], 194667: [[23358]], 194668: [[137672]], 194669: [[23491]], 194670: [[23512]], 194671: [[23527]], 194672: [[23539]], 194673: [[138008]], 194674: [[23551]], 194675: [[23558]], 194676: [[24403]], 194677: [[23586]], 194678: [[14209]], 194679: [[23648]], 194680: [[23662]], 194681: [[23744]], 194682: [[23693]], 194683: [[138724]], 194684: [[23875]], 194685: [[138726]], 194686: [[23918]], 194687: [[23915]], 194688: [[23932]], 194689: [[24033]], 194690: [[24034]], 194691: [[14383]], 194692: [[24061]], 194693: [[24104]], 194694: [[24125]], 194695: [[24169]], 194696: [[14434]], 194697: [[139651]], 194698: [[14460]], 194699: [[24240]], 194700: [[24243]], 194701: [[24246]], 194702: [[24266]], 194703: [[172946]], 194704: [[24318]], 194705: [[140081]], 194706: [[140081]], 194707: [[33281]], 194708: [[24354]], 194709: [[24354]], 194710: [[14535]], 194711: [[144056]], 194712: [[156122]], 194713: [[24418]], 194714: [[24427]], 194715: [[14563]], 194716: [[24474]], 194717: [[24525]], 194718: [[24535]], 194719: [[24569]], 194720: [[24705]], 194721: [[14650]], 194722: [[14620]], 194723: [[24724]], 194724: [[141012]], 194725: [[24775]], 194726: [[24904]], 194727: [[24908]], 194728: [[24910]], 194729: [[24908]], 194730: [[24954]], 194731: [[24974]], 194732: [[25010]], 194733: [[24996]], 194734: [[25007]], 194735: [[25054]], 194736: [[25074]], 194737: [[25078]], 194738: [[25104]], 194739: [[25115]], 194740: [[25181]], 194741: [[25265]], 194742: [[25300]], 194743: [[25424]], 194744: [[142092]], 194745: [[25405]], 194746: [[25340]], 194747: [[25448]], 194748: [[25475]], 194749: [[25572]], 194750: [[142321]], 194751: [[25634]], 194752: [[25541]], 194753: [[25513]], 194754: [[14894]], 194755: [[25705]], 194756: [[25726]], 194757: [[25757]], 194758: [[25719]], 194759: [[14956]], 194760: [[25935]], 194761: [[25964]], 194762: [[143370]], 194763: [[26083]], 194764: [[26360]], 194765: [[26185]], 194766: [[15129]], 194767: [[26257]], 194768: [[15112]], 194769: [[15076]], 194770: [[20882]], 194771: [[20885]], 194772: [[26368]], 194773: [[26268]], 194774: [[32941]], 194775: [[17369]], 194776: [[26391]], 194777: [[26395]], 194778: [[26401]], 194779: [[26462]], 194780: [[26451]], 194781: [[144323]], 194782: [[15177]], 194783: [[26618]], 194784: [[26501]], 194785: [[26706]], 194786: [[26757]], 194787: [[144493]], 194788: [[26766]], 194789: [[26655]], 194790: [[26900]], 194791: [[15261]], 194792: [[26946]], 194793: [[27043]], 194794: [[27114]], 194795: [[27304]], 194796: [[145059]], 194797: [[27355]], 194798: [[15384]], 194799: [[27425]], 194800: [[145575]], 194801: [[27476]], 194802: [[15438]], 194803: [[27506]], 194804: [[27551]], 194805: [[27578]], 194806: [[27579]], 194807: [[146061]], 194808: [[138507]], 194809: [[146170]], 194810: [[27726]], 194811: [[146620]], 194812: [[27839]], 194813: [[27853]], 194814: [[27751]], 194815: [[27926]] }, - 63744: { 63744: [[35912]], 63745: [[26356]], 63746: [[36554]], 63747: [[36040]], 63748: [[28369]], 63749: [[20018]], 63750: [[21477]], 63751: [[40860]], 63752: [[40860]], 63753: [[22865]], 63754: [[37329]], 63755: [[21895]], 63756: [[22856]], 63757: [[25078]], 63758: [[30313]], 63759: [[32645]], 63760: [[34367]], 63761: [[34746]], 63762: [[35064]], 63763: [[37007]], 63764: [[27138]], 63765: [[27931]], 63766: [[28889]], 63767: [[29662]], 63768: [[33853]], 63769: [[37226]], 63770: [[39409]], 63771: [[20098]], 63772: [[21365]], 63773: [[27396]], 63774: [[29211]], 63775: [[34349]], 63776: [[40478]], 63777: [[23888]], 63778: [[28651]], 63779: [[34253]], 63780: [[35172]], 63781: [[25289]], 63782: [[33240]], 63783: [[34847]], 63784: [[24266]], 63785: [[26391]], 63786: [[28010]], 63787: [[29436]], 63788: [[37070]], 63789: [[20358]], 63790: [[20919]], 63791: [[21214]], 63792: [[25796]], 63793: [[27347]], 63794: [[29200]], 63795: [[30439]], 63796: [[32769]], 63797: [[34310]], 63798: [[34396]], 63799: [[36335]], 63800: [[38706]], 63801: [[39791]], 63802: [[40442]], 63803: [[30860]], 63804: [[31103]], 63805: [[32160]], 63806: [[33737]], 63807: [[37636]], 63808: [[40575]], 63809: [[35542]], 63810: [[22751]], 63811: [[24324]], 63812: [[31840]], 63813: [[32894]], 63814: [[29282]], 63815: [[30922]], 63816: [[36034]], 63817: [[38647]], 63818: [[22744]], 63819: [[23650]], 63820: [[27155]], 63821: [[28122]], 63822: [[28431]], 63823: [[32047]], 63824: [[32311]], 63825: [[38475]], 63826: [[21202]], 63827: [[32907]], 63828: [[20956]], 63829: [[20940]], 63830: [[31260]], 63831: [[32190]], 63832: [[33777]], 63833: [[38517]], 63834: [[35712]], 63835: [[25295]], 63836: [[27138]], 63837: [[35582]], 63838: [[20025]], 63839: [[23527]], 63840: [[24594]], 63841: [[29575]], 63842: [[30064]], 63843: [[21271]], 63844: [[30971]], 63845: [[20415]], 63846: [[24489]], 63847: [[19981]], 63848: [[27852]], 63849: [[25976]], 63850: [[32034]], 63851: [[21443]], 63852: [[22622]], 63853: [[30465]], 63854: [[33865]], 63855: [[35498]], 63856: [[27578]], 63857: [[36784]], 63858: [[27784]], 63859: [[25342]], 63860: [[33509]], 63861: [[25504]], 63862: [[30053]], 63863: [[20142]], 63864: [[20841]], 63865: [[20937]], 63866: [[26753]], 63867: [[31975]], 63868: [[33391]], 63869: [[35538]], 63870: [[37327]], 63871: [[21237]], 63872: [[21570]], 63873: [[22899]], 63874: [[24300]], 63875: [[26053]], 63876: [[28670]], 63877: [[31018]], 63878: [[38317]], 63879: [[39530]], 63880: [[40599]], 63881: [[40654]], 63882: [[21147]], 63883: [[26310]], 63884: [[27511]], 63885: [[36706]], 63886: [[24180]], 63887: [[24976]], 63888: [[25088]], 63889: [[25754]], 63890: [[28451]], 63891: [[29001]], 63892: [[29833]], 63893: [[31178]], 63894: [[32244]], 63895: [[32879]], 63896: [[36646]], 63897: [[34030]], 63898: [[36899]], 63899: [[37706]], 63900: [[21015]], 63901: [[21155]], 63902: [[21693]], 63903: [[28872]], 63904: [[35010]], 63905: [[35498]], 63906: [[24265]], 63907: [[24565]], 63908: [[25467]], 63909: [[27566]], 63910: [[31806]], 63911: [[29557]], 63912: [[20196]], 63913: [[22265]], 63914: [[23527]], 63915: [[23994]], 63916: [[24604]], 63917: [[29618]], 63918: [[29801]], 63919: [[32666]], 63920: [[32838]], 63921: [[37428]], 63922: [[38646]], 63923: [[38728]], 63924: [[38936]], 63925: [[20363]], 63926: [[31150]], 63927: [[37300]], 63928: [[38584]], 63929: [[24801]], 63930: [[20102]], 63931: [[20698]], 63932: [[23534]], 63933: [[23615]], 63934: [[26009]], 63935: [[27138]], 63936: [[29134]], 63937: [[30274]], 63938: [[34044]], 63939: [[36988]], 63940: [[40845]], 63941: [[26248]], 63942: [[38446]], 63943: [[21129]], 63944: [[26491]], 63945: [[26611]], 63946: [[27969]], 63947: [[28316]], 63948: [[29705]], 63949: [[30041]], 63950: [[30827]], 63951: [[32016]], 63952: [[39006]], 63953: [[20845]], 63954: [[25134]], 63955: [[38520]], 63956: [[20523]], 63957: [[23833]], 63958: [[28138]], 63959: [[36650]], 63960: [[24459]], 63961: [[24900]], 63962: [[26647]], 63963: [[29575]], 63964: [[38534]], 63965: [[21033]], 63966: [[21519]], 63967: [[23653]], 63968: [[26131]], 63969: [[26446]], 63970: [[26792]], 63971: [[27877]], 63972: [[29702]], 63973: [[30178]], 63974: [[32633]], 63975: [[35023]], 63976: [[35041]], 63977: [[37324]], 63978: [[38626]], 63979: [[21311]], 63980: [[28346]], 63981: [[21533]], 63982: [[29136]], 63983: [[29848]], 63984: [[34298]], 63985: [[38563]], 63986: [[40023]], 63987: [[40607]], 63988: [[26519]], 63989: [[28107]], 63990: [[33256]], 63991: [[31435]], 63992: [[31520]], 63993: [[31890]], 63994: [[29376]], 63995: [[28825]], 63996: [[35672]], 63997: [[20160]], 63998: [[33590]], 63999: [[21050]], 194816: [[27966]], 194817: [[28023]], 194818: [[27969]], 194819: [[28009]], 194820: [[28024]], 194821: [[28037]], 194822: [[146718]], 194823: [[27956]], 194824: [[28207]], 194825: [[28270]], 194826: [[15667]], 194827: [[28363]], 194828: [[28359]], 194829: [[147153]], 194830: [[28153]], 194831: [[28526]], 194832: [[147294]], 194833: [[147342]], 194834: [[28614]], 194835: [[28729]], 194836: [[28702]], 194837: [[28699]], 194838: [[15766]], 194839: [[28746]], 194840: [[28797]], 194841: [[28791]], 194842: [[28845]], 194843: [[132389]], 194844: [[28997]], 194845: [[148067]], 194846: [[29084]], 194847: [[148395]], 194848: [[29224]], 194849: [[29237]], 194850: [[29264]], 194851: [[149000]], 194852: [[29312]], 194853: [[29333]], 194854: [[149301]], 194855: [[149524]], 194856: [[29562]], 194857: [[29579]], 194858: [[16044]], 194859: [[29605]], 194860: [[16056]], 194861: [[16056]], 194862: [[29767]], 194863: [[29788]], 194864: [[29809]], 194865: [[29829]], 194866: [[29898]], 194867: [[16155]], 194868: [[29988]], 194869: [[150582]], 194870: [[30014]], 194871: [[150674]], 194872: [[30064]], 194873: [[139679]], 194874: [[30224]], 194875: [[151457]], 194876: [[151480]], 194877: [[151620]], 194878: [[16380]], 194879: [[16392]], 194880: [[30452]], 194881: [[151795]], 194882: [[151794]], 194883: [[151833]], 194884: [[151859]], 194885: [[30494]], 194886: [[30495]], 194887: [[30495]], 194888: [[30538]], 194889: [[16441]], 194890: [[30603]], 194891: [[16454]], 194892: [[16534]], 194893: [[152605]], 194894: [[30798]], 194895: [[30860]], 194896: [[30924]], 194897: [[16611]], 194898: [[153126]], 194899: [[31062]], 194900: [[153242]], 194901: [[153285]], 194902: [[31119]], 194903: [[31211]], 194904: [[16687]], 194905: [[31296]], 194906: [[31306]], 194907: [[31311]], 194908: [[153980]], 194909: [[154279]], 194910: [[154279]], 194911: [[31470]], 194912: [[16898]], 194913: [[154539]], 194914: [[31686]], 194915: [[31689]], 194916: [[16935]], 194917: [[154752]], 194918: [[31954]], 194919: [[17056]], 194920: [[31976]], 194921: [[31971]], 194922: [[32000]], 194923: [[155526]], 194924: [[32099]], 194925: [[17153]], 194926: [[32199]], 194927: [[32258]], 194928: [[32325]], 194929: [[17204]], 194930: [[156200]], 194931: [[156231]], 194932: [[17241]], 194933: [[156377]], 194934: [[32634]], 194935: [[156478]], 194936: [[32661]], 194937: [[32762]], 194938: [[32773]], 194939: [[156890]], 194940: [[156963]], 194941: [[32864]], 194942: [[157096]], 194943: [[32880]], 194944: [[144223]], 194945: [[17365]], 194946: [[32946]], 194947: [[33027]], 194948: [[17419]], 194949: [[33086]], 194950: [[23221]], 194951: [[157607]], 194952: [[157621]], 194953: [[144275]], 194954: [[144284]], 194955: [[33281]], 194956: [[33284]], 194957: [[36766]], 194958: [[17515]], 194959: [[33425]], 194960: [[33419]], 194961: [[33437]], 194962: [[21171]], 194963: [[33457]], 194964: [[33459]], 194965: [[33469]], 194966: [[33510]], 194967: [[158524]], 194968: [[33509]], 194969: [[33565]], 194970: [[33635]], 194971: [[33709]], 194972: [[33571]], 194973: [[33725]], 194974: [[33767]], 194975: [[33879]], 194976: [[33619]], 194977: [[33738]], 194978: [[33740]], 194979: [[33756]], 194980: [[158774]], 194981: [[159083]], 194982: [[158933]], 194983: [[17707]], 194984: [[34033]], 194985: [[34035]], 194986: [[34070]], 194987: [[160714]], 194988: [[34148]], 194989: [[159532]], 194990: [[17757]], 194991: [[17761]], 194992: [[159665]], 194993: [[159954]], 194994: [[17771]], 194995: [[34384]], 194996: [[34396]], 194997: [[34407]], 194998: [[34409]], 194999: [[34473]], 195000: [[34440]], 195001: [[34574]], 195002: [[34530]], 195003: [[34681]], 195004: [[34600]], 195005: [[34667]], 195006: [[34694]], 195007: [[17879]], 195008: [[34785]], 195009: [[34817]], 195010: [[17913]], 195011: [[34912]], 195012: [[34915]], 195013: [[161383]], 195014: [[35031]], 195015: [[35038]], 195016: [[17973]], 195017: [[35066]], 195018: [[13499]], 195019: [[161966]], 195020: [[162150]], 195021: [[18110]], 195022: [[18119]], 195023: [[35488]], 195024: [[35565]], 195025: [[35722]], 195026: [[35925]], 195027: [[162984]], 195028: [[36011]], 195029: [[36033]], 195030: [[36123]], 195031: [[36215]], 195032: [[163631]], 195033: [[133124]], 195034: [[36299]], 195035: [[36284]], 195036: [[36336]], 195037: [[133342]], 195038: [[36564]], 195039: [[36664]], 195040: [[165330]], 195041: [[165357]], 195042: [[37012]], 195043: [[37105]], 195044: [[37137]], 195045: [[165678]], 195046: [[37147]], 195047: [[37432]], 195048: [[37591]], 195049: [[37592]], 195050: [[37500]], 195051: [[37881]], 195052: [[37909]], 195053: [[166906]], 195054: [[38283]], 195055: [[18837]], 195056: [[38327]], 195057: [[167287]], 195058: [[18918]], 195059: [[38595]], 195060: [[23986]], 195061: [[38691]], 195062: [[168261]], 195063: [[168474]], 195064: [[19054]], 195065: [[19062]], 195066: [[38880]], 195067: [[168970]], 195068: [[19122]], 195069: [[169110]], 195070: [[38923]], 195071: [[38923]] }, - 64000: { 64000: [[20999]], 64001: [[24230]], 64002: [[25299]], 64003: [[31958]], 64004: [[23429]], 64005: [[27934]], 64006: [[26292]], 64007: [[36667]], 64008: [[34892]], 64009: [[38477]], 64010: [[35211]], 64011: [[24275]], 64012: [[20800]], 64013: [[21952]], 64016: [[22618]], 64018: [[26228]], 64021: [[20958]], 64022: [[29482]], 64023: [[30410]], 64024: [[31036]], 64025: [[31070]], 64026: [[31077]], 64027: [[31119]], 64028: [[38742]], 64029: [[31934]], 64030: [[32701]], 64032: [[34322]], 64034: [[35576]], 64037: [[36920]], 64038: [[37117]], 64042: [[39151]], 64043: [[39164]], 64044: [[39208]], 64045: [[40372]], 64046: [[37086]], 64047: [[38583]], 64048: [[20398]], 64049: [[20711]], 64050: [[20813]], 64051: [[21193]], 64052: [[21220]], 64053: [[21329]], 64054: [[21917]], 64055: [[22022]], 64056: [[22120]], 64057: [[22592]], 64058: [[22696]], 64059: [[23652]], 64060: [[23662]], 64061: [[24724]], 64062: [[24936]], 64063: [[24974]], 64064: [[25074]], 64065: [[25935]], 64066: [[26082]], 64067: [[26257]], 64068: [[26757]], 64069: [[28023]], 64070: [[28186]], 64071: [[28450]], 64072: [[29038]], 64073: [[29227]], 64074: [[29730]], 64075: [[30865]], 64076: [[31038]], 64077: [[31049]], 64078: [[31048]], 64079: [[31056]], 64080: [[31062]], 64081: [[31069]], 64082: [[31117]], 64083: [[31118]], 64084: [[31296]], 64085: [[31361]], 64086: [[31680]], 64087: [[32244]], 64088: [[32265]], 64089: [[32321]], 64090: [[32626]], 64091: [[32773]], 64092: [[33261]], 64093: [[33401]], 64094: [[33401]], 64095: [[33879]], 64096: [[35088]], 64097: [[35222]], 64098: [[35585]], 64099: [[35641]], 64100: [[36051]], 64101: [[36104]], 64102: [[36790]], 64103: [[36920]], 64104: [[38627]], 64105: [[38911]], 64106: [[38971]], 64107: [[24693]], 64108: [[148206]], 64109: [[33304]], 64112: [[20006]], 64113: [[20917]], 64114: [[20840]], 64115: [[20352]], 64116: [[20805]], 64117: [[20864]], 64118: [[21191]], 64119: [[21242]], 64120: [[21917]], 64121: [[21845]], 64122: [[21913]], 64123: [[21986]], 64124: [[22618]], 64125: [[22707]], 64126: [[22852]], 64127: [[22868]], 64128: [[23138]], 64129: [[23336]], 64130: [[24274]], 64131: [[24281]], 64132: [[24425]], 64133: [[24493]], 64134: [[24792]], 64135: [[24910]], 64136: [[24840]], 64137: [[24974]], 64138: [[24928]], 64139: [[25074]], 64140: [[25140]], 64141: [[25540]], 64142: [[25628]], 64143: [[25682]], 64144: [[25942]], 64145: [[26228]], 64146: [[26391]], 64147: [[26395]], 64148: [[26454]], 64149: [[27513]], 64150: [[27578]], 64151: [[27969]], 64152: [[28379]], 64153: [[28363]], 64154: [[28450]], 64155: [[28702]], 64156: [[29038]], 64157: [[30631]], 64158: [[29237]], 64159: [[29359]], 64160: [[29482]], 64161: [[29809]], 64162: [[29958]], 64163: [[30011]], 64164: [[30237]], 64165: [[30239]], 64166: [[30410]], 64167: [[30427]], 64168: [[30452]], 64169: [[30538]], 64170: [[30528]], 64171: [[30924]], 64172: [[31409]], 64173: [[31680]], 64174: [[31867]], 64175: [[32091]], 64176: [[32244]], 64177: [[32574]], 64178: [[32773]], 64179: [[33618]], 64180: [[33775]], 64181: [[34681]], 64182: [[35137]], 64183: [[35206]], 64184: [[35222]], 64185: [[35519]], 64186: [[35576]], 64187: [[35531]], 64188: [[35585]], 64189: [[35582]], 64190: [[35565]], 64191: [[35641]], 64192: [[35722]], 64193: [[36104]], 64194: [[36664]], 64195: [[36978]], 64196: [[37273]], 64197: [[37494]], 64198: [[38524]], 64199: [[38627]], 64200: [[38742]], 64201: [[38875]], 64202: [[38911]], 64203: [[38923]], 64204: [[38971]], 64205: [[39698]], 64206: [[40860]], 64207: [[141386]], 64208: [[141380]], 64209: [[144341]], 64210: [[15261]], 64211: [[16408]], 64212: [[16441]], 64213: [[152137]], 64214: [[154832]], 64215: [[163539]], 64216: [[40771]], 64217: [[40846]], 195072: [[38953]], 195073: [[169398]], 195074: [[39138]], 195075: [[19251]], 195076: [[39209]], 195077: [[39335]], 195078: [[39362]], 195079: [[39422]], 195080: [[19406]], 195081: [[170800]], 195082: [[39698]], 195083: [[40000]], 195084: [[40189]], 195085: [[19662]], 195086: [[19693]], 195087: [[40295]], 195088: [[172238]], 195089: [[19704]], 195090: [[172293]], 195091: [[172558]], 195092: [[172689]], 195093: [[40635]], 195094: [[19798]], 195095: [[40697]], 195096: [[40702]], 195097: [[40709]], 195098: [[40719]], 195099: [[40726]], 195100: [[40763]], 195101: [[173568]] }, - 64256: { 64256: [[102, 102], 256], 64257: [[102, 105], 256], 64258: [[102, 108], 256], 64259: [[102, 102, 105], 256], 64260: [[102, 102, 108], 256], 64261: [[383, 116], 256], 64262: [[115, 116], 256], 64275: [[1396, 1398], 256], 64276: [[1396, 1381], 256], 64277: [[1396, 1387], 256], 64278: [[1406, 1398], 256], 64279: [[1396, 1389], 256], 64285: [[1497, 1460], 512], 64286: [, 26], 64287: [[1522, 1463], 512], 64288: [[1506], 256], 64289: [[1488], 256], 64290: [[1491], 256], 64291: [[1492], 256], 64292: [[1499], 256], 64293: [[1500], 256], 64294: [[1501], 256], 64295: [[1512], 256], 64296: [[1514], 256], 64297: [[43], 256], 64298: [[1513, 1473], 512], 64299: [[1513, 1474], 512], 64300: [[64329, 1473], 512], 64301: [[64329, 1474], 512], 64302: [[1488, 1463], 512], 64303: [[1488, 1464], 512], 64304: [[1488, 1468], 512], 64305: [[1489, 1468], 512], 64306: [[1490, 1468], 512], 64307: [[1491, 1468], 512], 64308: [[1492, 1468], 512], 64309: [[1493, 1468], 512], 64310: [[1494, 1468], 512], 64312: [[1496, 1468], 512], 64313: [[1497, 1468], 512], 64314: [[1498, 1468], 512], 64315: [[1499, 1468], 512], 64316: [[1500, 1468], 512], 64318: [[1502, 1468], 512], 64320: [[1504, 1468], 512], 64321: [[1505, 1468], 512], 64323: [[1507, 1468], 512], 64324: [[1508, 1468], 512], 64326: [[1510, 1468], 512], 64327: [[1511, 1468], 512], 64328: [[1512, 1468], 512], 64329: [[1513, 1468], 512], 64330: [[1514, 1468], 512], 64331: [[1493, 1465], 512], 64332: [[1489, 1471], 512], 64333: [[1499, 1471], 512], 64334: [[1508, 1471], 512], 64335: [[1488, 1500], 256], 64336: [[1649], 256], 64337: [[1649], 256], 64338: [[1659], 256], 64339: [[1659], 256], 64340: [[1659], 256], 64341: [[1659], 256], 64342: [[1662], 256], 64343: [[1662], 256], 64344: [[1662], 256], 64345: [[1662], 256], 64346: [[1664], 256], 64347: [[1664], 256], 64348: [[1664], 256], 64349: [[1664], 256], 64350: [[1658], 256], 64351: [[1658], 256], 64352: [[1658], 256], 64353: [[1658], 256], 64354: [[1663], 256], 64355: [[1663], 256], 64356: [[1663], 256], 64357: [[1663], 256], 64358: [[1657], 256], 64359: [[1657], 256], 64360: [[1657], 256], 64361: [[1657], 256], 64362: [[1700], 256], 64363: [[1700], 256], 64364: [[1700], 256], 64365: [[1700], 256], 64366: [[1702], 256], 64367: [[1702], 256], 64368: [[1702], 256], 64369: [[1702], 256], 64370: [[1668], 256], 64371: [[1668], 256], 64372: [[1668], 256], 64373: [[1668], 256], 64374: [[1667], 256], 64375: [[1667], 256], 64376: [[1667], 256], 64377: [[1667], 256], 64378: [[1670], 256], 64379: [[1670], 256], 64380: [[1670], 256], 64381: [[1670], 256], 64382: [[1671], 256], 64383: [[1671], 256], 64384: [[1671], 256], 64385: [[1671], 256], 64386: [[1677], 256], 64387: [[1677], 256], 64388: [[1676], 256], 64389: [[1676], 256], 64390: [[1678], 256], 64391: [[1678], 256], 64392: [[1672], 256], 64393: [[1672], 256], 64394: [[1688], 256], 64395: [[1688], 256], 64396: [[1681], 256], 64397: [[1681], 256], 64398: [[1705], 256], 64399: [[1705], 256], 64400: [[1705], 256], 64401: [[1705], 256], 64402: [[1711], 256], 64403: [[1711], 256], 64404: [[1711], 256], 64405: [[1711], 256], 64406: [[1715], 256], 64407: [[1715], 256], 64408: [[1715], 256], 64409: [[1715], 256], 64410: [[1713], 256], 64411: [[1713], 256], 64412: [[1713], 256], 64413: [[1713], 256], 64414: [[1722], 256], 64415: [[1722], 256], 64416: [[1723], 256], 64417: [[1723], 256], 64418: [[1723], 256], 64419: [[1723], 256], 64420: [[1728], 256], 64421: [[1728], 256], 64422: [[1729], 256], 64423: [[1729], 256], 64424: [[1729], 256], 64425: [[1729], 256], 64426: [[1726], 256], 64427: [[1726], 256], 64428: [[1726], 256], 64429: [[1726], 256], 64430: [[1746], 256], 64431: [[1746], 256], 64432: [[1747], 256], 64433: [[1747], 256], 64467: [[1709], 256], 64468: [[1709], 256], 64469: [[1709], 256], 64470: [[1709], 256], 64471: [[1735], 256], 64472: [[1735], 256], 64473: [[1734], 256], 64474: [[1734], 256], 64475: [[1736], 256], 64476: [[1736], 256], 64477: [[1655], 256], 64478: [[1739], 256], 64479: [[1739], 256], 64480: [[1733], 256], 64481: [[1733], 256], 64482: [[1737], 256], 64483: [[1737], 256], 64484: [[1744], 256], 64485: [[1744], 256], 64486: [[1744], 256], 64487: [[1744], 256], 64488: [[1609], 256], 64489: [[1609], 256], 64490: [[1574, 1575], 256], 64491: [[1574, 1575], 256], 64492: [[1574, 1749], 256], 64493: [[1574, 1749], 256], 64494: [[1574, 1608], 256], 64495: [[1574, 1608], 256], 64496: [[1574, 1735], 256], 64497: [[1574, 1735], 256], 64498: [[1574, 1734], 256], 64499: [[1574, 1734], 256], 64500: [[1574, 1736], 256], 64501: [[1574, 1736], 256], 64502: [[1574, 1744], 256], 64503: [[1574, 1744], 256], 64504: [[1574, 1744], 256], 64505: [[1574, 1609], 256], 64506: [[1574, 1609], 256], 64507: [[1574, 1609], 256], 64508: [[1740], 256], 64509: [[1740], 256], 64510: [[1740], 256], 64511: [[1740], 256] }, - 64512: { 64512: [[1574, 1580], 256], 64513: [[1574, 1581], 256], 64514: [[1574, 1605], 256], 64515: [[1574, 1609], 256], 64516: [[1574, 1610], 256], 64517: [[1576, 1580], 256], 64518: [[1576, 1581], 256], 64519: [[1576, 1582], 256], 64520: [[1576, 1605], 256], 64521: [[1576, 1609], 256], 64522: [[1576, 1610], 256], 64523: [[1578, 1580], 256], 64524: [[1578, 1581], 256], 64525: [[1578, 1582], 256], 64526: [[1578, 1605], 256], 64527: [[1578, 1609], 256], 64528: [[1578, 1610], 256], 64529: [[1579, 1580], 256], 64530: [[1579, 1605], 256], 64531: [[1579, 1609], 256], 64532: [[1579, 1610], 256], 64533: [[1580, 1581], 256], 64534: [[1580, 1605], 256], 64535: [[1581, 1580], 256], 64536: [[1581, 1605], 256], 64537: [[1582, 1580], 256], 64538: [[1582, 1581], 256], 64539: [[1582, 1605], 256], 64540: [[1587, 1580], 256], 64541: [[1587, 1581], 256], 64542: [[1587, 1582], 256], 64543: [[1587, 1605], 256], 64544: [[1589, 1581], 256], 64545: [[1589, 1605], 256], 64546: [[1590, 1580], 256], 64547: [[1590, 1581], 256], 64548: [[1590, 1582], 256], 64549: [[1590, 1605], 256], 64550: [[1591, 1581], 256], 64551: [[1591, 1605], 256], 64552: [[1592, 1605], 256], 64553: [[1593, 1580], 256], 64554: [[1593, 1605], 256], 64555: [[1594, 1580], 256], 64556: [[1594, 1605], 256], 64557: [[1601, 1580], 256], 64558: [[1601, 1581], 256], 64559: [[1601, 1582], 256], 64560: [[1601, 1605], 256], 64561: [[1601, 1609], 256], 64562: [[1601, 1610], 256], 64563: [[1602, 1581], 256], 64564: [[1602, 1605], 256], 64565: [[1602, 1609], 256], 64566: [[1602, 1610], 256], 64567: [[1603, 1575], 256], 64568: [[1603, 1580], 256], 64569: [[1603, 1581], 256], 64570: [[1603, 1582], 256], 64571: [[1603, 1604], 256], 64572: [[1603, 1605], 256], 64573: [[1603, 1609], 256], 64574: [[1603, 1610], 256], 64575: [[1604, 1580], 256], 64576: [[1604, 1581], 256], 64577: [[1604, 1582], 256], 64578: [[1604, 1605], 256], 64579: [[1604, 1609], 256], 64580: [[1604, 1610], 256], 64581: [[1605, 1580], 256], 64582: [[1605, 1581], 256], 64583: [[1605, 1582], 256], 64584: [[1605, 1605], 256], 64585: [[1605, 1609], 256], 64586: [[1605, 1610], 256], 64587: [[1606, 1580], 256], 64588: [[1606, 1581], 256], 64589: [[1606, 1582], 256], 64590: [[1606, 1605], 256], 64591: [[1606, 1609], 256], 64592: [[1606, 1610], 256], 64593: [[1607, 1580], 256], 64594: [[1607, 1605], 256], 64595: [[1607, 1609], 256], 64596: [[1607, 1610], 256], 64597: [[1610, 1580], 256], 64598: [[1610, 1581], 256], 64599: [[1610, 1582], 256], 64600: [[1610, 1605], 256], 64601: [[1610, 1609], 256], 64602: [[1610, 1610], 256], 64603: [[1584, 1648], 256], 64604: [[1585, 1648], 256], 64605: [[1609, 1648], 256], 64606: [[32, 1612, 1617], 256], 64607: [[32, 1613, 1617], 256], 64608: [[32, 1614, 1617], 256], 64609: [[32, 1615, 1617], 256], 64610: [[32, 1616, 1617], 256], 64611: [[32, 1617, 1648], 256], 64612: [[1574, 1585], 256], 64613: [[1574, 1586], 256], 64614: [[1574, 1605], 256], 64615: [[1574, 1606], 256], 64616: [[1574, 1609], 256], 64617: [[1574, 1610], 256], 64618: [[1576, 1585], 256], 64619: [[1576, 1586], 256], 64620: [[1576, 1605], 256], 64621: [[1576, 1606], 256], 64622: [[1576, 1609], 256], 64623: [[1576, 1610], 256], 64624: [[1578, 1585], 256], 64625: [[1578, 1586], 256], 64626: [[1578, 1605], 256], 64627: [[1578, 1606], 256], 64628: [[1578, 1609], 256], 64629: [[1578, 1610], 256], 64630: [[1579, 1585], 256], 64631: [[1579, 1586], 256], 64632: [[1579, 1605], 256], 64633: [[1579, 1606], 256], 64634: [[1579, 1609], 256], 64635: [[1579, 1610], 256], 64636: [[1601, 1609], 256], 64637: [[1601, 1610], 256], 64638: [[1602, 1609], 256], 64639: [[1602, 1610], 256], 64640: [[1603, 1575], 256], 64641: [[1603, 1604], 256], 64642: [[1603, 1605], 256], 64643: [[1603, 1609], 256], 64644: [[1603, 1610], 256], 64645: [[1604, 1605], 256], 64646: [[1604, 1609], 256], 64647: [[1604, 1610], 256], 64648: [[1605, 1575], 256], 64649: [[1605, 1605], 256], 64650: [[1606, 1585], 256], 64651: [[1606, 1586], 256], 64652: [[1606, 1605], 256], 64653: [[1606, 1606], 256], 64654: [[1606, 1609], 256], 64655: [[1606, 1610], 256], 64656: [[1609, 1648], 256], 64657: [[1610, 1585], 256], 64658: [[1610, 1586], 256], 64659: [[1610, 1605], 256], 64660: [[1610, 1606], 256], 64661: [[1610, 1609], 256], 64662: [[1610, 1610], 256], 64663: [[1574, 1580], 256], 64664: [[1574, 1581], 256], 64665: [[1574, 1582], 256], 64666: [[1574, 1605], 256], 64667: [[1574, 1607], 256], 64668: [[1576, 1580], 256], 64669: [[1576, 1581], 256], 64670: [[1576, 1582], 256], 64671: [[1576, 1605], 256], 64672: [[1576, 1607], 256], 64673: [[1578, 1580], 256], 64674: [[1578, 1581], 256], 64675: [[1578, 1582], 256], 64676: [[1578, 1605], 256], 64677: [[1578, 1607], 256], 64678: [[1579, 1605], 256], 64679: [[1580, 1581], 256], 64680: [[1580, 1605], 256], 64681: [[1581, 1580], 256], 64682: [[1581, 1605], 256], 64683: [[1582, 1580], 256], 64684: [[1582, 1605], 256], 64685: [[1587, 1580], 256], 64686: [[1587, 1581], 256], 64687: [[1587, 1582], 256], 64688: [[1587, 1605], 256], 64689: [[1589, 1581], 256], 64690: [[1589, 1582], 256], 64691: [[1589, 1605], 256], 64692: [[1590, 1580], 256], 64693: [[1590, 1581], 256], 64694: [[1590, 1582], 256], 64695: [[1590, 1605], 256], 64696: [[1591, 1581], 256], 64697: [[1592, 1605], 256], 64698: [[1593, 1580], 256], 64699: [[1593, 1605], 256], 64700: [[1594, 1580], 256], 64701: [[1594, 1605], 256], 64702: [[1601, 1580], 256], 64703: [[1601, 1581], 256], 64704: [[1601, 1582], 256], 64705: [[1601, 1605], 256], 64706: [[1602, 1581], 256], 64707: [[1602, 1605], 256], 64708: [[1603, 1580], 256], 64709: [[1603, 1581], 256], 64710: [[1603, 1582], 256], 64711: [[1603, 1604], 256], 64712: [[1603, 1605], 256], 64713: [[1604, 1580], 256], 64714: [[1604, 1581], 256], 64715: [[1604, 1582], 256], 64716: [[1604, 1605], 256], 64717: [[1604, 1607], 256], 64718: [[1605, 1580], 256], 64719: [[1605, 1581], 256], 64720: [[1605, 1582], 256], 64721: [[1605, 1605], 256], 64722: [[1606, 1580], 256], 64723: [[1606, 1581], 256], 64724: [[1606, 1582], 256], 64725: [[1606, 1605], 256], 64726: [[1606, 1607], 256], 64727: [[1607, 1580], 256], 64728: [[1607, 1605], 256], 64729: [[1607, 1648], 256], 64730: [[1610, 1580], 256], 64731: [[1610, 1581], 256], 64732: [[1610, 1582], 256], 64733: [[1610, 1605], 256], 64734: [[1610, 1607], 256], 64735: [[1574, 1605], 256], 64736: [[1574, 1607], 256], 64737: [[1576, 1605], 256], 64738: [[1576, 1607], 256], 64739: [[1578, 1605], 256], 64740: [[1578, 1607], 256], 64741: [[1579, 1605], 256], 64742: [[1579, 1607], 256], 64743: [[1587, 1605], 256], 64744: [[1587, 1607], 256], 64745: [[1588, 1605], 256], 64746: [[1588, 1607], 256], 64747: [[1603, 1604], 256], 64748: [[1603, 1605], 256], 64749: [[1604, 1605], 256], 64750: [[1606, 1605], 256], 64751: [[1606, 1607], 256], 64752: [[1610, 1605], 256], 64753: [[1610, 1607], 256], 64754: [[1600, 1614, 1617], 256], 64755: [[1600, 1615, 1617], 256], 64756: [[1600, 1616, 1617], 256], 64757: [[1591, 1609], 256], 64758: [[1591, 1610], 256], 64759: [[1593, 1609], 256], 64760: [[1593, 1610], 256], 64761: [[1594, 1609], 256], 64762: [[1594, 1610], 256], 64763: [[1587, 1609], 256], 64764: [[1587, 1610], 256], 64765: [[1588, 1609], 256], 64766: [[1588, 1610], 256], 64767: [[1581, 1609], 256] }, - 64768: { 64768: [[1581, 1610], 256], 64769: [[1580, 1609], 256], 64770: [[1580, 1610], 256], 64771: [[1582, 1609], 256], 64772: [[1582, 1610], 256], 64773: [[1589, 1609], 256], 64774: [[1589, 1610], 256], 64775: [[1590, 1609], 256], 64776: [[1590, 1610], 256], 64777: [[1588, 1580], 256], 64778: [[1588, 1581], 256], 64779: [[1588, 1582], 256], 64780: [[1588, 1605], 256], 64781: [[1588, 1585], 256], 64782: [[1587, 1585], 256], 64783: [[1589, 1585], 256], 64784: [[1590, 1585], 256], 64785: [[1591, 1609], 256], 64786: [[1591, 1610], 256], 64787: [[1593, 1609], 256], 64788: [[1593, 1610], 256], 64789: [[1594, 1609], 256], 64790: [[1594, 1610], 256], 64791: [[1587, 1609], 256], 64792: [[1587, 1610], 256], 64793: [[1588, 1609], 256], 64794: [[1588, 1610], 256], 64795: [[1581, 1609], 256], 64796: [[1581, 1610], 256], 64797: [[1580, 1609], 256], 64798: [[1580, 1610], 256], 64799: [[1582, 1609], 256], 64800: [[1582, 1610], 256], 64801: [[1589, 1609], 256], 64802: [[1589, 1610], 256], 64803: [[1590, 1609], 256], 64804: [[1590, 1610], 256], 64805: [[1588, 1580], 256], 64806: [[1588, 1581], 256], 64807: [[1588, 1582], 256], 64808: [[1588, 1605], 256], 64809: [[1588, 1585], 256], 64810: [[1587, 1585], 256], 64811: [[1589, 1585], 256], 64812: [[1590, 1585], 256], 64813: [[1588, 1580], 256], 64814: [[1588, 1581], 256], 64815: [[1588, 1582], 256], 64816: [[1588, 1605], 256], 64817: [[1587, 1607], 256], 64818: [[1588, 1607], 256], 64819: [[1591, 1605], 256], 64820: [[1587, 1580], 256], 64821: [[1587, 1581], 256], 64822: [[1587, 1582], 256], 64823: [[1588, 1580], 256], 64824: [[1588, 1581], 256], 64825: [[1588, 1582], 256], 64826: [[1591, 1605], 256], 64827: [[1592, 1605], 256], 64828: [[1575, 1611], 256], 64829: [[1575, 1611], 256], 64848: [[1578, 1580, 1605], 256], 64849: [[1578, 1581, 1580], 256], 64850: [[1578, 1581, 1580], 256], 64851: [[1578, 1581, 1605], 256], 64852: [[1578, 1582, 1605], 256], 64853: [[1578, 1605, 1580], 256], 64854: [[1578, 1605, 1581], 256], 64855: [[1578, 1605, 1582], 256], 64856: [[1580, 1605, 1581], 256], 64857: [[1580, 1605, 1581], 256], 64858: [[1581, 1605, 1610], 256], 64859: [[1581, 1605, 1609], 256], 64860: [[1587, 1581, 1580], 256], 64861: [[1587, 1580, 1581], 256], 64862: [[1587, 1580, 1609], 256], 64863: [[1587, 1605, 1581], 256], 64864: [[1587, 1605, 1581], 256], 64865: [[1587, 1605, 1580], 256], 64866: [[1587, 1605, 1605], 256], 64867: [[1587, 1605, 1605], 256], 64868: [[1589, 1581, 1581], 256], 64869: [[1589, 1581, 1581], 256], 64870: [[1589, 1605, 1605], 256], 64871: [[1588, 1581, 1605], 256], 64872: [[1588, 1581, 1605], 256], 64873: [[1588, 1580, 1610], 256], 64874: [[1588, 1605, 1582], 256], 64875: [[1588, 1605, 1582], 256], 64876: [[1588, 1605, 1605], 256], 64877: [[1588, 1605, 1605], 256], 64878: [[1590, 1581, 1609], 256], 64879: [[1590, 1582, 1605], 256], 64880: [[1590, 1582, 1605], 256], 64881: [[1591, 1605, 1581], 256], 64882: [[1591, 1605, 1581], 256], 64883: [[1591, 1605, 1605], 256], 64884: [[1591, 1605, 1610], 256], 64885: [[1593, 1580, 1605], 256], 64886: [[1593, 1605, 1605], 256], 64887: [[1593, 1605, 1605], 256], 64888: [[1593, 1605, 1609], 256], 64889: [[1594, 1605, 1605], 256], 64890: [[1594, 1605, 1610], 256], 64891: [[1594, 1605, 1609], 256], 64892: [[1601, 1582, 1605], 256], 64893: [[1601, 1582, 1605], 256], 64894: [[1602, 1605, 1581], 256], 64895: [[1602, 1605, 1605], 256], 64896: [[1604, 1581, 1605], 256], 64897: [[1604, 1581, 1610], 256], 64898: [[1604, 1581, 1609], 256], 64899: [[1604, 1580, 1580], 256], 64900: [[1604, 1580, 1580], 256], 64901: [[1604, 1582, 1605], 256], 64902: [[1604, 1582, 1605], 256], 64903: [[1604, 1605, 1581], 256], 64904: [[1604, 1605, 1581], 256], 64905: [[1605, 1581, 1580], 256], 64906: [[1605, 1581, 1605], 256], 64907: [[1605, 1581, 1610], 256], 64908: [[1605, 1580, 1581], 256], 64909: [[1605, 1580, 1605], 256], 64910: [[1605, 1582, 1580], 256], 64911: [[1605, 1582, 1605], 256], 64914: [[1605, 1580, 1582], 256], 64915: [[1607, 1605, 1580], 256], 64916: [[1607, 1605, 1605], 256], 64917: [[1606, 1581, 1605], 256], 64918: [[1606, 1581, 1609], 256], 64919: [[1606, 1580, 1605], 256], 64920: [[1606, 1580, 1605], 256], 64921: [[1606, 1580, 1609], 256], 64922: [[1606, 1605, 1610], 256], 64923: [[1606, 1605, 1609], 256], 64924: [[1610, 1605, 1605], 256], 64925: [[1610, 1605, 1605], 256], 64926: [[1576, 1582, 1610], 256], 64927: [[1578, 1580, 1610], 256], 64928: [[1578, 1580, 1609], 256], 64929: [[1578, 1582, 1610], 256], 64930: [[1578, 1582, 1609], 256], 64931: [[1578, 1605, 1610], 256], 64932: [[1578, 1605, 1609], 256], 64933: [[1580, 1605, 1610], 256], 64934: [[1580, 1581, 1609], 256], 64935: [[1580, 1605, 1609], 256], 64936: [[1587, 1582, 1609], 256], 64937: [[1589, 1581, 1610], 256], 64938: [[1588, 1581, 1610], 256], 64939: [[1590, 1581, 1610], 256], 64940: [[1604, 1580, 1610], 256], 64941: [[1604, 1605, 1610], 256], 64942: [[1610, 1581, 1610], 256], 64943: [[1610, 1580, 1610], 256], 64944: [[1610, 1605, 1610], 256], 64945: [[1605, 1605, 1610], 256], 64946: [[1602, 1605, 1610], 256], 64947: [[1606, 1581, 1610], 256], 64948: [[1602, 1605, 1581], 256], 64949: [[1604, 1581, 1605], 256], 64950: [[1593, 1605, 1610], 256], 64951: [[1603, 1605, 1610], 256], 64952: [[1606, 1580, 1581], 256], 64953: [[1605, 1582, 1610], 256], 64954: [[1604, 1580, 1605], 256], 64955: [[1603, 1605, 1605], 256], 64956: [[1604, 1580, 1605], 256], 64957: [[1606, 1580, 1581], 256], 64958: [[1580, 1581, 1610], 256], 64959: [[1581, 1580, 1610], 256], 64960: [[1605, 1580, 1610], 256], 64961: [[1601, 1605, 1610], 256], 64962: [[1576, 1581, 1610], 256], 64963: [[1603, 1605, 1605], 256], 64964: [[1593, 1580, 1605], 256], 64965: [[1589, 1605, 1605], 256], 64966: [[1587, 1582, 1610], 256], 64967: [[1606, 1580, 1610], 256], 65008: [[1589, 1604, 1746], 256], 65009: [[1602, 1604, 1746], 256], 65010: [[1575, 1604, 1604, 1607], 256], 65011: [[1575, 1603, 1576, 1585], 256], 65012: [[1605, 1581, 1605, 1583], 256], 65013: [[1589, 1604, 1593, 1605], 256], 65014: [[1585, 1587, 1608, 1604], 256], 65015: [[1593, 1604, 1610, 1607], 256], 65016: [[1608, 1587, 1604, 1605], 256], 65017: [[1589, 1604, 1609], 256], 65018: [[1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605], 256], 65019: [[1580, 1604, 32, 1580, 1604, 1575, 1604, 1607], 256], 65020: [[1585, 1740, 1575, 1604], 256] }, - 65024: { 65040: [[44], 256], 65041: [[12289], 256], 65042: [[12290], 256], 65043: [[58], 256], 65044: [[59], 256], 65045: [[33], 256], 65046: [[63], 256], 65047: [[12310], 256], 65048: [[12311], 256], 65049: [[8230], 256], 65056: [, 230], 65057: [, 230], 65058: [, 230], 65059: [, 230], 65060: [, 230], 65061: [, 230], 65062: [, 230], 65063: [, 220], 65064: [, 220], 65065: [, 220], 65066: [, 220], 65067: [, 220], 65068: [, 220], 65069: [, 220], 65072: [[8229], 256], 65073: [[8212], 256], 65074: [[8211], 256], 65075: [[95], 256], 65076: [[95], 256], 65077: [[40], 256], 65078: [[41], 256], 65079: [[123], 256], 65080: [[125], 256], 65081: [[12308], 256], 65082: [[12309], 256], 65083: [[12304], 256], 65084: [[12305], 256], 65085: [[12298], 256], 65086: [[12299], 256], 65087: [[12296], 256], 65088: [[12297], 256], 65089: [[12300], 256], 65090: [[12301], 256], 65091: [[12302], 256], 65092: [[12303], 256], 65095: [[91], 256], 65096: [[93], 256], 65097: [[8254], 256], 65098: [[8254], 256], 65099: [[8254], 256], 65100: [[8254], 256], 65101: [[95], 256], 65102: [[95], 256], 65103: [[95], 256], 65104: [[44], 256], 65105: [[12289], 256], 65106: [[46], 256], 65108: [[59], 256], 65109: [[58], 256], 65110: [[63], 256], 65111: [[33], 256], 65112: [[8212], 256], 65113: [[40], 256], 65114: [[41], 256], 65115: [[123], 256], 65116: [[125], 256], 65117: [[12308], 256], 65118: [[12309], 256], 65119: [[35], 256], 65120: [[38], 256], 65121: [[42], 256], 65122: [[43], 256], 65123: [[45], 256], 65124: [[60], 256], 65125: [[62], 256], 65126: [[61], 256], 65128: [[92], 256], 65129: [[36], 256], 65130: [[37], 256], 65131: [[64], 256], 65136: [[32, 1611], 256], 65137: [[1600, 1611], 256], 65138: [[32, 1612], 256], 65140: [[32, 1613], 256], 65142: [[32, 1614], 256], 65143: [[1600, 1614], 256], 65144: [[32, 1615], 256], 65145: [[1600, 1615], 256], 65146: [[32, 1616], 256], 65147: [[1600, 1616], 256], 65148: [[32, 1617], 256], 65149: [[1600, 1617], 256], 65150: [[32, 1618], 256], 65151: [[1600, 1618], 256], 65152: [[1569], 256], 65153: [[1570], 256], 65154: [[1570], 256], 65155: [[1571], 256], 65156: [[1571], 256], 65157: [[1572], 256], 65158: [[1572], 256], 65159: [[1573], 256], 65160: [[1573], 256], 65161: [[1574], 256], 65162: [[1574], 256], 65163: [[1574], 256], 65164: [[1574], 256], 65165: [[1575], 256], 65166: [[1575], 256], 65167: [[1576], 256], 65168: [[1576], 256], 65169: [[1576], 256], 65170: [[1576], 256], 65171: [[1577], 256], 65172: [[1577], 256], 65173: [[1578], 256], 65174: [[1578], 256], 65175: [[1578], 256], 65176: [[1578], 256], 65177: [[1579], 256], 65178: [[1579], 256], 65179: [[1579], 256], 65180: [[1579], 256], 65181: [[1580], 256], 65182: [[1580], 256], 65183: [[1580], 256], 65184: [[1580], 256], 65185: [[1581], 256], 65186: [[1581], 256], 65187: [[1581], 256], 65188: [[1581], 256], 65189: [[1582], 256], 65190: [[1582], 256], 65191: [[1582], 256], 65192: [[1582], 256], 65193: [[1583], 256], 65194: [[1583], 256], 65195: [[1584], 256], 65196: [[1584], 256], 65197: [[1585], 256], 65198: [[1585], 256], 65199: [[1586], 256], 65200: [[1586], 256], 65201: [[1587], 256], 65202: [[1587], 256], 65203: [[1587], 256], 65204: [[1587], 256], 65205: [[1588], 256], 65206: [[1588], 256], 65207: [[1588], 256], 65208: [[1588], 256], 65209: [[1589], 256], 65210: [[1589], 256], 65211: [[1589], 256], 65212: [[1589], 256], 65213: [[1590], 256], 65214: [[1590], 256], 65215: [[1590], 256], 65216: [[1590], 256], 65217: [[1591], 256], 65218: [[1591], 256], 65219: [[1591], 256], 65220: [[1591], 256], 65221: [[1592], 256], 65222: [[1592], 256], 65223: [[1592], 256], 65224: [[1592], 256], 65225: [[1593], 256], 65226: [[1593], 256], 65227: [[1593], 256], 65228: [[1593], 256], 65229: [[1594], 256], 65230: [[1594], 256], 65231: [[1594], 256], 65232: [[1594], 256], 65233: [[1601], 256], 65234: [[1601], 256], 65235: [[1601], 256], 65236: [[1601], 256], 65237: [[1602], 256], 65238: [[1602], 256], 65239: [[1602], 256], 65240: [[1602], 256], 65241: [[1603], 256], 65242: [[1603], 256], 65243: [[1603], 256], 65244: [[1603], 256], 65245: [[1604], 256], 65246: [[1604], 256], 65247: [[1604], 256], 65248: [[1604], 256], 65249: [[1605], 256], 65250: [[1605], 256], 65251: [[1605], 256], 65252: [[1605], 256], 65253: [[1606], 256], 65254: [[1606], 256], 65255: [[1606], 256], 65256: [[1606], 256], 65257: [[1607], 256], 65258: [[1607], 256], 65259: [[1607], 256], 65260: [[1607], 256], 65261: [[1608], 256], 65262: [[1608], 256], 65263: [[1609], 256], 65264: [[1609], 256], 65265: [[1610], 256], 65266: [[1610], 256], 65267: [[1610], 256], 65268: [[1610], 256], 65269: [[1604, 1570], 256], 65270: [[1604, 1570], 256], 65271: [[1604, 1571], 256], 65272: [[1604, 1571], 256], 65273: [[1604, 1573], 256], 65274: [[1604, 1573], 256], 65275: [[1604, 1575], 256], 65276: [[1604, 1575], 256] }, - 65280: { 65281: [[33], 256], 65282: [[34], 256], 65283: [[35], 256], 65284: [[36], 256], 65285: [[37], 256], 65286: [[38], 256], 65287: [[39], 256], 65288: [[40], 256], 65289: [[41], 256], 65290: [[42], 256], 65291: [[43], 256], 65292: [[44], 256], 65293: [[45], 256], 65294: [[46], 256], 65295: [[47], 256], 65296: [[48], 256], 65297: [[49], 256], 65298: [[50], 256], 65299: [[51], 256], 65300: [[52], 256], 65301: [[53], 256], 65302: [[54], 256], 65303: [[55], 256], 65304: [[56], 256], 65305: [[57], 256], 65306: [[58], 256], 65307: [[59], 256], 65308: [[60], 256], 65309: [[61], 256], 65310: [[62], 256], 65311: [[63], 256], 65312: [[64], 256], 65313: [[65], 256], 65314: [[66], 256], 65315: [[67], 256], 65316: [[68], 256], 65317: [[69], 256], 65318: [[70], 256], 65319: [[71], 256], 65320: [[72], 256], 65321: [[73], 256], 65322: [[74], 256], 65323: [[75], 256], 65324: [[76], 256], 65325: [[77], 256], 65326: [[78], 256], 65327: [[79], 256], 65328: [[80], 256], 65329: [[81], 256], 65330: [[82], 256], 65331: [[83], 256], 65332: [[84], 256], 65333: [[85], 256], 65334: [[86], 256], 65335: [[87], 256], 65336: [[88], 256], 65337: [[89], 256], 65338: [[90], 256], 65339: [[91], 256], 65340: [[92], 256], 65341: [[93], 256], 65342: [[94], 256], 65343: [[95], 256], 65344: [[96], 256], 65345: [[97], 256], 65346: [[98], 256], 65347: [[99], 256], 65348: [[100], 256], 65349: [[101], 256], 65350: [[102], 256], 65351: [[103], 256], 65352: [[104], 256], 65353: [[105], 256], 65354: [[106], 256], 65355: [[107], 256], 65356: [[108], 256], 65357: [[109], 256], 65358: [[110], 256], 65359: [[111], 256], 65360: [[112], 256], 65361: [[113], 256], 65362: [[114], 256], 65363: [[115], 256], 65364: [[116], 256], 65365: [[117], 256], 65366: [[118], 256], 65367: [[119], 256], 65368: [[120], 256], 65369: [[121], 256], 65370: [[122], 256], 65371: [[123], 256], 65372: [[124], 256], 65373: [[125], 256], 65374: [[126], 256], 65375: [[10629], 256], 65376: [[10630], 256], 65377: [[12290], 256], 65378: [[12300], 256], 65379: [[12301], 256], 65380: [[12289], 256], 65381: [[12539], 256], 65382: [[12530], 256], 65383: [[12449], 256], 65384: [[12451], 256], 65385: [[12453], 256], 65386: [[12455], 256], 65387: [[12457], 256], 65388: [[12515], 256], 65389: [[12517], 256], 65390: [[12519], 256], 65391: [[12483], 256], 65392: [[12540], 256], 65393: [[12450], 256], 65394: [[12452], 256], 65395: [[12454], 256], 65396: [[12456], 256], 65397: [[12458], 256], 65398: [[12459], 256], 65399: [[12461], 256], 65400: [[12463], 256], 65401: [[12465], 256], 65402: [[12467], 256], 65403: [[12469], 256], 65404: [[12471], 256], 65405: [[12473], 256], 65406: [[12475], 256], 65407: [[12477], 256], 65408: [[12479], 256], 65409: [[12481], 256], 65410: [[12484], 256], 65411: [[12486], 256], 65412: [[12488], 256], 65413: [[12490], 256], 65414: [[12491], 256], 65415: [[12492], 256], 65416: [[12493], 256], 65417: [[12494], 256], 65418: [[12495], 256], 65419: [[12498], 256], 65420: [[12501], 256], 65421: [[12504], 256], 65422: [[12507], 256], 65423: [[12510], 256], 65424: [[12511], 256], 65425: [[12512], 256], 65426: [[12513], 256], 65427: [[12514], 256], 65428: [[12516], 256], 65429: [[12518], 256], 65430: [[12520], 256], 65431: [[12521], 256], 65432: [[12522], 256], 65433: [[12523], 256], 65434: [[12524], 256], 65435: [[12525], 256], 65436: [[12527], 256], 65437: [[12531], 256], 65438: [[12441], 256], 65439: [[12442], 256], 65440: [[12644], 256], 65441: [[12593], 256], 65442: [[12594], 256], 65443: [[12595], 256], 65444: [[12596], 256], 65445: [[12597], 256], 65446: [[12598], 256], 65447: [[12599], 256], 65448: [[12600], 256], 65449: [[12601], 256], 65450: [[12602], 256], 65451: [[12603], 256], 65452: [[12604], 256], 65453: [[12605], 256], 65454: [[12606], 256], 65455: [[12607], 256], 65456: [[12608], 256], 65457: [[12609], 256], 65458: [[12610], 256], 65459: [[12611], 256], 65460: [[12612], 256], 65461: [[12613], 256], 65462: [[12614], 256], 65463: [[12615], 256], 65464: [[12616], 256], 65465: [[12617], 256], 65466: [[12618], 256], 65467: [[12619], 256], 65468: [[12620], 256], 65469: [[12621], 256], 65470: [[12622], 256], 65474: [[12623], 256], 65475: [[12624], 256], 65476: [[12625], 256], 65477: [[12626], 256], 65478: [[12627], 256], 65479: [[12628], 256], 65482: [[12629], 256], 65483: [[12630], 256], 65484: [[12631], 256], 65485: [[12632], 256], 65486: [[12633], 256], 65487: [[12634], 256], 65490: [[12635], 256], 65491: [[12636], 256], 65492: [[12637], 256], 65493: [[12638], 256], 65494: [[12639], 256], 65495: [[12640], 256], 65498: [[12641], 256], 65499: [[12642], 256], 65500: [[12643], 256], 65504: [[162], 256], 65505: [[163], 256], 65506: [[172], 256], 65507: [[175], 256], 65508: [[166], 256], 65509: [[165], 256], 65510: [[8361], 256], 65512: [[9474], 256], 65513: [[8592], 256], 65514: [[8593], 256], 65515: [[8594], 256], 65516: [[8595], 256], 65517: [[9632], 256], 65518: [[9675], 256] } - - }; - - /***** Module to export */ - var unorm = { - nfc: nfc, - nfd: nfd, - nfkc: nfkc, - nfkd: nfkd - }; - - /*globals module:true,define:true*/ - - // CommonJS - if ((typeof module === "undefined" ? "undefined" : _typeof(module)) === "object") { - module.exports = unorm; - - // AMD - } else if (typeof define === "function" && define.amd) { - define("unorm", function () { - return unorm; - }); - - // Global - } else { - root.unorm = unorm; - } - - /***** Export as shim for String::normalize method *****/ - /* - http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#november_8_2013_draft_rev_21 - 21.1.3.12 String.prototype.normalize(form="NFC") - When the normalize method is called with one argument form, the following steps are taken: - 1. Let O be CheckObjectCoercible(this value). - 2. Let S be ToString(O). - 3. ReturnIfAbrupt(S). - 4. If form is not provided or undefined let form be "NFC". - 5. Let f be ToString(form). - 6. ReturnIfAbrupt(f). - 7. If f is not one of "NFC", "NFD", "NFKC", or "NFKD", then throw a RangeError Exception. - 8. Let ns be the String value is the result of normalizing S into the normalization form named by f as specified in Unicode Standard Annex #15, UnicodeNormalizatoin Forms. - 9. Return ns. - The length property of the normalize method is 0. - *NOTE* The normalize function is intentionally generic; it does not require that its this value be a String object. Therefore it can be transferred to other kinds of objects for use as a method. - */ - unorm.shimApplied = false; - - if (!String.prototype.normalize) { - String.prototype.normalize = function (form) { - var str = "" + this; - form = form === undefined ? "NFC" : form; - - if (form === "NFC") { - return unorm.nfc(str); - } else if (form === "NFD") { - return unorm.nfd(str); - } else if (form === "NFKC") { - return unorm.nfkc(str); - } else if (form === "NFKD") { - return unorm.nfkd(str); - } else { - throw new RangeError("Invalid normalization form: " + form); - } - }; - - unorm.shimApplied = true; - } -})(undefined); - -},{}],771:[function(require,module,exports){ -(function (global){ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/*! https://mths.be/utf8js v2.1.2 by @mathias */ -;(function (root) { - - // Detect free variables `exports` - var freeExports = (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) == 'object' && exports; - - // Detect free variable `module` - var freeModule = (typeof module === 'undefined' ? 'undefined' : _typeof(module)) == 'object' && module && module.exports == freeExports && module; - - // Detect free variable `global`, from Node.js or Browserified code, - // and use it as `root` - var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global; - if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { - root = freeGlobal; - } - - /*--------------------------------------------------------------------------*/ - - var stringFromCharCode = String.fromCharCode; - - // Taken from https://mths.be/punycode - function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - var value; - var extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - // Taken from https://mths.be/punycode - function ucs2encode(array) { - var length = array.length; - var index = -1; - var value; - var output = ''; - while (++index < length) { - value = array[index]; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - } - return output; - } - - function checkScalarValue(codePoint) { - if (codePoint >= 0xD800 && codePoint <= 0xDFFF) { - throw Error('Lone surrogate U+' + codePoint.toString(16).toUpperCase() + ' is not a scalar value'); - } - } - /*--------------------------------------------------------------------------*/ - - function createByte(codePoint, shift) { - return stringFromCharCode(codePoint >> shift & 0x3F | 0x80); - } - - function encodeCodePoint(codePoint) { - if ((codePoint & 0xFFFFFF80) == 0) { - // 1-byte sequence - return stringFromCharCode(codePoint); - } - var symbol = ''; - if ((codePoint & 0xFFFFF800) == 0) { - // 2-byte sequence - symbol = stringFromCharCode(codePoint >> 6 & 0x1F | 0xC0); - } else if ((codePoint & 0xFFFF0000) == 0) { - // 3-byte sequence - checkScalarValue(codePoint); - symbol = stringFromCharCode(codePoint >> 12 & 0x0F | 0xE0); - symbol += createByte(codePoint, 6); - } else if ((codePoint & 0xFFE00000) == 0) { - // 4-byte sequence - symbol = stringFromCharCode(codePoint >> 18 & 0x07 | 0xF0); - symbol += createByte(codePoint, 12); - symbol += createByte(codePoint, 6); - } - symbol += stringFromCharCode(codePoint & 0x3F | 0x80); - return symbol; - } - - function utf8encode(string) { - var codePoints = ucs2decode(string); - var length = codePoints.length; - var index = -1; - var codePoint; - var byteString = ''; - while (++index < length) { - codePoint = codePoints[index]; - byteString += encodeCodePoint(codePoint); - } - return byteString; - } - - /*--------------------------------------------------------------------------*/ - - function readContinuationByte() { - if (byteIndex >= byteCount) { - throw Error('Invalid byte index'); - } - - var continuationByte = byteArray[byteIndex] & 0xFF; - byteIndex++; - - if ((continuationByte & 0xC0) == 0x80) { - return continuationByte & 0x3F; - } - - // If we end up here, it’s not a continuation byte - throw Error('Invalid continuation byte'); - } - - function decodeSymbol() { - var byte1; - var byte2; - var byte3; - var byte4; - var codePoint; - - if (byteIndex > byteCount) { - throw Error('Invalid byte index'); - } - - if (byteIndex == byteCount) { - return false; - } - - // Read first byte - byte1 = byteArray[byteIndex] & 0xFF; - byteIndex++; - - // 1-byte sequence (no continuation bytes) - if ((byte1 & 0x80) == 0) { - return byte1; - } - - // 2-byte sequence - if ((byte1 & 0xE0) == 0xC0) { - byte2 = readContinuationByte(); - codePoint = (byte1 & 0x1F) << 6 | byte2; - if (codePoint >= 0x80) { - return codePoint; - } else { - throw Error('Invalid continuation byte'); - } - } - - // 3-byte sequence (may include unpaired surrogates) - if ((byte1 & 0xF0) == 0xE0) { - byte2 = readContinuationByte(); - byte3 = readContinuationByte(); - codePoint = (byte1 & 0x0F) << 12 | byte2 << 6 | byte3; - if (codePoint >= 0x0800) { - checkScalarValue(codePoint); - return codePoint; - } else { - throw Error('Invalid continuation byte'); - } - } - - // 4-byte sequence - if ((byte1 & 0xF8) == 0xF0) { - byte2 = readContinuationByte(); - byte3 = readContinuationByte(); - byte4 = readContinuationByte(); - codePoint = (byte1 & 0x07) << 0x12 | byte2 << 0x0C | byte3 << 0x06 | byte4; - if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) { - return codePoint; - } - } - - throw Error('Invalid UTF-8 detected'); - } - - var byteArray; - var byteCount; - var byteIndex; - function utf8decode(byteString) { - byteArray = ucs2decode(byteString); - byteCount = byteArray.length; - byteIndex = 0; - var codePoints = []; - var tmp; - while ((tmp = decodeSymbol()) !== false) { - codePoints.push(tmp); - } - return ucs2encode(codePoints); - } - - /*--------------------------------------------------------------------------*/ - - var utf8 = { - 'version': '2.1.2', - 'encode': utf8encode, - 'decode': utf8decode - }; - - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if (typeof define == 'function' && _typeof(define.amd) == 'object' && define.amd) { - define(function () { - return utf8; - }); - } else if (freeExports && !freeExports.nodeType) { - if (freeModule) { - // in Node.js or RingoJS v0.8.0+ - freeModule.exports = utf8; - } else { - // in Narwhal or RingoJS v0.7.0- - var object = {}; - var hasOwnProperty = object.hasOwnProperty; - for (var key in utf8) { - hasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]); - } - } - } else { - // in Rhino or a web browser - root.utf8 = utf8; - } -})(undefined); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],772:[function(require,module,exports){ -(function (global){ -'use strict'; - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate(fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config(name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],773:[function(require,module,exports){ -'use strict'; - -var v1 = require('./v1'); -var v4 = require('./v4'); - -var uuid = v4; -uuid.v1 = v1; -uuid.v4 = v4; - -module.exports = uuid; - -},{"./v1":776,"./v4":777}],774:[function(require,module,exports){ -'use strict'; - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex[i] = (i + 0x100).toString(16).substr(1); -} - -function bytesToUuid(buf, offset) { - var i = offset || 0; - var bth = byteToHex; - // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 - return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join(''); -} - -module.exports = bytesToUuid; - -},{}],775:[function(require,module,exports){ -'use strict'; - -// Unique ID creation requires a high quality random # generator. In the -// browser this is a little complicated due to unknown quality of Math.random() -// and inconsistent support for the `crypto` API. We do the best we can via -// feature-detection - -// getRandomValues needs to be invoked in a context where "this" is a Crypto -// implementation. Also, find the complete implementation of crypto on IE11. -var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto); - -if (getRandomValues) { - // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto - var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef - - module.exports = function whatwgRNG() { - getRandomValues(rnds8); - return rnds8; - }; -} else { - // Math.random()-based (RNG) - // - // If all else fails, use Math.random(). It's fast, but is of unspecified - // quality. - var rnds = new Array(16); - - module.exports = function mathRNG() { - for (var i = 0, r; i < 16; i++) { - if ((i & 0x03) === 0) r = Math.random() * 0x100000000; - rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; - } - - return rnds; - }; -} - -},{}],776:[function(require,module,exports){ -'use strict'; - -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -var _nodeId; -var _clockseq; - -// Previous uuid creation time -var _lastMSecs = 0; -var _lastNSecs = 0; - -// See https://github.com/broofa/node-uuid for API details -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || []; - - options = options || {}; - var node = options.node || _nodeId; - var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; - - // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - if (node == null || clockseq == null) { - var seedBytes = rng(); - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - } - } - - // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf ? buf : bytesToUuid(b); -} - -module.exports = v1; - -},{"./lib/bytesToUuid":774,"./lib/rng":775}],777:[function(require,module,exports){ -'use strict'; - -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -function v4(options, buf, offset) { - var i = buf && offset || 0; - - if (typeof options == 'string') { - buf = options === 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || bytesToUuid(rnds); -} - -module.exports = v4; - -},{"./lib/bytesToUuid":774,"./lib/rng":775}],778:[function(require,module,exports){ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var indexOf = require('indexof'); - -var Object_keys = function Object_keys(obj) { - if (Object.keys) return Object.keys(obj);else { - var res = []; - for (var key in obj) { - res.push(key); - }return res; - } -}; - -var forEach = function forEach(xs, fn) { - if (xs.forEach) return xs.forEach(fn);else for (var i = 0; i < xs.length; i++) { - fn(xs[i], i, xs); - } -}; - -var defineProp = function () { - try { - Object.defineProperty({}, '_', {}); - return function (obj, name, value) { - Object.defineProperty(obj, name, { - writable: true, - enumerable: false, - configurable: true, - value: value - }); - }; - } catch (e) { - return function (obj, name, value) { - obj[name] = value; - }; - } -}(); - -var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function', 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError', 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape']; - -function Context() {} -Context.prototype = {}; - -var Script = exports.Script = function NodeScript(code) { - if (!(this instanceof Script)) return new Script(code); - this.code = code; -}; - -Script.prototype.runInContext = function (context) { - if (!(context instanceof Context)) { - throw new TypeError("needs a 'context' argument."); - } - - var iframe = document.createElement('iframe'); - if (!iframe.style) iframe.style = {}; - iframe.style.display = 'none'; - - document.body.appendChild(iframe); - - var win = iframe.contentWindow; - var wEval = win.eval, - wExecScript = win.execScript; - - if (!wEval && wExecScript) { - // win.eval() magically appears when this is called in IE: - wExecScript.call(win, 'null'); - wEval = win.eval; - } - - forEach(Object_keys(context), function (key) { - win[key] = context[key]; - }); - forEach(globals, function (key) { - if (context[key]) { - win[key] = context[key]; - } - }); - - var winKeys = Object_keys(win); - - var res = wEval.call(win, this.code); - - forEach(Object_keys(win), function (key) { - // Avoid copying circular objects like `top` and `window` by only - // updating existing context properties or new properties in the `win` - // that was only introduced after the eval. - if (key in context || indexOf(winKeys, key) === -1) { - context[key] = win[key]; - } - }); - - forEach(globals, function (key) { - if (!(key in context)) { - defineProp(context, key, win[key]); - } - }); - - document.body.removeChild(iframe); - - return res; -}; - -Script.prototype.runInThisContext = function () { - return eval(this.code); // maybe... -}; - -Script.prototype.runInNewContext = function (context) { - var ctx = Script.createContext(context); - var res = this.runInContext(ctx); - - forEach(Object_keys(ctx), function (key) { - context[key] = ctx[key]; - }); - - return res; -}; - -forEach(Object_keys(Script.prototype), function (name) { - exports[name] = Script[name] = function (code) { - var s = Script(code); - return s[name].apply(s, [].slice.call(arguments, 1)); - }; -}); - -exports.createScript = function (code) { - return exports.Script(code); -}; - -exports.createContext = Script.createContext = function (context) { - var copy = new Context(); - if ((typeof context === 'undefined' ? 'undefined' : _typeof(context)) === 'object') { - forEach(Object_keys(context), function (key) { - copy[key] = context[key]; - }); - } - return copy; -}; - -},{"indexof":670}],779:[function(require,module,exports){ -'use strict'; - -// Base58 encoding/decoding -// Originally written by Mike Hearn for BitcoinJ -// Copyright (c) 2011 Google Inc -// Ported to JavaScript by Stefan Thomas -// Merged Buffer refactorings from base58-native by Stephen Pair -// Copyright (c) 2013 BitPay Inc - -var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; -var ALPHABET_MAP = {}; -for (var i = 0; i < ALPHABET.length; ++i) { - ALPHABET_MAP[ALPHABET.charAt(i)] = i; -} -var BASE = ALPHABET.length; - -module.exports = { - decode: function decode(string) { - if (string.length === 0) return []; - - var i, - j, - bytes = [0]; - for (i = 0; i < string.length; ++i) { - var c = string[i]; - if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character'); - - for (j = 0; j < bytes.length; ++j) { - bytes[j] *= BASE; - }bytes[0] += ALPHABET_MAP[c]; - - var carry = 0; - for (j = 0; j < bytes.length; ++j) { - bytes[j] += carry; - carry = bytes[j] >> 8; - bytes[j] &= 0xff; - } - - while (carry) { - bytes.push(carry & 0xff); - carry >>= 8; - } - } - // deal with leading zeros - for (i = 0; string[i] === '1' && i < string.length - 1; ++i) { - bytes.push(0); - } - - return bytes.reverse(); - } -}; - -},{}],780:[function(require,module,exports){ -(function (Buffer){ -'use strict'; - -/** - * Credits to https://github.com/cryptocoinjs/blake-hash - */ - -Blake256.sigma = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9], [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11], [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10], [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5], [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9]]; - -Blake256.u256 = [0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917]; - -Blake256.padding = new Buffer([0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); - -Blake256.prototype._length_carry = function (arr) { - for (var j = 0; j < arr.length; ++j) { - if (arr[j] < 0x0100000000) break; - arr[j] -= 0x0100000000; - arr[j + 1] += 1; - } -}; - -Blake256.prototype.update = function (data, encoding) { - data = new Buffer(data, encoding); - var block = this._block; - var offset = 0; - - while (this._blockOffset + data.length - offset >= block.length) { - for (var i = this._blockOffset; i < block.length;) { - block[i++] = data[offset++]; - }this._length[0] += block.length * 8; - this._length_carry(this._length); - - this._compress(); - this._blockOffset = 0; - } - - while (offset < data.length) { - block[this._blockOffset++] = data[offset++]; - }return this; -}; - -var zo = new Buffer([0x01]); -var oo = new Buffer([0x81]); - -function rot(x, n) { - return (x << 32 - n | x >>> n) >>> 0; -} - -function g(v, m, i, a, b, c, d, e) { - var sigma = Blake256.sigma; - var u256 = Blake256.u256; - - v[a] = v[a] + ((m[sigma[i][e]] ^ u256[sigma[i][e + 1]]) >>> 0) + v[b] >>> 0; - v[d] = rot(v[d] ^ v[a], 16); - v[c] = v[c] + v[d] >>> 0; - v[b] = rot(v[b] ^ v[c], 12); - v[a] = v[a] + ((m[sigma[i][e + 1]] ^ u256[sigma[i][e]]) >>> 0) + v[b] >>> 0; - v[d] = rot(v[d] ^ v[a], 8); - v[c] = v[c] + v[d] >>> 0; - v[b] = rot(v[b] ^ v[c], 7); -} - -function Blake256() { - this._h = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19]; - - this._s = [0, 0, 0, 0]; - - this._block = new Buffer(64); - this._blockOffset = 0; - this._length = [0, 0]; - - this._nullt = false; - - this._zo = zo; - this._oo = oo; -} - -Blake256.prototype._compress = function () { - var u256 = Blake256.u256; - var v = new Array(16); - var m = new Array(16); - var i; - - for (i = 0; i < 16; ++i) { - m[i] = this._block.readUInt32BE(i * 4); - }for (i = 0; i < 8; ++i) { - v[i] = this._h[i] >>> 0; - }for (i = 8; i < 12; ++i) { - v[i] = (this._s[i - 8] ^ u256[i - 8]) >>> 0; - }for (i = 12; i < 16; ++i) { - v[i] = u256[i - 8]; - }if (!this._nullt) { - v[12] = (v[12] ^ this._length[0]) >>> 0; - v[13] = (v[13] ^ this._length[0]) >>> 0; - v[14] = (v[14] ^ this._length[1]) >>> 0; - v[15] = (v[15] ^ this._length[1]) >>> 0; - } - - for (i = 0; i < 14; ++i) { - /* column step */ - g(v, m, i, 0, 4, 8, 12, 0); - g(v, m, i, 1, 5, 9, 13, 2); - g(v, m, i, 2, 6, 10, 14, 4); - g(v, m, i, 3, 7, 11, 15, 6); - /* diagonal step */ - g(v, m, i, 0, 5, 10, 15, 8); - g(v, m, i, 1, 6, 11, 12, 10); - g(v, m, i, 2, 7, 8, 13, 12); - g(v, m, i, 3, 4, 9, 14, 14); - } - - for (i = 0; i < 16; ++i) { - this._h[i % 8] = (this._h[i % 8] ^ v[i]) >>> 0; - }for (i = 0; i < 8; ++i) { - this._h[i] = (this._h[i] ^ this._s[i % 4]) >>> 0; - } -}; - -Blake256.prototype._padding = function () { - var lo = this._length[0] + this._blockOffset * 8; - var hi = this._length[1]; - if (lo >= 0x0100000000) { - lo -= 0x0100000000; - hi += 1; - } - - var msglen = new Buffer(8); - msglen.writeUInt32BE(hi, 0); - msglen.writeUInt32BE(lo, 4); - - if (this._blockOffset === 55) { - this._length[0] -= 8; - this.update(this._oo); - } else { - if (this._blockOffset < 55) { - if (this._blockOffset === 0) this._nullt = true; - this._length[0] -= (55 - this._blockOffset) * 8; - this.update(Blake256.padding.slice(0, 55 - this._blockOffset)); - } else { - this._length[0] -= (64 - this._blockOffset) * 8; - this.update(Blake256.padding.slice(0, 64 - this._blockOffset)); - this._length[0] -= 55 * 8; - this.update(Blake256.padding.slice(1, 1 + 55)); - this._nullt = true; - } - - this.update(this._zo); - this._length[0] -= 8; - } - - this._length[0] -= 64; - this.update(msglen); -}; - -Blake256.prototype.digest = function (encoding) { - this._padding(); - - var buffer = new Buffer(32); - for (var i = 0; i < 8; ++i) { - buffer.writeUInt32BE(this._h[i], i * 4); - }return buffer.toString(encoding); -}; - -module.exports = Blake256; - -}).call(this,require("buffer").Buffer) -},{"buffer":256}],781:[function(require,module,exports){ -(function (process,global){ -/** - * [js-sha3]{@link https://github.com/emn178/js-sha3} - * - * @version 0.7.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2015-2017 - * @license MIT - */ -/*jslint bitwise: true */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var ERROR = 'input is invalid type'; -var WINDOW = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object'; -var root = WINDOW ? window : {}; -if (root.JS_SHA3_NO_WINDOW) { - WINDOW = false; -} -var WEB_WORKER = !WINDOW && (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object'; -var NODE_JS = !root.JS_SHA3_NO_NODE_JS && (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process.versions && process.versions.node; -if (NODE_JS) { - root = global; -} else if (WEB_WORKER) { - root = self; -} -var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; -var HEX_CHARS = '0123456789abcdef'.split(''); -var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; -var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; -var KECCAK_PADDING = [1, 256, 65536, 16777216]; -var PADDING = [6, 1536, 393216, 100663296]; -var SHIFT = [0, 8, 16, 24]; -var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; -var BITS = [224, 256, 384, 512]; -var SHAKE_BITS = [128, 256]; -var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest']; -var CSHAKE_BYTEPAD = { - '128': 168, - '256': 136 -}; - -if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { - Array.isArray = function (obj) { - return Object.prototype.toString.call(obj) === '[object Array]'; - }; -} - -if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { - ArrayBuffer.isView = function (obj) { - return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer; - }; -} - -var createOutputMethod = function createOutputMethod(bits, padding, outputType) { - return function (message) { - return new Keccak(bits, padding, bits).update(message)[outputType](); - }; -}; - -var createShakeOutputMethod = function createShakeOutputMethod(bits, padding, outputType) { - return function (message, outputBits) { - return new Keccak(bits, padding, outputBits).update(message)[outputType](); - }; -}; - -var createCshakeOutputMethod = function createCshakeOutputMethod(bits, padding, outputType) { - return function (message, outputBits, n, s) { - return methods['cshake' + bits].update(message, outputBits, n, s)[outputType](); - }; -}; - -var createKmacOutputMethod = function createKmacOutputMethod(bits, padding, outputType) { - return function (key, message, outputBits, s) { - return methods['kmac' + bits].update(key, message, outputBits, s)[outputType](); - }; -}; - -var createOutputMethods = function createOutputMethods(method, createMethod, bits, padding) { - for (var i = 0; i < OUTPUT_TYPES.length; ++i) { - var type = OUTPUT_TYPES[i]; - method[type] = createMethod(bits, padding, type); - } - return method; -}; - -var createMethod = function createMethod(bits, padding) { - var method = createOutputMethod(bits, padding, 'hex'); - method.create = function () { - return new Keccak(bits, padding, bits); - }; - method.update = function (message) { - return method.create().update(message); - }; - return createOutputMethods(method, createOutputMethod, bits, padding); -}; - -var createShakeMethod = function createShakeMethod(bits, padding) { - var method = createShakeOutputMethod(bits, padding, 'hex'); - method.create = function (outputBits) { - return new Keccak(bits, padding, outputBits); - }; - method.update = function (message, outputBits) { - return method.create(outputBits).update(message); - }; - return createOutputMethods(method, createShakeOutputMethod, bits, padding); -}; - -var createCshakeMethod = function createCshakeMethod(bits, padding) { - var w = CSHAKE_BYTEPAD[bits]; - var method = createCshakeOutputMethod(bits, padding, 'hex'); - method.create = function (outputBits, n, s) { - if (!n && !s) { - return methods['shake' + bits].create(outputBits); - } else { - return new Keccak(bits, padding, outputBits).bytepad([n, s], w); - } - }; - method.update = function (message, outputBits, n, s) { - return method.create(outputBits, n, s).update(message); - }; - return createOutputMethods(method, createCshakeOutputMethod, bits, padding); -}; - -var createKmacMethod = function createKmacMethod(bits, padding) { - var w = CSHAKE_BYTEPAD[bits]; - var method = createKmacOutputMethod(bits, padding, 'hex'); - method.create = function (key, outputBits, s) { - return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w); - }; - method.update = function (key, message, outputBits, s) { - return method.create(key, outputBits, s).update(message); - }; - return createOutputMethods(method, createKmacOutputMethod, bits, padding); -}; - -var algorithms = [{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod }, { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod }, { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }]; - -var methods = {}, - methodNames = []; - -for (var i = 0; i < algorithms.length; ++i) { - var algorithm = algorithms[i]; - var bits = algorithm.bits; - for (var j = 0; j < bits.length; ++j) { - var methodName = algorithm.name + '_' + bits[j]; - methodNames.push(methodName); - methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); - if (algorithm.name !== 'sha3') { - var newMethodName = algorithm.name + bits[j]; - methodNames.push(newMethodName); - methods[newMethodName] = methods[methodName]; - } - } -} - -function Keccak(bits, padding, outputBits) { - this.blocks = []; - this.s = []; - this.padding = padding; - this.outputBits = outputBits; - this.reset = true; - this.finalized = false; - this.block = 0; - this.start = 0; - this.blockCount = 1600 - (bits << 1) >> 5; - this.byteCount = this.blockCount << 2; - this.outputBlocks = outputBits >> 5; - this.extraBytes = (outputBits & 31) >> 3; - - for (var i = 0; i < 50; ++i) { - this.s[i] = 0; - } -} - -Keccak.prototype.update = function (message) { - if (this.finalized) { - return; - } - var notString, - type = typeof message === 'undefined' ? 'undefined' : _typeof(message); - if (type !== 'string') { - if (type === 'object') { - if (message === null) { - throw ERROR; - } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { - message = new Uint8Array(message); - } else if (!Array.isArray(message)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { - throw ERROR; - } - } - } else { - throw ERROR; - } - notString = true; - } - var blocks = this.blocks, - byteCount = this.byteCount, - length = message.length, - blockCount = this.blockCount, - index = 0, - s = this.s, - i, - code; - - while (index < length) { - if (this.reset) { - this.reset = false; - blocks[0] = this.block; - for (i = 1; i < blockCount + 1; ++i) { - blocks[i] = 0; - } - } - if (notString) { - for (i = this.start; index < length && i < byteCount; ++index) { - blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; - } - } else { - for (i = this.start; index < length && i < byteCount; ++index) { - code = message.charCodeAt(index); - if (code < 0x80) { - blocks[i >> 2] |= code << SHIFT[i++ & 3]; - } else if (code < 0x800) { - blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; - } else if (code < 0xd800 || code >= 0xe000) { - blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; - } else { - code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff); - blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; - } - } - } - this.lastByteIndex = i; - if (i >= byteCount) { - this.start = i - byteCount; - this.block = blocks[blockCount]; - for (i = 0; i < blockCount; ++i) { - s[i] ^= blocks[i]; - } - f(s); - this.reset = true; - } else { - this.start = i; - } - } - return this; -}; - -Keccak.prototype.encode = function (x, right) { - var o = x & 255, - n = 1; - var bytes = [o]; - x = x >> 8; - o = x & 255; - while (o > 0) { - bytes.unshift(o); - x = x >> 8; - o = x & 255; - ++n; - } - if (right) { - bytes.push(n); - } else { - bytes.unshift(n); - } - this.update(bytes); - return bytes.length; -}; - -Keccak.prototype.encodeString = function (str) { - var notString, - type = typeof str === 'undefined' ? 'undefined' : _typeof(str); - if (type !== 'string') { - if (type === 'object') { - if (str === null) { - throw ERROR; - } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { - str = new Uint8Array(str); - } else if (!Array.isArray(str)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { - throw ERROR; - } - } - } else { - throw ERROR; - } - notString = true; - } - var bytes = 0, - length = str.length; - if (notString) { - bytes = length; - } else { - for (var i = 0; i < str.length; ++i) { - var code = str.charCodeAt(i); - if (code < 0x80) { - bytes += 1; - } else if (code < 0x800) { - bytes += 2; - } else if (code < 0xd800 || code >= 0xe000) { - bytes += 3; - } else { - code = 0x10000 + ((code & 0x3ff) << 10 | str.charCodeAt(++i) & 0x3ff); - bytes += 4; - } - } - } - bytes += this.encode(bytes * 8); - this.update(str); - return bytes; -}; - -Keccak.prototype.bytepad = function (strs, w) { - var bytes = this.encode(w); - for (var i = 0; i < strs.length; ++i) { - bytes += this.encodeString(strs[i]); - } - var paddingBytes = w - bytes % w; - var zeros = []; - zeros.length = paddingBytes; - this.update(zeros); - return this; -}; - -Keccak.prototype.finalize = function () { - if (this.finalized) { - return; - } - this.finalized = true; - var blocks = this.blocks, - i = this.lastByteIndex, - blockCount = this.blockCount, - s = this.s; - blocks[i >> 2] |= this.padding[i & 3]; - if (this.lastByteIndex === this.byteCount) { - blocks[0] = blocks[blockCount]; - for (i = 1; i < blockCount + 1; ++i) { - blocks[i] = 0; - } - } - blocks[blockCount - 1] |= 0x80000000; - for (i = 0; i < blockCount; ++i) { - s[i] ^= blocks[i]; - } - f(s); -}; - -Keccak.prototype.toString = Keccak.prototype.hex = function () { - this.finalize(); - - var blockCount = this.blockCount, - s = this.s, - outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, - i = 0, - j = 0; - var hex = '', - block; - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - block = s[i]; - hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F] + HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F] + HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F] + HEX_CHARS[block >> 28 & 0x0F] + HEX_CHARS[block >> 24 & 0x0F]; - } - if (j % blockCount === 0) { - f(s); - i = 0; - } - } - if (extraBytes) { - block = s[i]; - hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F]; - if (extraBytes > 1) { - hex += HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F]; - } - if (extraBytes > 2) { - hex += HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F]; - } - } - return hex; -}; - -Keccak.prototype.arrayBuffer = function () { - this.finalize(); - - var blockCount = this.blockCount, - s = this.s, - outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, - i = 0, - j = 0; - var bytes = this.outputBits >> 3; - var buffer; - if (extraBytes) { - buffer = new ArrayBuffer(outputBlocks + 1 << 2); - } else { - buffer = new ArrayBuffer(bytes); - } - var array = new Uint32Array(buffer); - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - array[j] = s[i]; - } - if (j % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - array[i] = s[i]; - buffer = buffer.slice(0, bytes); - } - return buffer; -}; - -Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; - -Keccak.prototype.digest = Keccak.prototype.array = function () { - this.finalize(); - - var blockCount = this.blockCount, - s = this.s, - outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, - i = 0, - j = 0; - var array = [], - offset, - block; - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - offset = j << 2; - block = s[i]; - array[offset] = block & 0xFF; - array[offset + 1] = block >> 8 & 0xFF; - array[offset + 2] = block >> 16 & 0xFF; - array[offset + 3] = block >> 24 & 0xFF; - } - if (j % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - offset = j << 2; - block = s[i]; - array[offset] = block & 0xFF; - if (extraBytes > 1) { - array[offset + 1] = block >> 8 & 0xFF; - } - if (extraBytes > 2) { - array[offset + 2] = block >> 16 & 0xFF; - } - } - return array; -}; - -function Kmac(bits, padding, outputBits) { - Keccak.call(this, bits, padding, outputBits); -} - -Kmac.prototype = new Keccak(); - -Kmac.prototype.finalize = function () { - this.encode(this.outputBits, true); - return Keccak.prototype.finalize.call(this); -}; - -var f = function f(s) { - var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; - for (n = 0; n < 48; n += 2) { - c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; - c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; - c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; - c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; - c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; - c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; - c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; - c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; - c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; - c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; - - h = c8 ^ (c2 << 1 | c3 >>> 31); - l = c9 ^ (c3 << 1 | c2 >>> 31); - s[0] ^= h; - s[1] ^= l; - s[10] ^= h; - s[11] ^= l; - s[20] ^= h; - s[21] ^= l; - s[30] ^= h; - s[31] ^= l; - s[40] ^= h; - s[41] ^= l; - h = c0 ^ (c4 << 1 | c5 >>> 31); - l = c1 ^ (c5 << 1 | c4 >>> 31); - s[2] ^= h; - s[3] ^= l; - s[12] ^= h; - s[13] ^= l; - s[22] ^= h; - s[23] ^= l; - s[32] ^= h; - s[33] ^= l; - s[42] ^= h; - s[43] ^= l; - h = c2 ^ (c6 << 1 | c7 >>> 31); - l = c3 ^ (c7 << 1 | c6 >>> 31); - s[4] ^= h; - s[5] ^= l; - s[14] ^= h; - s[15] ^= l; - s[24] ^= h; - s[25] ^= l; - s[34] ^= h; - s[35] ^= l; - s[44] ^= h; - s[45] ^= l; - h = c4 ^ (c8 << 1 | c9 >>> 31); - l = c5 ^ (c9 << 1 | c8 >>> 31); - s[6] ^= h; - s[7] ^= l; - s[16] ^= h; - s[17] ^= l; - s[26] ^= h; - s[27] ^= l; - s[36] ^= h; - s[37] ^= l; - s[46] ^= h; - s[47] ^= l; - h = c6 ^ (c0 << 1 | c1 >>> 31); - l = c7 ^ (c1 << 1 | c0 >>> 31); - s[8] ^= h; - s[9] ^= l; - s[18] ^= h; - s[19] ^= l; - s[28] ^= h; - s[29] ^= l; - s[38] ^= h; - s[39] ^= l; - s[48] ^= h; - s[49] ^= l; - - b0 = s[0]; - b1 = s[1]; - b32 = s[11] << 4 | s[10] >>> 28; - b33 = s[10] << 4 | s[11] >>> 28; - b14 = s[20] << 3 | s[21] >>> 29; - b15 = s[21] << 3 | s[20] >>> 29; - b46 = s[31] << 9 | s[30] >>> 23; - b47 = s[30] << 9 | s[31] >>> 23; - b28 = s[40] << 18 | s[41] >>> 14; - b29 = s[41] << 18 | s[40] >>> 14; - b20 = s[2] << 1 | s[3] >>> 31; - b21 = s[3] << 1 | s[2] >>> 31; - b2 = s[13] << 12 | s[12] >>> 20; - b3 = s[12] << 12 | s[13] >>> 20; - b34 = s[22] << 10 | s[23] >>> 22; - b35 = s[23] << 10 | s[22] >>> 22; - b16 = s[33] << 13 | s[32] >>> 19; - b17 = s[32] << 13 | s[33] >>> 19; - b48 = s[42] << 2 | s[43] >>> 30; - b49 = s[43] << 2 | s[42] >>> 30; - b40 = s[5] << 30 | s[4] >>> 2; - b41 = s[4] << 30 | s[5] >>> 2; - b22 = s[14] << 6 | s[15] >>> 26; - b23 = s[15] << 6 | s[14] >>> 26; - b4 = s[25] << 11 | s[24] >>> 21; - b5 = s[24] << 11 | s[25] >>> 21; - b36 = s[34] << 15 | s[35] >>> 17; - b37 = s[35] << 15 | s[34] >>> 17; - b18 = s[45] << 29 | s[44] >>> 3; - b19 = s[44] << 29 | s[45] >>> 3; - b10 = s[6] << 28 | s[7] >>> 4; - b11 = s[7] << 28 | s[6] >>> 4; - b42 = s[17] << 23 | s[16] >>> 9; - b43 = s[16] << 23 | s[17] >>> 9; - b24 = s[26] << 25 | s[27] >>> 7; - b25 = s[27] << 25 | s[26] >>> 7; - b6 = s[36] << 21 | s[37] >>> 11; - b7 = s[37] << 21 | s[36] >>> 11; - b38 = s[47] << 24 | s[46] >>> 8; - b39 = s[46] << 24 | s[47] >>> 8; - b30 = s[8] << 27 | s[9] >>> 5; - b31 = s[9] << 27 | s[8] >>> 5; - b12 = s[18] << 20 | s[19] >>> 12; - b13 = s[19] << 20 | s[18] >>> 12; - b44 = s[29] << 7 | s[28] >>> 25; - b45 = s[28] << 7 | s[29] >>> 25; - b26 = s[38] << 8 | s[39] >>> 24; - b27 = s[39] << 8 | s[38] >>> 24; - b8 = s[48] << 14 | s[49] >>> 18; - b9 = s[49] << 14 | s[48] >>> 18; - - s[0] = b0 ^ ~b2 & b4; - s[1] = b1 ^ ~b3 & b5; - s[10] = b10 ^ ~b12 & b14; - s[11] = b11 ^ ~b13 & b15; - s[20] = b20 ^ ~b22 & b24; - s[21] = b21 ^ ~b23 & b25; - s[30] = b30 ^ ~b32 & b34; - s[31] = b31 ^ ~b33 & b35; - s[40] = b40 ^ ~b42 & b44; - s[41] = b41 ^ ~b43 & b45; - s[2] = b2 ^ ~b4 & b6; - s[3] = b3 ^ ~b5 & b7; - s[12] = b12 ^ ~b14 & b16; - s[13] = b13 ^ ~b15 & b17; - s[22] = b22 ^ ~b24 & b26; - s[23] = b23 ^ ~b25 & b27; - s[32] = b32 ^ ~b34 & b36; - s[33] = b33 ^ ~b35 & b37; - s[42] = b42 ^ ~b44 & b46; - s[43] = b43 ^ ~b45 & b47; - s[4] = b4 ^ ~b6 & b8; - s[5] = b5 ^ ~b7 & b9; - s[14] = b14 ^ ~b16 & b18; - s[15] = b15 ^ ~b17 & b19; - s[24] = b24 ^ ~b26 & b28; - s[25] = b25 ^ ~b27 & b29; - s[34] = b34 ^ ~b36 & b38; - s[35] = b35 ^ ~b37 & b39; - s[44] = b44 ^ ~b46 & b48; - s[45] = b45 ^ ~b47 & b49; - s[6] = b6 ^ ~b8 & b0; - s[7] = b7 ^ ~b9 & b1; - s[16] = b16 ^ ~b18 & b10; - s[17] = b17 ^ ~b19 & b11; - s[26] = b26 ^ ~b28 & b20; - s[27] = b27 ^ ~b29 & b21; - s[36] = b36 ^ ~b38 & b30; - s[37] = b37 ^ ~b39 & b31; - s[46] = b46 ^ ~b48 & b40; - s[47] = b47 ^ ~b49 & b41; - s[8] = b8 ^ ~b0 & b2; - s[9] = b9 ^ ~b1 & b3; - s[18] = b18 ^ ~b10 & b12; - s[19] = b19 ^ ~b11 & b13; - s[28] = b28 ^ ~b20 & b22; - s[29] = b29 ^ ~b21 & b23; - s[38] = b38 ^ ~b30 & b32; - s[39] = b39 ^ ~b31 & b33; - s[48] = b48 ^ ~b40 & b42; - s[49] = b49 ^ ~b41 & b43; - - s[0] ^= RC[n]; - s[1] ^= RC[n + 1]; - } -}; - -module.exports = methods; - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":704}],782:[function(require,module,exports){ -'use strict'; - -var jsSHA = require('jssha/src/sha256'); -var Blake256 = require('./blake256'); -var _keccak = require('./sha3')['keccak256']; - -function numberToHex(number) { - var hex = Math.round(number).toString(16); - if (hex.length === 1) { - hex = '0' + hex; - } - return hex; -} - -module.exports = { - toHex: function toHex(arrayOfBytes) { - var hex = ''; - for (var i = 0; i < arrayOfBytes.length; i++) { - hex += numberToHex(arrayOfBytes[i]); - } - return hex; - }, - sha256: function sha256(hexString) { - var sha = new jsSHA('SHA-256', 'HEX'); - sha.update(hexString); - return sha.getHash('HEX'); - }, - sha256Checksum: function sha256Checksum(payload) { - return this.sha256(this.sha256(payload)).substr(0, 8); - }, - blake256: function blake256(hexString) { - return new Blake256().update(hexString, 'hex').digest('hex'); - }, - blake256Checksum: function blake256Checksum(payload) { - return this.blake256(this.blake256(payload)).substr(0, 8); - }, - keccak256: function keccak256(hexString) { - return _keccak(hexString); - } -}; - -},{"./blake256":780,"./sha3":781,"jssha/src/sha256":675}],783:[function(require,module,exports){ -'use strict'; - -var XRPValidator = require('./ripple_validator'); -var ETHValidator = require('./ethereum_validator'); - -// defines P2PKH and P2SH address types for standard (prod) and testnet networks -var CURRENCIES = [{ - name: 'bitcoin', - symbol: 'btc', - addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'bitcoincash', - symbol: 'bch', - addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'litecoin', - symbol: 'ltc', - addressTypes: { prod: ['30', '05', '32'], testnet: ['6f', 'c4'] } -}, { - name: 'peercoin', - symbol: 'ppc', - addressTypes: { prod: ['37', '75'], testnet: ['6f', 'c4'] } -}, { - name: 'dogecoin', - symbol: 'doge', - addressTypes: { prod: ['1e', '16'], testnet: ['71', 'c4'] } -}, { - name: 'beavercoin', - symbol: 'bvc', - addressTypes: { prod: ['19', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'freicoin', - symbol: 'frc', - addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'protoshares', - symbol: 'pts', - addressTypes: { prod: ['38', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'megacoin', - symbol: 'mec', - addressTypes: { prod: ['32', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'primecoin', - symbol: 'xpm', - addressTypes: { prod: ['17', '53'], testnet: ['6f', 'c4'] } -}, { - name: 'auroracoin', - symbol: 'aur', - addressTypes: { prod: ['17', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'namecoin', - symbol: 'nmc', - addressTypes: { prod: ['34'], testnet: [] } -}, { - name: 'biocoin', - symbol: 'bio', - addressTypes: { prod: ['19', '14'], testnet: ['6f', 'c4'] } -}, { - name: 'garlicoin', - symbol: 'grlc', - addressTypes: { prod: ['26', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'vertcoin', - symbol: 'vtc', - addressTypes: { prod: ['0x', '47'], testnet: ['6f', 'c4'] } -}, { - name: 'bitcoingold', - symbol: 'btg', - addressTypes: { prod: ['26', '17'], testnet: ['6f', 'c4'] } -}, { - name: 'komodo', - symbol: 'kmd', - addressTypes: { prod: ['3c', '55'], testnet: ['0', '5'] } -}, { - name: 'bitcoinz', - symbol: 'btcz', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'bitcoinprivate', - symbol: 'btcp', - expectedLength: 26, - addressTypes: { prod: ['1325', '13af'], testnet: ['1957', '19e0'] } -}, { - name: 'hush', - symbol: 'hush', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'snowgem', - symbol: 'sng', - expectedLength: 26, - addressTypes: { prod: ['1c28', '1c2d'], testnet: ['1d25', '1cba'] } -}, { - name: 'zcash', - symbol: 'zec', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'zclassic', - symbol: 'zcl', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'zencash', - symbol: 'zen', - expectedLength: 26, - addressTypes: { prod: ['2089', '2096'], testnet: ['2092', '2098'] } -}, { - name: 'votecoin', - symbol: 'vot', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'decred', - symbol: 'dcr', - addressTypes: { prod: ['073f', '071a'], testnet: ['0f21', '0efc'] }, - hashFunction: 'blake256', - expectedLength: 26 -}, { - name: 'digibyte', - symbol: 'dgb', - addressTypes: { prod: ['1e'], testnet: [] } -}, { - name: 'ethereum', - symbol: 'eth', - validator: ETHValidator -}, { - name: 'etherzero', - symbol: 'etz', - validator: ETHValidator -}, { - name: 'ethereumclassic', - symbol: 'etc', - validator: ETHValidator -}, { - name: 'callisto', - symbol: 'clo', - validator: ETHValidator -}, { - name: 'ripple', - symbol: 'xrp', - validator: XRPValidator -}, { - name: 'dash', - symbol: 'dash', - addressTypes: { prod: ['4c', '10'], testnet: ['8c', '13'] } -}, { - name: 'neo', - symbol: 'neo', - addressTypes: { prod: ['17'], testnet: [] } -}, { - name: 'neogas', - symbol: 'gas', - addressTypes: { prod: ['17'], testnet: [] } -}, { - name: 'qtum', - symbol: 'qtum', - addressTypes: { prod: ['3a', '32'], testnet: ['6f', 'c4'] } -}]; - -module.exports = { - getByNameOrSymbol: function getByNameOrSymbol(currencyNameOrSymbol) { - var nameOrSymbol = currencyNameOrSymbol.toLowerCase(); - for (var i = 0; i < CURRENCIES.length; i++) { - var currency = CURRENCIES[i]; - if (currency.name === nameOrSymbol || currency.symbol === nameOrSymbol) { - return currency; - } - } - return null; - } -}; - -},{"./ethereum_validator":784,"./ripple_validator":785}],784:[function(require,module,exports){ -'use strict'; - -var cryptoUtils = require('./crypto/utils'); - -module.exports = { - isValidAddress: function isValidAddress(address) { - if (!/^0x[0-9a-fA-F]{40}$/.test(address)) { - // Check if it has the basic requirements of an address - return false; - } - - if (/^0x[0-9a-f]{40}$/.test(address) || /^0x?[0-9A-F]{40}$/.test(address)) { - // If it's all small caps or all all caps, return true - return true; - } - - // Otherwise check each case - return this.verifyChecksum(address); - }, - verifyChecksum: function verifyChecksum(address) { - // Check each case - address = address.replace('0x', ''); - - var addressHash = cryptoUtils.keccak256(address.toLowerCase()); - - for (var i = 0; i < 40; i++) { - // The nth letter should be uppercase if the nth digit of casemap is 1 - if (parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i] || parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i]) { - return false; - } - } - - return true; - } -}; - -},{"./crypto/utils":782}],785:[function(require,module,exports){ -'use strict'; - -var cryptoUtils = require('./crypto/utils'); -var baseX = require('base-x'); - -var ALLOWED_CHARS = 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'; - -var codec = baseX(ALLOWED_CHARS); -var regexp = new RegExp('^r[' + ALLOWED_CHARS + ']{27,35}$'); - -module.exports = { - /** - * ripple address validation - */ - isValidAddress: function isValidAddress(address) { - if (regexp.test(address)) { - return this.verifyChecksum(address); - } - - return false; - }, - - verifyChecksum: function verifyChecksum(address) { - var bytes = codec.decode(address); - var computedChecksum = cryptoUtils.sha256Checksum(cryptoUtils.toHex(bytes.slice(0, -4))); - var checksum = cryptoUtils.toHex(bytes.slice(-4)); - - return computedChecksum === checksum; - } -}; - -},{"./crypto/utils":782,"base-x":211}],786:[function(require,module,exports){ -'use strict'; - -var base58 = require('./crypto/base58'); -var cryptoUtils = require('./crypto/utils'); -var currencies = require('./currencies'); - -var DEFAULT_CURRENCY_NAME = 'bitcoin'; -var DEFAULT_NETWORK_TYPE = 'prod'; - -function getDecoded(address) { - try { - return base58.decode(address); - } catch (e) { - // if decoding fails, assume invalid address - return null; - } -} - -function getChecksum(hashFunction, payload) { - // Each currency may implement different hashing algorithm - switch (hashFunction) { - case 'blake256': - return cryptoUtils.blake256Checksum(payload); - break; - case 'sha256': - default: - return cryptoUtils.sha256Checksum(payload); - } -} - -function getAddressType(address, currency) { - currency = currency || {}; - // should be 25 bytes per btc address spec and 26 decred - var expectedLength = currency.expectedLength || 25; - var hashFunction = currency.hashFunction || 'sha256'; - var decoded = getDecoded(address); - - if (decoded) { - var length = decoded.length; - - if (length !== expectedLength) { - return null; - } - - var checksum = cryptoUtils.toHex(decoded.slice(length - 4, length)), - body = cryptoUtils.toHex(decoded.slice(0, length - 4)), - goodChecksum = getChecksum(hashFunction, body); - - return checksum === goodChecksum ? cryptoUtils.toHex(decoded.slice(0, expectedLength - 24)) : null; - } - - return null; -} - -function validate(address, currencyNameOrSymbol, networkType) { - currencyNameOrSymbol = currencyNameOrSymbol || DEFAULT_CURRENCY_NAME; - networkType = networkType || DEFAULT_NETWORK_TYPE; - - var currency = currencies.getByNameOrSymbol(currencyNameOrSymbol); - - if (currency.validator) { - return currency.validator.isValidAddress(address); - } - - var correctAddressTypes; - var addressType = getAddressType(address, currency); - if (addressType == null) { - return false; - } - - if (networkType === 'prod' || networkType === 'testnet') { - correctAddressTypes = currency.addressTypes[networkType]; - } else { - correctAddressTypes = currency.addressTypes.prod.concat(currency.addressTypes.testnet); - } - - return correctAddressTypes.indexOf(addressType) >= 0; -} - -module.exports = { - getAddressType: getAddressType, - checksum: getChecksum, - validate: validate -}; - -},{"./crypto/base58":779,"./crypto/utils":782,"./currencies":783}],787:[function(require,module,exports){ -(function (global){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ - -'use strict'; - -var adapterFactory = require('./adapter_factory.js'); -module.exports = adapterFactory({ window: global.window }); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./adapter_factory.js":788}],788:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ - -'use strict'; - -var utils = require('./utils'); -// Shimming starts here. -module.exports = function (dependencies, opts) { - var window = dependencies && dependencies.window; - - var options = { - shimChrome: true, - shimFirefox: true, - shimEdge: true, - shimSafari: true - }; - - for (var key in opts) { - if (hasOwnProperty.call(opts, key)) { - options[key] = opts[key]; - } - } - - // Utils. - var logging = utils.log; - var browserDetails = utils.detectBrowser(window); - - // Uncomment the line below if you want logging to occur, including logging - // for the switch statement below. Can also be turned on in the browser via - // adapter.disableLog(false), but then logging from the switch statement below - // will not appear. - // require('./utils').disableLog(false); - - // Browser shims. - var chromeShim = require('./chrome/chrome_shim') || null; - var edgeShim = require('./edge/edge_shim') || null; - var firefoxShim = require('./firefox/firefox_shim') || null; - var safariShim = require('./safari/safari_shim') || null; - var commonShim = require('./common_shim') || null; - - // Export to the adapter global object visible in the browser. - var adapter = { - browserDetails: browserDetails, - commonShim: commonShim, - extractVersion: utils.extractVersion, - disableLog: utils.disableLog, - disableWarnings: utils.disableWarnings - }; - - // Shim browser if found. - switch (browserDetails.browser) { - case 'chrome': - if (!chromeShim || !chromeShim.shimPeerConnection || !options.shimChrome) { - logging('Chrome shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming chrome.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = chromeShim; - commonShim.shimCreateObjectURL(window); - - chromeShim.shimGetUserMedia(window); - chromeShim.shimMediaStream(window); - chromeShim.shimSourceObject(window); - chromeShim.shimPeerConnection(window); - chromeShim.shimOnTrack(window); - chromeShim.shimAddTrackRemoveTrack(window); - chromeShim.shimGetSendersWithDtmf(window); - chromeShim.shimSenderReceiverGetStats(window); - chromeShim.fixNegotiationNeeded(window); - - commonShim.shimRTCIceCandidate(window); - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - case 'firefox': - if (!firefoxShim || !firefoxShim.shimPeerConnection || !options.shimFirefox) { - logging('Firefox shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming firefox.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = firefoxShim; - commonShim.shimCreateObjectURL(window); - - firefoxShim.shimGetUserMedia(window); - firefoxShim.shimSourceObject(window); - firefoxShim.shimPeerConnection(window); - firefoxShim.shimOnTrack(window); - firefoxShim.shimRemoveStream(window); - firefoxShim.shimSenderGetStats(window); - firefoxShim.shimReceiverGetStats(window); - firefoxShim.shimRTCDataChannel(window); - - commonShim.shimRTCIceCandidate(window); - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - case 'edge': - if (!edgeShim || !edgeShim.shimPeerConnection || !options.shimEdge) { - logging('MS edge shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming edge.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = edgeShim; - commonShim.shimCreateObjectURL(window); - - edgeShim.shimGetUserMedia(window); - edgeShim.shimPeerConnection(window); - edgeShim.shimReplaceTrack(window); - - // the edge shim implements the full RTCIceCandidate object. - - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - case 'safari': - if (!safariShim || !options.shimSafari) { - logging('Safari shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming safari.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = safariShim; - commonShim.shimCreateObjectURL(window); - - safariShim.shimRTCIceServerUrls(window); - safariShim.shimCreateOfferLegacy(window); - safariShim.shimCallbacksAPI(window); - safariShim.shimLocalStreamsAPI(window); - safariShim.shimRemoteStreamsAPI(window); - safariShim.shimTrackEventTransceiver(window); - safariShim.shimGetUserMedia(window); - - commonShim.shimRTCIceCandidate(window); - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - default: - logging('Unsupported browser!'); - break; - } - - return adapter; -}; - -},{"./chrome/chrome_shim":789,"./common_shim":791,"./edge/edge_shim":792,"./firefox/firefox_shim":795,"./safari/safari_shim":797,"./utils":798}],789:[function(require,module,exports){ - -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils.js'); -var logging = utils.log; - -/* iterates the stats graph recursively. */ -function walkStats(stats, base, resultSet) { - if (!base || resultSet.has(base.id)) { - return; - } - resultSet.set(base.id, base); - Object.keys(base).forEach(function (name) { - if (name.endsWith('Id')) { - walkStats(stats, stats.get(base[name]), resultSet); - } else if (name.endsWith('Ids')) { - base[name].forEach(function (id) { - walkStats(stats, stats.get(id), resultSet); - }); - } - }); -} - -/* filter getStats for a sender/receiver track. */ -function filterStats(result, track, outbound) { - var streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp'; - var filteredResult = new Map(); - if (track === null) { - return filteredResult; - } - var trackStats = []; - result.forEach(function (value) { - if (value.type === 'track' && value.trackIdentifier === track.id) { - trackStats.push(value); - } - }); - trackStats.forEach(function (trackStat) { - result.forEach(function (stats) { - if (stats.type === streamStatsType && stats.trackId === trackStat.id) { - walkStats(result, stats, filteredResult); - } - }); - }); - return filteredResult; -} - -module.exports = { - shimGetUserMedia: require('./getusermedia'), - shimMediaStream: function shimMediaStream(window) { - window.MediaStream = window.MediaStream || window.webkitMediaStream; - }, - - shimOnTrack: function shimOnTrack(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('ontrack' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', { - get: function get() { - return this._ontrack; - }, - set: function set(f) { - if (this._ontrack) { - this.removeEventListener('track', this._ontrack); - } - this.addEventListener('track', this._ontrack = f); - }, - enumerable: true, - configurable: true - }); - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = function () { - var pc = this; - if (!pc._ontrackpoly) { - pc._ontrackpoly = function (e) { - // onaddstream does not fire when a track is added to an existing - // stream. But stream.onaddtrack is implemented so we use that. - e.stream.addEventListener('addtrack', function (te) { - var receiver; - if (window.RTCPeerConnection.prototype.getReceivers) { - receiver = pc.getReceivers().find(function (r) { - return r.track && r.track.id === te.track.id; - }); - } else { - receiver = { track: te.track }; - } - - var event = new Event('track'); - event.track = te.track; - event.receiver = receiver; - event.transceiver = { receiver: receiver }; - event.streams = [e.stream]; - pc.dispatchEvent(event); - }); - e.stream.getTracks().forEach(function (track) { - var receiver; - if (window.RTCPeerConnection.prototype.getReceivers) { - receiver = pc.getReceivers().find(function (r) { - return r.track && r.track.id === track.id; - }); - } else { - receiver = { track: track }; - } - var event = new Event('track'); - event.track = track; - event.receiver = receiver; - event.transceiver = { receiver: receiver }; - event.streams = [e.stream]; - pc.dispatchEvent(event); - }); - }; - pc.addEventListener('addstream', pc._ontrackpoly); - } - return origSetRemoteDescription.apply(pc, arguments); - }; - } else if (!('RTCRtpTransceiver' in window)) { - utils.wrapPeerConnectionEvent(window, 'track', function (e) { - if (!e.transceiver) { - e.transceiver = { receiver: e.receiver }; - } - return e; - }); - } - }, - - shimGetSendersWithDtmf: function shimGetSendersWithDtmf(window) { - // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack. - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('getSenders' in window.RTCPeerConnection.prototype) && 'createDTMFSender' in window.RTCPeerConnection.prototype) { - var shimSenderWithDtmf = function shimSenderWithDtmf(pc, track) { - return { - track: track, - get dtmf() { - if (this._dtmf === undefined) { - if (track.kind === 'audio') { - this._dtmf = pc.createDTMFSender(track); - } else { - this._dtmf = null; - } - } - return this._dtmf; - }, - _pc: pc - }; - }; - - // augment addTrack when getSenders is not available. - if (!window.RTCPeerConnection.prototype.getSenders) { - window.RTCPeerConnection.prototype.getSenders = function () { - this._senders = this._senders || []; - return this._senders.slice(); // return a copy of the internal state. - }; - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - var pc = this; - var sender = origAddTrack.apply(pc, arguments); - if (!sender) { - sender = shimSenderWithDtmf(pc, track); - pc._senders.push(sender); - } - return sender; - }; - - var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; - window.RTCPeerConnection.prototype.removeTrack = function (sender) { - var pc = this; - origRemoveTrack.apply(pc, arguments); - var idx = pc._senders.indexOf(sender); - if (idx !== -1) { - pc._senders.splice(idx, 1); - } - }; - } - var origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - pc._senders = pc._senders || []; - origAddStream.apply(pc, [stream]); - stream.getTracks().forEach(function (track) { - pc._senders.push(shimSenderWithDtmf(pc, track)); - }); - }; - - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - pc._senders = pc._senders || []; - origRemoveStream.apply(pc, [stream]); - - stream.getTracks().forEach(function (track) { - var sender = pc._senders.find(function (s) { - return s.track === track; - }); - if (sender) { - pc._senders.splice(pc._senders.indexOf(sender), 1); // remove sender - } - }); - }; - } else if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && 'getSenders' in window.RTCPeerConnection.prototype && 'createDTMFSender' in window.RTCPeerConnection.prototype && window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { - var origGetSenders = window.RTCPeerConnection.prototype.getSenders; - window.RTCPeerConnection.prototype.getSenders = function () { - var pc = this; - var senders = origGetSenders.apply(pc, []); - senders.forEach(function (sender) { - sender._pc = pc; - }); - return senders; - }; - - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { - get: function get() { - if (this._dtmf === undefined) { - if (this.track.kind === 'audio') { - this._dtmf = this._pc.createDTMFSender(this.track); - } else { - this._dtmf = null; - } - } - return this._dtmf; - } - }); - } - }, - - shimSenderReceiverGetStats: function shimSenderReceiverGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender && window.RTCRtpReceiver)) { - return; - } - - // shim sender stats. - if (!('getStats' in window.RTCRtpSender.prototype)) { - var origGetSenders = window.RTCPeerConnection.prototype.getSenders; - if (origGetSenders) { - window.RTCPeerConnection.prototype.getSenders = function () { - var pc = this; - var senders = origGetSenders.apply(pc, []); - senders.forEach(function (sender) { - sender._pc = pc; - }); - return senders; - }; - } - - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - if (origAddTrack) { - window.RTCPeerConnection.prototype.addTrack = function () { - var sender = origAddTrack.apply(this, arguments); - sender._pc = this; - return sender; - }; - } - window.RTCRtpSender.prototype.getStats = function () { - var sender = this; - return this._pc.getStats().then(function (result) { - /* Note: this will include stats of all senders that - * send a track with the same id as sender.track as - * it is not possible to identify the RTCRtpSender. - */ - return filterStats(result, sender.track, true); - }); - }; - } - - // shim receiver stats. - if (!('getStats' in window.RTCRtpReceiver.prototype)) { - var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; - if (origGetReceivers) { - window.RTCPeerConnection.prototype.getReceivers = function () { - var pc = this; - var receivers = origGetReceivers.apply(pc, []); - receivers.forEach(function (receiver) { - receiver._pc = pc; - }); - return receivers; - }; - } - utils.wrapPeerConnectionEvent(window, 'track', function (e) { - e.receiver._pc = e.srcElement; - return e; - }); - window.RTCRtpReceiver.prototype.getStats = function () { - var receiver = this; - return this._pc.getStats().then(function (result) { - return filterStats(result, receiver.track, false); - }); - }; - } - - if (!('getStats' in window.RTCRtpSender.prototype && 'getStats' in window.RTCRtpReceiver.prototype)) { - return; - } - - // shim RTCPeerConnection.getStats(track). - var origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function () { - var pc = this; - if (arguments.length > 0 && arguments[0] instanceof window.MediaStreamTrack) { - var track = arguments[0]; - var sender; - var receiver; - var err; - pc.getSenders().forEach(function (s) { - if (s.track === track) { - if (sender) { - err = true; - } else { - sender = s; - } - } - }); - pc.getReceivers().forEach(function (r) { - if (r.track === track) { - if (receiver) { - err = true; - } else { - receiver = r; - } - } - return r.track === track; - }); - if (err || sender && receiver) { - return Promise.reject(new DOMException('There are more than one sender or receiver for the track.', 'InvalidAccessError')); - } else if (sender) { - return sender.getStats(); - } else if (receiver) { - return receiver.getStats(); - } - return Promise.reject(new DOMException('There is no sender or receiver for the track.', 'InvalidAccessError')); - } - return origGetStats.apply(pc, arguments); +var createMethod = function createMethod(bits, padding) { + var method = createOutputMethod(bits, padding, 'hex'); + method.create = function () { + return new Keccak(bits, padding, bits); }; - }, - - shimSourceObject: function shimSourceObject(window) { - var URL = window && window.URL; - - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { - if (window.HTMLMediaElement && !('srcObject' in window.HTMLMediaElement.prototype)) { - // Shim the srcObject property, once, when HTMLMediaElement is found. - Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', { - get: function get() { - return this._srcObject; - }, - set: function set(stream) { - var self = this; - // Use _srcObject as a private property for this shim - this._srcObject = stream; - if (this.src) { - URL.revokeObjectURL(this.src); - } - - if (!stream) { - this.src = ''; - return undefined; - } - this.src = URL.createObjectURL(stream); - // We need to recreate the blob url when a track is added or - // removed. Doing it manually since we want to avoid a recursion. - stream.addEventListener('addtrack', function () { - if (self.src) { - URL.revokeObjectURL(self.src); - } - self.src = URL.createObjectURL(stream); - }); - stream.addEventListener('removetrack', function () { - if (self.src) { - URL.revokeObjectURL(self.src); - } - self.src = URL.createObjectURL(stream); - }); - } - }); - } - } - }, - - shimAddTrackRemoveTrackWithNative: function shimAddTrackRemoveTrackWithNative(window) { - // shim addTrack/removeTrack with native variants in order to make - // the interactions with legacy getLocalStreams behave as in other browsers. - // Keeps a mapping stream.id => [stream, rtpsenders...] - window.RTCPeerConnection.prototype.getLocalStreams = function () { - var pc = this; - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - return Object.keys(this._shimmedLocalStreams).map(function (streamId) { - return pc._shimmedLocalStreams[streamId][0]; - }); + method.update = function (message) { + return method.create().update(message); }; + return createOutputMethods(method, createOutputMethod, bits, padding); +}; - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - if (!stream) { - return origAddTrack.apply(this, arguments); - } - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - - var sender = origAddTrack.apply(this, arguments); - if (!this._shimmedLocalStreams[stream.id]) { - this._shimmedLocalStreams[stream.id] = [stream, sender]; - } else if (this._shimmedLocalStreams[stream.id].indexOf(sender) === -1) { - this._shimmedLocalStreams[stream.id].push(sender); - } - return sender; +var createShakeMethod = function createShakeMethod(bits, padding) { + var method = createShakeOutputMethod(bits, padding, 'hex'); + method.create = function (outputBits) { + return new Keccak(bits, padding, outputBits); }; - - var origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - - stream.getTracks().forEach(function (track) { - var alreadyExists = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (alreadyExists) { - throw new DOMException('Track already exists.', 'InvalidAccessError'); - } - }); - var existingSenders = pc.getSenders(); - origAddStream.apply(this, arguments); - var newSenders = pc.getSenders().filter(function (newSender) { - return existingSenders.indexOf(newSender) === -1; - }); - this._shimmedLocalStreams[stream.id] = [stream].concat(newSenders); + method.update = function (message, outputBits) { + return method.create(outputBits).update(message); }; + return createOutputMethods(method, createShakeOutputMethod, bits, padding); +}; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = function (stream) { - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - delete this._shimmedLocalStreams[stream.id]; - return origRemoveStream.apply(this, arguments); +var createCshakeMethod = function createCshakeMethod(bits, padding) { + var w = CSHAKE_BYTEPAD[bits]; + var method = createCshakeOutputMethod(bits, padding, 'hex'); + method.create = function (outputBits, n, s) { + if (!n && !s) { + return methods['shake' + bits].create(outputBits); + } else { + return new Keccak(bits, padding, outputBits).bytepad([n, s], w); + } }; - - var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; - window.RTCPeerConnection.prototype.removeTrack = function (sender) { - var pc = this; - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - if (sender) { - Object.keys(this._shimmedLocalStreams).forEach(function (streamId) { - var idx = pc._shimmedLocalStreams[streamId].indexOf(sender); - if (idx !== -1) { - pc._shimmedLocalStreams[streamId].splice(idx, 1); - } - if (pc._shimmedLocalStreams[streamId].length === 1) { - delete pc._shimmedLocalStreams[streamId]; - } - }); - } - return origRemoveTrack.apply(this, arguments); + method.update = function (message, outputBits, n, s) { + return method.create(outputBits, n, s).update(message); }; - }, - - shimAddTrackRemoveTrack: function shimAddTrackRemoveTrack(window) { - var browserDetails = utils.detectBrowser(window); - // shim addTrack and removeTrack. - if (window.RTCPeerConnection.prototype.addTrack && browserDetails.version >= 65) { - return this.shimAddTrackRemoveTrackWithNative(window); - } + return createOutputMethods(method, createCshakeOutputMethod, bits, padding); +}; - // also shim pc.getLocalStreams when addTrack is shimmed - // to return the original streams. - var origGetLocalStreams = window.RTCPeerConnection.prototype.getLocalStreams; - window.RTCPeerConnection.prototype.getLocalStreams = function () { - var pc = this; - var nativeStreams = origGetLocalStreams.apply(this); - pc._reverseStreams = pc._reverseStreams || {}; - return nativeStreams.map(function (stream) { - return pc._reverseStreams[stream.id]; - }); +var createKmacMethod = function createKmacMethod(bits, padding) { + var w = CSHAKE_BYTEPAD[bits]; + var method = createKmacOutputMethod(bits, padding, 'hex'); + method.create = function (key, outputBits, s) { + return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w); }; - - var origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - pc._streams = pc._streams || {}; - pc._reverseStreams = pc._reverseStreams || {}; - - stream.getTracks().forEach(function (track) { - var alreadyExists = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (alreadyExists) { - throw new DOMException('Track already exists.', 'InvalidAccessError'); - } - }); - // Add identity mapping for consistency with addTrack. - // Unless this is being used with a stream from addTrack. - if (!pc._reverseStreams[stream.id]) { - var newStream = new window.MediaStream(stream.getTracks()); - pc._streams[stream.id] = newStream; - pc._reverseStreams[newStream.id] = stream; - stream = newStream; - } - origAddStream.apply(pc, [stream]); + method.update = function (key, message, outputBits, s) { + return method.create(key, outputBits, s).update(message); }; + return createOutputMethods(method, createKmacOutputMethod, bits, padding); +}; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - pc._streams = pc._streams || {}; - pc._reverseStreams = pc._reverseStreams || {}; +var algorithms = [{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod }, { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod }, { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }]; - origRemoveStream.apply(pc, [pc._streams[stream.id] || stream]); - delete pc._reverseStreams[pc._streams[stream.id] ? pc._streams[stream.id].id : stream.id]; - delete pc._streams[stream.id]; - }; +var methods = {}, + methodNames = []; - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - var pc = this; - if (pc.signalingState === 'closed') { - throw new DOMException('The RTCPeerConnection\'s signalingState is \'closed\'.', 'InvalidStateError'); - } - var streams = [].slice.call(arguments, 1); - if (streams.length !== 1 || !streams[0].getTracks().find(function (t) { - return t === track; - })) { - // this is not fully correct but all we can manage without - // [[associated MediaStreams]] internal slot. - throw new DOMException('The adapter.js addTrack polyfill only supports a single ' + ' stream which is associated with the specified track.', 'NotSupportedError'); - } +for (var i = 0; i < algorithms.length; ++i) { + var algorithm = algorithms[i]; + var bits = algorithm.bits; + for (var j = 0; j < bits.length; ++j) { + var methodName = algorithm.name + '_' + bits[j]; + methodNames.push(methodName); + methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); + if (algorithm.name !== 'sha3') { + var newMethodName = algorithm.name + bits[j]; + methodNames.push(newMethodName); + methods[newMethodName] = methods[methodName]; + } + } +} - var alreadyExists = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (alreadyExists) { - throw new DOMException('Track already exists.', 'InvalidAccessError'); - } - - pc._streams = pc._streams || {}; - pc._reverseStreams = pc._reverseStreams || {}; - var oldStream = pc._streams[stream.id]; - if (oldStream) { - // this is using odd Chrome behaviour, use with caution: - // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815 - // Note: we rely on the high-level addTrack/dtmf shim to - // create the sender with a dtmf sender. - oldStream.addTrack(track); - - // Trigger ONN async. - Promise.resolve().then(function () { - pc.dispatchEvent(new Event('negotiationneeded')); - }); - } else { - var newStream = new window.MediaStream([track]); - pc._streams[stream.id] = newStream; - pc._reverseStreams[newStream.id] = stream; - pc.addStream(newStream); - } - return pc.getSenders().find(function (s) { - return s.track === track; - }); - }; +function Keccak(bits, padding, outputBits) { + this.blocks = []; + this.s = []; + this.padding = padding; + this.outputBits = outputBits; + this.reset = true; + this.finalized = false; + this.block = 0; + this.start = 0; + this.blockCount = 1600 - (bits << 1) >> 5; + this.byteCount = this.blockCount << 2; + this.outputBlocks = outputBits >> 5; + this.extraBytes = (outputBits & 31) >> 3; - // replace the internal stream id with the external one and - // vice versa. - function replaceInternalStreamId(pc, description) { - var sdp = description.sdp; - Object.keys(pc._reverseStreams || []).forEach(function (internalId) { - var externalStream = pc._reverseStreams[internalId]; - var internalStream = pc._streams[externalStream.id]; - sdp = sdp.replace(new RegExp(internalStream.id, 'g'), externalStream.id); - }); - return new RTCSessionDescription({ - type: description.type, - sdp: sdp - }); + for (var i = 0; i < 50; ++i) { + this.s[i] = 0; } - function replaceExternalStreamId(pc, description) { - var sdp = description.sdp; - Object.keys(pc._reverseStreams || []).forEach(function (internalId) { - var externalStream = pc._reverseStreams[internalId]; - var internalStream = pc._streams[externalStream.id]; - sdp = sdp.replace(new RegExp(externalStream.id, 'g'), internalStream.id); - }); - return new RTCSessionDescription({ - type: description.type, - sdp: sdp - }); +} + +Keccak.prototype.update = function (message) { + if (this.finalized) { + return; } - ['createOffer', 'createAnswer'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - var pc = this; - var args = arguments; - var isLegacyCall = arguments.length && typeof arguments[0] === 'function'; - if (isLegacyCall) { - return nativeMethod.apply(pc, [function (description) { - var desc = replaceInternalStreamId(pc, description); - args[0].apply(null, [desc]); - }, function (err) { - if (args[1]) { - args[1].apply(null, err); + var notString, + type = typeof message === 'undefined' ? 'undefined' : _typeof(message); + if (type !== 'string') { + if (type === 'object') { + if (message === null) { + throw ERROR; + } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { + message = new Uint8Array(message); + } else if (!Array.isArray(message)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { + throw ERROR; + } } - }, arguments[2]]); - } - return nativeMethod.apply(pc, arguments).then(function (description) { - return replaceInternalStreamId(pc, description); - }); - }; - }); - - var origSetLocalDescription = window.RTCPeerConnection.prototype.setLocalDescription; - window.RTCPeerConnection.prototype.setLocalDescription = function () { - var pc = this; - if (!arguments.length || !arguments[0].type) { - return origSetLocalDescription.apply(pc, arguments); - } - arguments[0] = replaceExternalStreamId(pc, arguments[0]); - return origSetLocalDescription.apply(pc, arguments); - }; - - // TODO: mangle getStats: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats-streamidentifier - - var origLocalDescription = Object.getOwnPropertyDescriptor(window.RTCPeerConnection.prototype, 'localDescription'); - Object.defineProperty(window.RTCPeerConnection.prototype, 'localDescription', { - get: function get() { - var pc = this; - var description = origLocalDescription.get.apply(this); - if (description.type === '') { - return description; - } - return replaceInternalStreamId(pc, description); - } - }); - - window.RTCPeerConnection.prototype.removeTrack = function (sender) { - var pc = this; - if (pc.signalingState === 'closed') { - throw new DOMException('The RTCPeerConnection\'s signalingState is \'closed\'.', 'InvalidStateError'); - } - // We can not yet check for sender instanceof RTCRtpSender - // since we shim RTPSender. So we check if sender._pc is set. - if (!sender._pc) { - throw new DOMException('Argument 1 of RTCPeerConnection.removeTrack ' + 'does not implement interface RTCRtpSender.', 'TypeError'); - } - var isLocal = sender._pc === pc; - if (!isLocal) { - throw new DOMException('Sender was not created by this connection.', 'InvalidAccessError'); - } - - // Search for the native stream the senders track belongs to. - pc._streams = pc._streams || {}; - var stream; - Object.keys(pc._streams).forEach(function (streamid) { - var hasTrack = pc._streams[streamid].getTracks().find(function (track) { - return sender.track === track; - }); - if (hasTrack) { - stream = pc._streams[streamid]; - } - }); - - if (stream) { - if (stream.getTracks().length === 1) { - // if this is the last track of the stream, remove the stream. This - // takes care of any shimmed _senders. - pc.removeStream(pc._reverseStreams[stream.id]); } else { - // relying on the same odd chrome behaviour as above. - stream.removeTrack(sender.track); - } - pc.dispatchEvent(new Event('negotiationneeded')); - } - }; - }, - - shimPeerConnection: function shimPeerConnection(window) { - var browserDetails = utils.detectBrowser(window); - - // The RTCPeerConnection object. - if (!window.RTCPeerConnection && window.webkitRTCPeerConnection) { - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - // Translate iceTransportPolicy to iceTransports, - // see https://code.google.com/p/webrtc/issues/detail?id=4869 - // this was fixed in M56 along with unprefixing RTCPeerConnection. - logging('PeerConnection'); - if (pcConfig && pcConfig.iceTransportPolicy) { - pcConfig.iceTransports = pcConfig.iceTransportPolicy; + throw ERROR; } + notString = true; + } + var blocks = this.blocks, + byteCount = this.byteCount, + length = message.length, + blockCount = this.blockCount, + index = 0, + s = this.s, + i, + code; - return new window.webkitRTCPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = window.webkitRTCPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - if (window.webkitRTCPeerConnection.generateCertificate) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return window.webkitRTCPeerConnection.generateCertificate; - } - }); - } - } else { - // migrate from non-spec RTCIceServer.url to RTCIceServer.urls - var OrigPeerConnection = window.RTCPeerConnection; - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - if (pcConfig && pcConfig.iceServers) { - var newIceServers = []; - for (var i = 0; i < pcConfig.iceServers.length; i++) { - var server = pcConfig.iceServers[i]; - if (!server.hasOwnProperty('urls') && server.hasOwnProperty('url')) { - utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - server = JSON.parse(JSON.stringify(server)); - server.urls = server.url; - newIceServers.push(server); - } else { - newIceServers.push(pcConfig.iceServers[i]); + while (index < length) { + if (this.reset) { + this.reset = false; + blocks[0] = this.block; + for (i = 1; i < blockCount + 1; ++i) { + blocks[i] = 0; } - } - pcConfig.iceServers = newIceServers; } - return new OrigPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = OrigPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return OrigPeerConnection.generateCertificate; + if (notString) { + for (i = this.start; index < length && i < byteCount; ++index) { + blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; + } + } else { + for (i = this.start; index < length && i < byteCount; ++index) { + code = message.charCodeAt(index); + if (code < 0x80) { + blocks[i >> 2] |= code << SHIFT[i++ & 3]; + } else if (code < 0x800) { + blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; + } else if (code < 0xd800 || code >= 0xe000) { + blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; + } else { + code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff); + blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; + } + } } - }); - } - - var origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function (selector, successCallback, errorCallback) { - var pc = this; - var args = arguments; - - // If selector is a function then we are in the old style stats so just - // pass back the original getStats format to avoid breaking old users. - if (arguments.length > 0 && typeof selector === 'function') { - return origGetStats.apply(this, arguments); - } - - // When spec-style getStats is supported, return those when called with - // either no arguments or the selector argument is null. - if (origGetStats.length === 0 && (arguments.length === 0 || typeof arguments[0] !== 'function')) { - return origGetStats.apply(this, []); - } - - var fixChromeStats_ = function fixChromeStats_(response) { - var standardReport = {}; - var reports = response.result(); - reports.forEach(function (report) { - var standardStats = { - id: report.id, - timestamp: report.timestamp, - type: { - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[report.type] || report.type - }; - report.names().forEach(function (name) { - standardStats[name] = report.stat(name); - }); - standardReport[standardStats.id] = standardStats; - }); - - return standardReport; - }; - - // shim getStats with maplike support - var makeMapStats = function makeMapStats(stats) { - return new Map(Object.keys(stats).map(function (key) { - return [key, stats[key]]; - })); - }; - - if (arguments.length >= 2) { - var successCallbackWrapper_ = function successCallbackWrapper_(response) { - args[1](makeMapStats(fixChromeStats_(response))); - }; - - return origGetStats.apply(this, [successCallbackWrapper_, arguments[0]]); - } - - // promise-support - return new Promise(function (resolve, reject) { - origGetStats.apply(pc, [function (response) { - resolve(makeMapStats(fixChromeStats_(response))); - }, reject]); - }).then(successCallback, errorCallback); - }; - - // add promise support -- natively available in Chrome 51 - if (browserDetails.version < 51) { - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - var args = arguments; - var pc = this; - var promise = new Promise(function (resolve, reject) { - nativeMethod.apply(pc, [args[0], resolve, reject]); - }); - if (args.length < 2) { - return promise; - } - return promise.then(function () { - args[1].apply(null, []); - }, function (err) { - if (args.length >= 3) { - args[2].apply(null, [err]); + this.lastByteIndex = i; + if (i >= byteCount) { + this.start = i - byteCount; + this.block = blocks[blockCount]; + for (i = 0; i < blockCount; ++i) { + s[i] ^= blocks[i]; } - }); - }; - }); - } - - // promise support for createOffer and createAnswer. Available (without - // bugs) since M52: crbug/619289 - if (browserDetails.version < 52) { - ['createOffer', 'createAnswer'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - var pc = this; - if (arguments.length < 1 || arguments.length === 1 && _typeof(arguments[0]) === 'object') { - var opts = arguments.length === 1 ? arguments[0] : undefined; - return new Promise(function (resolve, reject) { - nativeMethod.apply(pc, [resolve, reject, opts]); - }); - } - return nativeMethod.apply(this, arguments); - }; - }); - } - - // shim implicit creation of RTCSessionDescription/RTCIceCandidate - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - arguments[0] = new (method === 'addIceCandidate' ? window.RTCIceCandidate : window.RTCSessionDescription)(arguments[0]); - return nativeMethod.apply(this, arguments); - }; - }); - - // support for addIceCandidate(null or undefined) - var nativeAddIceCandidate = window.RTCPeerConnection.prototype.addIceCandidate; - window.RTCPeerConnection.prototype.addIceCandidate = function () { - if (!arguments[0]) { - if (arguments[1]) { - arguments[1].apply(null); + f(s); + this.reset = true; + } else { + this.start = i; } - return Promise.resolve(); - } - return nativeAddIceCandidate.apply(this, arguments); - }; - }, - - fixNegotiationNeeded: function fixNegotiationNeeded(window) { - utils.wrapPeerConnectionEvent(window, 'negotiationneeded', function (e) { - var pc = e.target; - if (pc.signalingState !== 'stable') { - return; - } - return e; - }); - }, + } + return this; +}; - shimGetDisplayMedia: function shimGetDisplayMedia(window, getSourceId) { - if ('getDisplayMedia' in window.navigator) { - return; +Keccak.prototype.encode = function (x, right) { + var o = x & 255, + n = 1; + var bytes = [o]; + x = x >> 8; + o = x & 255; + while (o > 0) { + bytes.unshift(o); + x = x >> 8; + o = x & 255; + ++n; } - // getSourceId is a function that returns a promise resolving with - // the sourceId of the screen/window/tab to be shared. - if (typeof getSourceId !== 'function') { - console.error('shimGetDisplayMedia: getSourceId argument is not ' + 'a function'); - return; + if (right) { + bytes.push(n); + } else { + bytes.unshift(n); } - navigator.getDisplayMedia = function (constraints) { - return getSourceId(constraints).then(function (sourceId) { - constraints.video = { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: sourceId, - maxFrameRate: constraints.video.frameRate || 3 - } - }; - return navigator.mediaDevices.getUserMedia(constraints); - }); - }; - } + this.update(bytes); + return bytes.length; }; -},{"../utils.js":798,"./getusermedia":790}],790:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils.js'); -var logging = utils.log; - -// Expose public methods. -module.exports = function (window) { - var browserDetails = utils.detectBrowser(window); - var navigator = window && window.navigator; - - var constraintsToChrome_ = function constraintsToChrome_(c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) !== 'object' || c.mandatory || c.optional) { - return c; - } - var cc = {}; - Object.keys(c).forEach(function (key) { - if (key === 'require' || key === 'advanced' || key === 'mediaSource') { - return; - } - var r = _typeof(c[key]) === 'object' ? c[key] : { ideal: c[key] }; - if (r.exact !== undefined && typeof r.exact === 'number') { - r.min = r.max = r.exact; - } - var oldname_ = function oldname_(prefix, name) { - if (prefix) { - return prefix + name.charAt(0).toUpperCase() + name.slice(1); - } - return name === 'deviceId' ? 'sourceId' : name; - }; - if (r.ideal !== undefined) { - cc.optional = cc.optional || []; - var oc = {}; - if (typeof r.ideal === 'number') { - oc[oldname_('min', key)] = r.ideal; - cc.optional.push(oc); - oc = {}; - oc[oldname_('max', key)] = r.ideal; - cc.optional.push(oc); +Keccak.prototype.encodeString = function (str) { + var notString, + type = typeof str === 'undefined' ? 'undefined' : _typeof(str); + if (type !== 'string') { + if (type === 'object') { + if (str === null) { + throw ERROR; + } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { + str = new Uint8Array(str); + } else if (!Array.isArray(str)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { + throw ERROR; + } + } } else { - oc[oldname_('', key)] = r.ideal; - cc.optional.push(oc); + throw ERROR; } - } - if (r.exact !== undefined && typeof r.exact !== 'number') { - cc.mandatory = cc.mandatory || {}; - cc.mandatory[oldname_('', key)] = r.exact; - } else { - ['min', 'max'].forEach(function (mix) { - if (r[mix] !== undefined) { - cc.mandatory = cc.mandatory || {}; - cc.mandatory[oldname_(mix, key)] = r[mix]; - } - }); - } - }); - if (c.advanced) { - cc.optional = (cc.optional || []).concat(c.advanced); - } - return cc; - }; - - var shimConstraints_ = function shimConstraints_(constraints, func) { - if (browserDetails.version >= 61) { - return func(constraints); + notString = true; } - constraints = JSON.parse(JSON.stringify(constraints)); - if (constraints && _typeof(constraints.audio) === 'object') { - var remap = function remap(obj, a, b) { - if (a in obj && !(b in obj)) { - obj[b] = obj[a]; - delete obj[a]; - } - }; - constraints = JSON.parse(JSON.stringify(constraints)); - remap(constraints.audio, 'autoGainControl', 'googAutoGainControl'); - remap(constraints.audio, 'noiseSuppression', 'googNoiseSuppression'); - constraints.audio = constraintsToChrome_(constraints.audio); - } - if (constraints && _typeof(constraints.video) === 'object') { - // Shim facingMode for mobile & surface pro. - var face = constraints.video.facingMode; - face = face && ((typeof face === 'undefined' ? 'undefined' : _typeof(face)) === 'object' ? face : { ideal: face }); - var getSupportedFacingModeLies = browserDetails.version < 66; - - if (face && (face.exact === 'user' || face.exact === 'environment' || face.ideal === 'user' || face.ideal === 'environment') && !(navigator.mediaDevices.getSupportedConstraints && navigator.mediaDevices.getSupportedConstraints().facingMode && !getSupportedFacingModeLies)) { - delete constraints.video.facingMode; - var matches; - if (face.exact === 'environment' || face.ideal === 'environment') { - matches = ['back', 'rear']; - } else if (face.exact === 'user' || face.ideal === 'user') { - matches = ['front']; - } - if (matches) { - // Look for matches in label, or use last cam for back (typical). - return navigator.mediaDevices.enumerateDevices().then(function (devices) { - devices = devices.filter(function (d) { - return d.kind === 'videoinput'; - }); - var dev = devices.find(function (d) { - return matches.some(function (match) { - return d.label.toLowerCase().indexOf(match) !== -1; - }); - }); - if (!dev && devices.length && matches.indexOf('back') !== -1) { - dev = devices[devices.length - 1]; // more likely the back cam - } - if (dev) { - constraints.video.deviceId = face.exact ? { exact: dev.deviceId } : { ideal: dev.deviceId }; + var bytes = 0, + length = str.length; + if (notString) { + bytes = length; + } else { + for (var i = 0; i < str.length; ++i) { + var code = str.charCodeAt(i); + if (code < 0x80) { + bytes += 1; + } else if (code < 0x800) { + bytes += 2; + } else if (code < 0xd800 || code >= 0xe000) { + bytes += 3; + } else { + code = 0x10000 + ((code & 0x3ff) << 10 | str.charCodeAt(++i) & 0x3ff); + bytes += 4; } - constraints.video = constraintsToChrome_(constraints.video); - logging('chrome: ' + JSON.stringify(constraints)); - return func(constraints); - }); } - } - constraints.video = constraintsToChrome_(constraints.video); } - logging('chrome: ' + JSON.stringify(constraints)); - return func(constraints); - }; + bytes += this.encode(bytes * 8); + this.update(str); + return bytes; +}; - var shimError_ = function shimError_(e) { - if (browserDetails.version >= 64) { - return e; +Keccak.prototype.bytepad = function (strs, w) { + var bytes = this.encode(w); + for (var i = 0; i < strs.length; ++i) { + bytes += this.encodeString(strs[i]); } - return { - name: { - PermissionDeniedError: 'NotAllowedError', - PermissionDismissedError: 'NotAllowedError', - InvalidStateError: 'NotAllowedError', - DevicesNotFoundError: 'NotFoundError', - ConstraintNotSatisfiedError: 'OverconstrainedError', - TrackStartError: 'NotReadableError', - MediaDeviceFailedDueToShutdown: 'NotAllowedError', - MediaDeviceKillSwitchOn: 'NotAllowedError', - TabCaptureError: 'AbortError', - ScreenCaptureError: 'AbortError', - DeviceCaptureError: 'AbortError' - }[e.name] || e.name, - message: e.message, - constraint: e.constraint || e.constraintName, - toString: function toString() { - return this.name + (this.message && ': ') + this.message; - } - }; - }; - - var getUserMedia_ = function getUserMedia_(constraints, onSuccess, onError) { - shimConstraints_(constraints, function (c) { - navigator.webkitGetUserMedia(c, onSuccess, function (e) { - if (onError) { - onError(shimError_(e)); - } - }); - }); - }; - - navigator.getUserMedia = getUserMedia_; - - // Returns the result of getUserMedia as a Promise. - var getUserMediaPromise_ = function getUserMediaPromise_(constraints) { - return new Promise(function (resolve, reject) { - navigator.getUserMedia(constraints, resolve, reject); - }); - }; - - if (!navigator.mediaDevices) { - navigator.mediaDevices = { - getUserMedia: getUserMediaPromise_, - enumerateDevices: function enumerateDevices() { - return new Promise(function (resolve) { - var kinds = { audio: 'audioinput', video: 'videoinput' }; - return window.MediaStreamTrack.getSources(function (devices) { - resolve(devices.map(function (device) { - return { label: device.label, - kind: kinds[device.kind], - deviceId: device.id, - groupId: '' }; - })); - }); - }); - }, - getSupportedConstraints: function getSupportedConstraints() { - return { - deviceId: true, echoCancellation: true, facingMode: true, - frameRate: true, height: true, width: true - }; - } - }; - } - - // A shim for getUserMedia method on the mediaDevices object. - // TODO(KaptenJansson) remove once implemented in Chrome stable. - if (!navigator.mediaDevices.getUserMedia) { - navigator.mediaDevices.getUserMedia = function (constraints) { - return getUserMediaPromise_(constraints); - }; - } else { - // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia - // function which returns a Promise, it does not accept spec-style - // constraints. - var origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (cs) { - return shimConstraints_(cs, function (c) { - return origGetUserMedia(c).then(function (stream) { - if (c.audio && !stream.getAudioTracks().length || c.video && !stream.getVideoTracks().length) { - stream.getTracks().forEach(function (track) { - track.stop(); - }); - throw new DOMException('', 'NotFoundError'); - } - return stream; - }, function (e) { - return Promise.reject(shimError_(e)); - }); - }); - }; - } + var paddingBytes = w - bytes % w; + var zeros = []; + zeros.length = paddingBytes; + this.update(zeros); + return this; +}; - // Dummy devicechange event methods. - // TODO(KaptenJansson) remove once implemented in Chrome stable. - if (typeof navigator.mediaDevices.addEventListener === 'undefined') { - navigator.mediaDevices.addEventListener = function () { - logging('Dummy mediaDevices.addEventListener called.'); - }; - } - if (typeof navigator.mediaDevices.removeEventListener === 'undefined') { - navigator.mediaDevices.removeEventListener = function () { - logging('Dummy mediaDevices.removeEventListener called.'); - }; - } +Keccak.prototype.finalize = function () { + if (this.finalized) { + return; + } + this.finalized = true; + var blocks = this.blocks, + i = this.lastByteIndex, + blockCount = this.blockCount, + s = this.s; + blocks[i >> 2] |= this.padding[i & 3]; + if (this.lastByteIndex === this.byteCount) { + blocks[0] = blocks[blockCount]; + for (i = 1; i < blockCount + 1; ++i) { + blocks[i] = 0; + } + } + blocks[blockCount - 1] |= 0x80000000; + for (i = 0; i < blockCount; ++i) { + s[i] ^= blocks[i]; + } + f(s); }; -},{"../utils.js":798}],791:[function(require,module,exports){ -/* - * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var SDPUtils = require('sdp'); -var utils = require('./utils'); +Keccak.prototype.toString = Keccak.prototype.hex = function () { + this.finalize(); -module.exports = { - shimRTCIceCandidate: function shimRTCIceCandidate(window) { - // foundation is arbitrarily chosen as an indicator for full support for - // https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface - if (!window.RTCIceCandidate || window.RTCIceCandidate && 'foundation' in window.RTCIceCandidate.prototype) { - return; + var blockCount = this.blockCount, + s = this.s, + outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, + i = 0, + j = 0; + var hex = '', + block; + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + block = s[i]; + hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F] + HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F] + HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F] + HEX_CHARS[block >> 28 & 0x0F] + HEX_CHARS[block >> 24 & 0x0F]; + } + if (j % blockCount === 0) { + f(s); + i = 0; + } } - - var NativeRTCIceCandidate = window.RTCIceCandidate; - window.RTCIceCandidate = function (args) { - // Remove the a= which shouldn't be part of the candidate string. - if ((typeof args === 'undefined' ? 'undefined' : _typeof(args)) === 'object' && args.candidate && args.candidate.indexOf('a=') === 0) { - args = JSON.parse(JSON.stringify(args)); - args.candidate = args.candidate.substr(2); - } - - if (args.candidate && args.candidate.length) { - // Augment the native candidate with the parsed fields. - var nativeCandidate = new NativeRTCIceCandidate(args); - var parsedCandidate = SDPUtils.parseCandidate(args.candidate); - var augmentedCandidate = Object.assign(nativeCandidate, parsedCandidate); - - // Add a serializer that does not serialize the extra attributes. - augmentedCandidate.toJSON = function () { - return { - candidate: augmentedCandidate.candidate, - sdpMid: augmentedCandidate.sdpMid, - sdpMLineIndex: augmentedCandidate.sdpMLineIndex, - usernameFragment: augmentedCandidate.usernameFragment - }; - }; - return augmentedCandidate; - } - return new NativeRTCIceCandidate(args); - }; - window.RTCIceCandidate.prototype = NativeRTCIceCandidate.prototype; - - // Hook up the augmented candidate in onicecandidate and - // addEventListener('icecandidate', ...) - utils.wrapPeerConnectionEvent(window, 'icecandidate', function (e) { - if (e.candidate) { - Object.defineProperty(e, 'candidate', { - value: new window.RTCIceCandidate(e.candidate), - writable: 'false' - }); - } - return e; - }); - }, - - // shimCreateObjectURL must be called before shimSourceObject to avoid loop. - - shimCreateObjectURL: function shimCreateObjectURL(window) { - var URL = window && window.URL; - - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.HTMLMediaElement && 'srcObject' in window.HTMLMediaElement.prototype && URL.createObjectURL && URL.revokeObjectURL)) { - // Only shim CreateObjectURL using srcObject if srcObject exists. - return undefined; + if (extraBytes) { + block = s[i]; + hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F]; + if (extraBytes > 1) { + hex += HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F]; + } + if (extraBytes > 2) { + hex += HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F]; + } } + return hex; +}; - var nativeCreateObjectURL = URL.createObjectURL.bind(URL); - var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL); - var streams = new Map(), - newId = 0; +Keccak.prototype.arrayBuffer = function () { + this.finalize(); - URL.createObjectURL = function (stream) { - if ('getTracks' in stream) { - var url = 'polyblob:' + ++newId; - streams.set(url, stream); - utils.deprecated('URL.createObjectURL(stream)', 'elem.srcObject = stream'); - return url; - } - return nativeCreateObjectURL(stream); - }; - URL.revokeObjectURL = function (url) { - nativeRevokeObjectURL(url); - streams.delete(url); - }; + var blockCount = this.blockCount, + s = this.s, + outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, + i = 0, + j = 0; + var bytes = this.outputBits >> 3; + var buffer; + if (extraBytes) { + buffer = new ArrayBuffer(outputBlocks + 1 << 2); + } else { + buffer = new ArrayBuffer(bytes); + } + var array = new Uint32Array(buffer); + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + array[j] = s[i]; + } + if (j % blockCount === 0) { + f(s); + } + } + if (extraBytes) { + array[i] = s[i]; + buffer = buffer.slice(0, bytes); + } + return buffer; +}; - var dsc = Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype, 'src'); - Object.defineProperty(window.HTMLMediaElement.prototype, 'src', { - get: function get() { - return dsc.get.apply(this); - }, - set: function set(url) { - this.srcObject = streams.get(url) || null; - return dsc.set.apply(this, [url]); - } - }); +Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; - var nativeSetAttribute = window.HTMLMediaElement.prototype.setAttribute; - window.HTMLMediaElement.prototype.setAttribute = function () { - if (arguments.length === 2 && ('' + arguments[0]).toLowerCase() === 'src') { - this.srcObject = streams.get(arguments[1]) || null; - } - return nativeSetAttribute.apply(this, arguments); - }; - }, +Keccak.prototype.digest = Keccak.prototype.array = function () { + this.finalize(); - shimMaxMessageSize: function shimMaxMessageSize(window) { - if (window.RTCSctpTransport || !window.RTCPeerConnection) { - return; + var blockCount = this.blockCount, + s = this.s, + outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, + i = 0, + j = 0; + var array = [], + offset, + block; + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + offset = j << 2; + block = s[i]; + array[offset] = block & 0xFF; + array[offset + 1] = block >> 8 & 0xFF; + array[offset + 2] = block >> 16 & 0xFF; + array[offset + 3] = block >> 24 & 0xFF; + } + if (j % blockCount === 0) { + f(s); + } } - var browserDetails = utils.detectBrowser(window); - - if (!('sctp' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'sctp', { - get: function get() { - return typeof this._sctp === 'undefined' ? null : this._sctp; + if (extraBytes) { + offset = j << 2; + block = s[i]; + array[offset] = block & 0xFF; + if (extraBytes > 1) { + array[offset + 1] = block >> 8 & 0xFF; + } + if (extraBytes > 2) { + array[offset + 2] = block >> 16 & 0xFF; } - }); } + return array; +}; - var sctpInDescription = function sctpInDescription(description) { - var sections = SDPUtils.splitSections(description.sdp); - sections.shift(); - return sections.some(function (mediaSection) { - var mLine = SDPUtils.parseMLine(mediaSection); - return mLine && mLine.kind === 'application' && mLine.protocol.indexOf('SCTP') !== -1; - }); - }; - - var getRemoteFirefoxVersion = function getRemoteFirefoxVersion(description) { - // TODO: Is there a better solution for detecting Firefox? - var match = description.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/); - if (match === null || match.length < 2) { - return -1; - } - var version = parseInt(match[1], 10); - // Test for NaN (yes, this is ugly) - return version !== version ? -1 : version; - }; - - var getCanSendMaxMessageSize = function getCanSendMaxMessageSize(remoteIsFirefox) { - // Every implementation we know can send at least 64 KiB. - // Note: Although Chrome is technically able to send up to 256 KiB, the - // data does not reach the other peer reliably. - // See: https://bugs.chromium.org/p/webrtc/issues/detail?id=8419 - var canSendMaxMessageSize = 65536; - if (browserDetails.browser === 'firefox') { - if (browserDetails.version < 57) { - if (remoteIsFirefox === -1) { - // FF < 57 will send in 16 KiB chunks using the deprecated PPID - // fragmentation. - canSendMaxMessageSize = 16384; - } else { - // However, other FF (and RAWRTC) can reassemble PPID-fragmented - // messages. Thus, supporting ~2 GiB when sending. - canSendMaxMessageSize = 2147483637; - } - } else if (browserDetails.version < 60) { - // Currently, all FF >= 57 will reset the remote maximum message size - // to the default value when a data channel is created at a later - // stage. :( - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - canSendMaxMessageSize = browserDetails.version === 57 ? 65535 : 65536; - } else { - // FF >= 60 supports sending ~2 GiB - canSendMaxMessageSize = 2147483637; - } - } - return canSendMaxMessageSize; - }; +function Kmac(bits, padding, outputBits) { + Keccak.call(this, bits, padding, outputBits); +} - var getMaxMessageSize = function getMaxMessageSize(description, remoteIsFirefox) { - // Note: 65536 bytes is the default value from the SDP spec. Also, - // every implementation we know supports receiving 65536 bytes. - var maxMessageSize = 65536; +Kmac.prototype = new Keccak(); - // FF 57 has a slightly incorrect default remote max message size, so - // we need to adjust it here to avoid a failure when sending. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1425697 - if (browserDetails.browser === 'firefox' && browserDetails.version === 57) { - maxMessageSize = 65535; - } +Kmac.prototype.finalize = function () { + this.encode(this.outputBits, true); + return Keccak.prototype.finalize.call(this); +}; - var match = SDPUtils.matchPrefix(description.sdp, 'a=max-message-size:'); - if (match.length > 0) { - maxMessageSize = parseInt(match[0].substr(19), 10); - } else if (browserDetails.browser === 'firefox' && remoteIsFirefox !== -1) { - // If the maximum message size is not present in the remote SDP and - // both local and remote are Firefox, the remote peer can receive - // ~2 GiB. - maxMessageSize = 2147483637; - } - return maxMessageSize; - }; +var f = function f(s) { + var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; + for (n = 0; n < 48; n += 2) { + c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; + c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; + c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; + c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; + c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; + c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; + c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; + c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; + c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; + c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = function () { - var pc = this; - pc._sctp = null; + h = c8 ^ (c2 << 1 | c3 >>> 31); + l = c9 ^ (c3 << 1 | c2 >>> 31); + s[0] ^= h; + s[1] ^= l; + s[10] ^= h; + s[11] ^= l; + s[20] ^= h; + s[21] ^= l; + s[30] ^= h; + s[31] ^= l; + s[40] ^= h; + s[41] ^= l; + h = c0 ^ (c4 << 1 | c5 >>> 31); + l = c1 ^ (c5 << 1 | c4 >>> 31); + s[2] ^= h; + s[3] ^= l; + s[12] ^= h; + s[13] ^= l; + s[22] ^= h; + s[23] ^= l; + s[32] ^= h; + s[33] ^= l; + s[42] ^= h; + s[43] ^= l; + h = c2 ^ (c6 << 1 | c7 >>> 31); + l = c3 ^ (c7 << 1 | c6 >>> 31); + s[4] ^= h; + s[5] ^= l; + s[14] ^= h; + s[15] ^= l; + s[24] ^= h; + s[25] ^= l; + s[34] ^= h; + s[35] ^= l; + s[44] ^= h; + s[45] ^= l; + h = c4 ^ (c8 << 1 | c9 >>> 31); + l = c5 ^ (c9 << 1 | c8 >>> 31); + s[6] ^= h; + s[7] ^= l; + s[16] ^= h; + s[17] ^= l; + s[26] ^= h; + s[27] ^= l; + s[36] ^= h; + s[37] ^= l; + s[46] ^= h; + s[47] ^= l; + h = c6 ^ (c0 << 1 | c1 >>> 31); + l = c7 ^ (c1 << 1 | c0 >>> 31); + s[8] ^= h; + s[9] ^= l; + s[18] ^= h; + s[19] ^= l; + s[28] ^= h; + s[29] ^= l; + s[38] ^= h; + s[39] ^= l; + s[48] ^= h; + s[49] ^= l; - if (sctpInDescription(arguments[0])) { - // Check if the remote is FF. - var isFirefox = getRemoteFirefoxVersion(arguments[0]); + b0 = s[0]; + b1 = s[1]; + b32 = s[11] << 4 | s[10] >>> 28; + b33 = s[10] << 4 | s[11] >>> 28; + b14 = s[20] << 3 | s[21] >>> 29; + b15 = s[21] << 3 | s[20] >>> 29; + b46 = s[31] << 9 | s[30] >>> 23; + b47 = s[30] << 9 | s[31] >>> 23; + b28 = s[40] << 18 | s[41] >>> 14; + b29 = s[41] << 18 | s[40] >>> 14; + b20 = s[2] << 1 | s[3] >>> 31; + b21 = s[3] << 1 | s[2] >>> 31; + b2 = s[13] << 12 | s[12] >>> 20; + b3 = s[12] << 12 | s[13] >>> 20; + b34 = s[22] << 10 | s[23] >>> 22; + b35 = s[23] << 10 | s[22] >>> 22; + b16 = s[33] << 13 | s[32] >>> 19; + b17 = s[32] << 13 | s[33] >>> 19; + b48 = s[42] << 2 | s[43] >>> 30; + b49 = s[43] << 2 | s[42] >>> 30; + b40 = s[5] << 30 | s[4] >>> 2; + b41 = s[4] << 30 | s[5] >>> 2; + b22 = s[14] << 6 | s[15] >>> 26; + b23 = s[15] << 6 | s[14] >>> 26; + b4 = s[25] << 11 | s[24] >>> 21; + b5 = s[24] << 11 | s[25] >>> 21; + b36 = s[34] << 15 | s[35] >>> 17; + b37 = s[35] << 15 | s[34] >>> 17; + b18 = s[45] << 29 | s[44] >>> 3; + b19 = s[44] << 29 | s[45] >>> 3; + b10 = s[6] << 28 | s[7] >>> 4; + b11 = s[7] << 28 | s[6] >>> 4; + b42 = s[17] << 23 | s[16] >>> 9; + b43 = s[16] << 23 | s[17] >>> 9; + b24 = s[26] << 25 | s[27] >>> 7; + b25 = s[27] << 25 | s[26] >>> 7; + b6 = s[36] << 21 | s[37] >>> 11; + b7 = s[37] << 21 | s[36] >>> 11; + b38 = s[47] << 24 | s[46] >>> 8; + b39 = s[46] << 24 | s[47] >>> 8; + b30 = s[8] << 27 | s[9] >>> 5; + b31 = s[9] << 27 | s[8] >>> 5; + b12 = s[18] << 20 | s[19] >>> 12; + b13 = s[19] << 20 | s[18] >>> 12; + b44 = s[29] << 7 | s[28] >>> 25; + b45 = s[28] << 7 | s[29] >>> 25; + b26 = s[38] << 8 | s[39] >>> 24; + b27 = s[39] << 8 | s[38] >>> 24; + b8 = s[48] << 14 | s[49] >>> 18; + b9 = s[49] << 14 | s[48] >>> 18; - // Get the maximum message size the local peer is capable of sending - var canSendMMS = getCanSendMaxMessageSize(isFirefox); + s[0] = b0 ^ ~b2 & b4; + s[1] = b1 ^ ~b3 & b5; + s[10] = b10 ^ ~b12 & b14; + s[11] = b11 ^ ~b13 & b15; + s[20] = b20 ^ ~b22 & b24; + s[21] = b21 ^ ~b23 & b25; + s[30] = b30 ^ ~b32 & b34; + s[31] = b31 ^ ~b33 & b35; + s[40] = b40 ^ ~b42 & b44; + s[41] = b41 ^ ~b43 & b45; + s[2] = b2 ^ ~b4 & b6; + s[3] = b3 ^ ~b5 & b7; + s[12] = b12 ^ ~b14 & b16; + s[13] = b13 ^ ~b15 & b17; + s[22] = b22 ^ ~b24 & b26; + s[23] = b23 ^ ~b25 & b27; + s[32] = b32 ^ ~b34 & b36; + s[33] = b33 ^ ~b35 & b37; + s[42] = b42 ^ ~b44 & b46; + s[43] = b43 ^ ~b45 & b47; + s[4] = b4 ^ ~b6 & b8; + s[5] = b5 ^ ~b7 & b9; + s[14] = b14 ^ ~b16 & b18; + s[15] = b15 ^ ~b17 & b19; + s[24] = b24 ^ ~b26 & b28; + s[25] = b25 ^ ~b27 & b29; + s[34] = b34 ^ ~b36 & b38; + s[35] = b35 ^ ~b37 & b39; + s[44] = b44 ^ ~b46 & b48; + s[45] = b45 ^ ~b47 & b49; + s[6] = b6 ^ ~b8 & b0; + s[7] = b7 ^ ~b9 & b1; + s[16] = b16 ^ ~b18 & b10; + s[17] = b17 ^ ~b19 & b11; + s[26] = b26 ^ ~b28 & b20; + s[27] = b27 ^ ~b29 & b21; + s[36] = b36 ^ ~b38 & b30; + s[37] = b37 ^ ~b39 & b31; + s[46] = b46 ^ ~b48 & b40; + s[47] = b47 ^ ~b49 & b41; + s[8] = b8 ^ ~b0 & b2; + s[9] = b9 ^ ~b1 & b3; + s[18] = b18 ^ ~b10 & b12; + s[19] = b19 ^ ~b11 & b13; + s[28] = b28 ^ ~b20 & b22; + s[29] = b29 ^ ~b21 & b23; + s[38] = b38 ^ ~b30 & b32; + s[39] = b39 ^ ~b31 & b33; + s[48] = b48 ^ ~b40 & b42; + s[49] = b49 ^ ~b41 & b43; - // Get the maximum message size of the remote peer. - var remoteMMS = getMaxMessageSize(arguments[0], isFirefox); + s[0] ^= RC[n]; + s[1] ^= RC[n + 1]; + } +}; - // Determine final maximum message size - var maxMessageSize; - if (canSendMMS === 0 && remoteMMS === 0) { - maxMessageSize = Number.POSITIVE_INFINITY; - } else if (canSendMMS === 0 || remoteMMS === 0) { - maxMessageSize = Math.max(canSendMMS, remoteMMS); - } else { - maxMessageSize = Math.min(canSendMMS, remoteMMS); - } +module.exports = methods; - // Create a dummy RTCSctpTransport object and the 'maxMessageSize' - // attribute. - var sctp = {}; - Object.defineProperty(sctp, 'maxMessageSize', { - get: function get() { - return maxMessageSize; - } - }); - pc._sctp = sctp; - } +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"_process":704}],780:[function(require,module,exports){ +'use strict'; - return origSetRemoteDescription.apply(pc, arguments); - }; - }, +var jsSHA = require('jssha/src/sha256'); +var Blake256 = require('./blake256'); +var _keccak = require('./sha3')['keccak256']; - shimSendThrowTypeError: function shimSendThrowTypeError(window) { - if (!(window.RTCPeerConnection && 'createDataChannel' in window.RTCPeerConnection.prototype)) { - return; +function numberToHex(number) { + var hex = Math.round(number).toString(16); + if (hex.length === 1) { + hex = '0' + hex; } + return hex; +} - // Note: Although Firefox >= 57 has a native implementation, the maximum - // message size can be reset for all data channels at a later stage. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - - function wrapDcSend(dc, pc) { - var origDataChannelSend = dc.send; - dc.send = function () { - var data = arguments[0]; - var length = data.length || data.size || data.byteLength; - if (dc.readyState === 'open' && pc.sctp && length > pc.sctp.maxMessageSize) { - throw new TypeError('Message too large (can send a maximum of ' + pc.sctp.maxMessageSize + ' bytes)'); +module.exports = { + toHex: function toHex(arrayOfBytes) { + var hex = ''; + for (var i = 0; i < arrayOfBytes.length; i++) { + hex += numberToHex(arrayOfBytes[i]); } - return origDataChannelSend.apply(dc, arguments); - }; + return hex; + }, + sha256: function sha256(hexString) { + var sha = new jsSHA('SHA-256', 'HEX'); + sha.update(hexString); + return sha.getHash('HEX'); + }, + sha256Checksum: function sha256Checksum(payload) { + return this.sha256(this.sha256(payload)).substr(0, 8); + }, + blake256: function blake256(hexString) { + return new Blake256().update(hexString, 'hex').digest('hex'); + }, + blake256Checksum: function blake256Checksum(payload) { + return this.blake256(this.blake256(payload)).substr(0, 8); + }, + keccak256: function keccak256(hexString) { + return _keccak(hexString); } - var origCreateDataChannel = window.RTCPeerConnection.prototype.createDataChannel; - window.RTCPeerConnection.prototype.createDataChannel = function () { - var pc = this; - var dataChannel = origCreateDataChannel.apply(pc, arguments); - wrapDcSend(dataChannel, pc); - return dataChannel; - }; - utils.wrapPeerConnectionEvent(window, 'datachannel', function (e) { - wrapDcSend(e.channel, e.target); - return e; - }); - } }; -},{"./utils":798,"sdp":731}],792:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"./blake256":778,"./sha3":779,"jssha/src/sha256":675}],781:[function(require,module,exports){ 'use strict'; -var utils = require('../utils'); -var filterIceServers = require('./filtericeservers'); -var shimRTCPeerConnection = require('rtcpeerconnection-shim'); +var XRPValidator = require('./ripple_validator'); +var ETHValidator = require('./ethereum_validator'); + +// defines P2PKH and P2SH address types for standard (prod) and testnet networks +var CURRENCIES = [{ + name: 'bitcoin', + symbol: 'btc', + addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'bitcoincash', + symbol: 'bch', + addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'litecoin', + symbol: 'ltc', + addressTypes: { prod: ['30', '05', '32'], testnet: ['6f', 'c4'] } +}, { + name: 'peercoin', + symbol: 'ppc', + addressTypes: { prod: ['37', '75'], testnet: ['6f', 'c4'] } +}, { + name: 'dogecoin', + symbol: 'doge', + addressTypes: { prod: ['1e', '16'], testnet: ['71', 'c4'] } +}, { + name: 'beavercoin', + symbol: 'bvc', + addressTypes: { prod: ['19', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'freicoin', + symbol: 'frc', + addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'protoshares', + symbol: 'pts', + addressTypes: { prod: ['38', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'megacoin', + symbol: 'mec', + addressTypes: { prod: ['32', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'primecoin', + symbol: 'xpm', + addressTypes: { prod: ['17', '53'], testnet: ['6f', 'c4'] } +}, { + name: 'auroracoin', + symbol: 'aur', + addressTypes: { prod: ['17', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'namecoin', + symbol: 'nmc', + addressTypes: { prod: ['34'], testnet: [] } +}, { + name: 'biocoin', + symbol: 'bio', + addressTypes: { prod: ['19', '14'], testnet: ['6f', 'c4'] } +}, { + name: 'garlicoin', + symbol: 'grlc', + addressTypes: { prod: ['26', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'vertcoin', + symbol: 'vtc', + addressTypes: { prod: ['0x', '47'], testnet: ['6f', 'c4'] } +}, { + name: 'bitcoingold', + symbol: 'btg', + addressTypes: { prod: ['26', '17'], testnet: ['6f', 'c4'] } +}, { + name: 'komodo', + symbol: 'kmd', + addressTypes: { prod: ['3c', '55'], testnet: ['0', '5'] } +}, { + name: 'bitcoinz', + symbol: 'btcz', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'bitcoinprivate', + symbol: 'btcp', + expectedLength: 26, + addressTypes: { prod: ['1325', '13af'], testnet: ['1957', '19e0'] } +}, { + name: 'hush', + symbol: 'hush', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'snowgem', + symbol: 'sng', + expectedLength: 26, + addressTypes: { prod: ['1c28', '1c2d'], testnet: ['1d25', '1cba'] } +}, { + name: 'zcash', + symbol: 'zec', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'zclassic', + symbol: 'zcl', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'zencash', + symbol: 'zen', + expectedLength: 26, + addressTypes: { prod: ['2089', '2096'], testnet: ['2092', '2098'] } +}, { + name: 'votecoin', + symbol: 'vot', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'decred', + symbol: 'dcr', + addressTypes: { prod: ['073f', '071a'], testnet: ['0f21', '0efc'] }, + hashFunction: 'blake256', + expectedLength: 26 +}, { + name: 'digibyte', + symbol: 'dgb', + addressTypes: { prod: ['1e'], testnet: [] } +}, { + name: 'ethereum', + symbol: 'eth', + validator: ETHValidator +}, { + name: 'etherzero', + symbol: 'etz', + validator: ETHValidator +}, { + name: 'ethereumclassic', + symbol: 'etc', + validator: ETHValidator +}, { + name: 'callisto', + symbol: 'clo', + validator: ETHValidator +}, { + name: 'ripple', + symbol: 'xrp', + validator: XRPValidator +}, { + name: 'dash', + symbol: 'dash', + addressTypes: { prod: ['4c', '10'], testnet: ['8c', '13'] } +}, { + name: 'neo', + symbol: 'neo', + addressTypes: { prod: ['17'], testnet: [] } +}, { + name: 'neogas', + symbol: 'gas', + addressTypes: { prod: ['17'], testnet: [] } +}, { + name: 'qtum', + symbol: 'qtum', + addressTypes: { prod: ['3a', '32'], testnet: ['6f', 'c4'] } +}]; module.exports = { - shimGetUserMedia: require('./getusermedia'), - shimPeerConnection: function shimPeerConnection(window) { - var browserDetails = utils.detectBrowser(window); - - if (window.RTCIceGatherer) { - if (!window.RTCIceCandidate) { - window.RTCIceCandidate = function (args) { - return args; - }; - } - if (!window.RTCSessionDescription) { - window.RTCSessionDescription = function (args) { - return args; - }; - } - // this adds an additional event listener to MediaStrackTrack that signals - // when a tracks enabled property was changed. Workaround for a bug in - // addStream, see below. No longer required in 15025+ - if (browserDetails.version < 15025) { - var origMSTEnabled = Object.getOwnPropertyDescriptor(window.MediaStreamTrack.prototype, 'enabled'); - Object.defineProperty(window.MediaStreamTrack.prototype, 'enabled', { - set: function set(value) { - origMSTEnabled.set.call(this, value); - var ev = new Event('enabled'); - ev.enabled = value; - this.dispatchEvent(ev); - } - }); - } - } - - // ORTC defines the DTMF sender a bit different. - // https://github.com/w3c/ortc/issues/714 - if (window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { - get: function get() { - if (this._dtmf === undefined) { - if (this.track.kind === 'audio') { - this._dtmf = new window.RTCDtmfSender(this); - } else if (this.track.kind === 'video') { - this._dtmf = null; + getByNameOrSymbol: function getByNameOrSymbol(currencyNameOrSymbol) { + var nameOrSymbol = currencyNameOrSymbol.toLowerCase(); + for (var i = 0; i < CURRENCIES.length; i++) { + var currency = CURRENCIES[i]; + if (currency.name === nameOrSymbol || currency.symbol === nameOrSymbol) { + return currency; } - } - return this._dtmf; - } - }); - } - // Edge currently only implements the RTCDtmfSender, not the - // RTCDTMFSender alias. See http://draft.ortc.org/#rtcdtmfsender2* - if (window.RTCDtmfSender && !window.RTCDTMFSender) { - window.RTCDTMFSender = window.RTCDtmfSender; - } - - var RTCPeerConnectionShim = shimRTCPeerConnection(window, browserDetails.version); - window.RTCPeerConnection = function (config) { - if (config && config.iceServers) { - config.iceServers = filterIceServers(config.iceServers); - } - return new RTCPeerConnectionShim(config); - }; - window.RTCPeerConnection.prototype = RTCPeerConnectionShim.prototype; - }, - shimReplaceTrack: function shimReplaceTrack(window) { - // ORTC has replaceTrack -- https://github.com/w3c/ortc/issues/614 - if (window.RTCRtpSender && !('replaceTrack' in window.RTCRtpSender.prototype)) { - window.RTCRtpSender.prototype.replaceTrack = window.RTCRtpSender.prototype.setTrack; - } - } -}; - -},{"../utils":798,"./filtericeservers":793,"./getusermedia":794,"rtcpeerconnection-shim":728}],793:[function(require,module,exports){ -/* - * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var utils = require('../utils'); -// Edge does not like -// 1) stun: filtered after 14393 unless ?transport=udp is present -// 2) turn: that does not have all of turn:host:port?transport=udp -// 3) turn: with ipv6 addresses -// 4) turn: occurring muliple times -module.exports = function (iceServers, edgeVersion) { - var hasTurn = false; - iceServers = JSON.parse(JSON.stringify(iceServers)); - return iceServers.filter(function (server) { - if (server && (server.urls || server.url)) { - var urls = server.urls || server.url; - if (server.url && !server.urls) { - utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - } - var isString = typeof urls === 'string'; - if (isString) { - urls = [urls]; - } - urls = urls.filter(function (url) { - var validTurn = url.indexOf('turn:') === 0 && url.indexOf('transport=udp') !== -1 && url.indexOf('turn:[') === -1 && !hasTurn; - - if (validTurn) { - hasTurn = true; - return true; } - return url.indexOf('stun:') === 0 && edgeVersion >= 14393 && url.indexOf('?transport=udp') === -1; - }); - - delete server.url; - server.urls = isString ? urls[0] : urls; - return !!urls.length; + return null; } - }); -}; - -},{"../utils":798}],794:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -// Expose public methods. - -module.exports = function (window) { - var navigator = window && window.navigator; - - var shimError_ = function shimError_(e) { - return { - name: { PermissionDeniedError: 'NotAllowedError' }[e.name] || e.name, - message: e.message, - constraint: e.constraint, - toString: function toString() { - return this.name; - } - }; - }; - - // getUserMedia error shim. - var origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (c) { - return origGetUserMedia(c).catch(function (e) { - return Promise.reject(shimError_(e)); - }); - }; }; -},{}],795:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"./ethereum_validator":782,"./ripple_validator":783}],782:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils'); +var cryptoUtils = require('./crypto/utils'); module.exports = { - shimGetUserMedia: require('./getusermedia'), - shimOnTrack: function shimOnTrack(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('ontrack' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', { - get: function get() { - return this._ontrack; - }, - set: function set(f) { - if (this._ontrack) { - this.removeEventListener('track', this._ontrack); - this.removeEventListener('addstream', this._ontrackpoly); - } - this.addEventListener('track', this._ontrack = f); - this.addEventListener('addstream', this._ontrackpoly = function (e) { - e.stream.getTracks().forEach(function (track) { - var event = new Event('track'); - event.track = track; - event.receiver = { track: track }; - event.transceiver = { receiver: event.receiver }; - event.streams = [e.stream]; - this.dispatchEvent(event); - }.bind(this)); - }.bind(this)); - }, - enumerable: true, - configurable: true - }); - } - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCTrackEvent && 'receiver' in window.RTCTrackEvent.prototype && !('transceiver' in window.RTCTrackEvent.prototype)) { - Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { - get: function get() { - return { receiver: this.receiver }; - } - }); - } - }, - - shimSourceObject: function shimSourceObject(window) { - // Firefox has supported mozSrcObject since FF22, unprefixed in 42. - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { - if (window.HTMLMediaElement && !('srcObject' in window.HTMLMediaElement.prototype)) { - // Shim the srcObject property, once, when HTMLMediaElement is found. - Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', { - get: function get() { - return this.mozSrcObject; - }, - set: function set(stream) { - this.mozSrcObject = stream; - } - }); - } - } - }, - - shimPeerConnection: function shimPeerConnection(window) { - var browserDetails = utils.detectBrowser(window); - - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !(window.RTCPeerConnection || window.mozRTCPeerConnection)) { - return; // probably media.peerconnection.enabled=false in about:config - } - // The RTCPeerConnection object. - if (!window.RTCPeerConnection) { - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - if (browserDetails.version < 38) { - // .urls is not supported in FF < 38. - // create RTCIceServers with a single url. - if (pcConfig && pcConfig.iceServers) { - var newIceServers = []; - for (var i = 0; i < pcConfig.iceServers.length; i++) { - var server = pcConfig.iceServers[i]; - if (server.hasOwnProperty('urls')) { - for (var j = 0; j < server.urls.length; j++) { - var newServer = { - url: server.urls[j] - }; - if (server.urls[j].indexOf('turn') === 0) { - newServer.username = server.username; - newServer.credential = server.credential; - } - newIceServers.push(newServer); - } - } else { - newIceServers.push(pcConfig.iceServers[i]); - } - } - pcConfig.iceServers = newIceServers; - } + isValidAddress: function isValidAddress(address) { + if (!/^0x[0-9a-fA-F]{40}$/.test(address)) { + // Check if it has the basic requirements of an address + return false; } - return new window.mozRTCPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = window.mozRTCPeerConnection.prototype; - - // wrap static methods. Currently just generateCertificate. - if (window.mozRTCPeerConnection.generateCertificate) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return window.mozRTCPeerConnection.generateCertificate; - } - }); - } - - window.RTCSessionDescription = window.mozRTCSessionDescription; - window.RTCIceCandidate = window.mozRTCIceCandidate; - } - - // shim away need for obsolete RTCIceCandidate/RTCSessionDescription. - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - arguments[0] = new (method === 'addIceCandidate' ? window.RTCIceCandidate : window.RTCSessionDescription)(arguments[0]); - return nativeMethod.apply(this, arguments); - }; - }); - // support for addIceCandidate(null or undefined) - var nativeAddIceCandidate = window.RTCPeerConnection.prototype.addIceCandidate; - window.RTCPeerConnection.prototype.addIceCandidate = function () { - if (!arguments[0]) { - if (arguments[1]) { - arguments[1].apply(null); + if (/^0x[0-9a-f]{40}$/.test(address) || /^0x?[0-9A-F]{40}$/.test(address)) { + // If it's all small caps or all all caps, return true + return true; } - return Promise.resolve(); - } - return nativeAddIceCandidate.apply(this, arguments); - }; - // shim getStats with maplike support - var makeMapStats = function makeMapStats(stats) { - var map = new Map(); - Object.keys(stats).forEach(function (key) { - map.set(key, stats[key]); - map[key] = stats[key]; - }); - return map; - }; + // Otherwise check each case + return this.verifyChecksum(address); + }, + verifyChecksum: function verifyChecksum(address) { + // Check each case + address = address.replace('0x', ''); - var modernStatsTypes = { - inboundrtp: 'inbound-rtp', - outboundrtp: 'outbound-rtp', - candidatepair: 'candidate-pair', - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }; + var addressHash = cryptoUtils.keccak256(address.toLowerCase()); - var nativeGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function (selector, onSucc, onErr) { - return nativeGetStats.apply(this, [selector || null]).then(function (stats) { - if (browserDetails.version < 48) { - stats = makeMapStats(stats); - } - if (browserDetails.version < 53 && !onSucc) { - // Shim only promise getStats with spec-hyphens in type names - // Leave callback version alone; misc old uses of forEach before Map - try { - stats.forEach(function (stat) { - stat.type = modernStatsTypes[stat.type] || stat.type; - }); - } catch (e) { - if (e.name !== 'TypeError') { - throw e; + for (var i = 0; i < 40; i++) { + // The nth letter should be uppercase if the nth digit of casemap is 1 + if (parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i] || parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i]) { + return false; } - // Avoid TypeError: "type" is read-only, in old versions. 34-43ish - stats.forEach(function (stat, i) { - stats.set(i, Object.assign({}, stat, { - type: modernStatsTypes[stat.type] || stat.type - })); - }); - } - } - return stats; - }).then(onSucc, onErr); - }; - }, - - shimSenderGetStats: function shimSenderGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { - return; - } - if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) { - return; - } - var origGetSenders = window.RTCPeerConnection.prototype.getSenders; - if (origGetSenders) { - window.RTCPeerConnection.prototype.getSenders = function () { - var pc = this; - var senders = origGetSenders.apply(pc, []); - senders.forEach(function (sender) { - sender._pc = pc; - }); - return senders; - }; - } - - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - if (origAddTrack) { - window.RTCPeerConnection.prototype.addTrack = function () { - var sender = origAddTrack.apply(this, arguments); - sender._pc = this; - return sender; - }; - } - window.RTCRtpSender.prototype.getStats = function () { - return this.track ? this._pc.getStats(this.track) : Promise.resolve(new Map()); - }; - }, - - shimReceiverGetStats: function shimReceiverGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { - return; - } - if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) { - return; - } - var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; - if (origGetReceivers) { - window.RTCPeerConnection.prototype.getReceivers = function () { - var pc = this; - var receivers = origGetReceivers.apply(pc, []); - receivers.forEach(function (receiver) { - receiver._pc = pc; - }); - return receivers; - }; - } - utils.wrapPeerConnectionEvent(window, 'track', function (e) { - e.receiver._pc = e.srcElement; - return e; - }); - window.RTCRtpReceiver.prototype.getStats = function () { - return this._pc.getStats(this.track); - }; - }, - - shimRemoveStream: function shimRemoveStream(window) { - if (!window.RTCPeerConnection || 'removeStream' in window.RTCPeerConnection.prototype) { - return; - } - window.RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - utils.deprecated('removeStream', 'removeTrack'); - this.getSenders().forEach(function (sender) { - if (sender.track && stream.getTracks().indexOf(sender.track) !== -1) { - pc.removeTrack(sender); } - }); - }; - }, - - shimRTCDataChannel: function shimRTCDataChannel(window) { - // rename DataChannel to RTCDataChannel (native fix in FF60): - // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851 - if (window.DataChannel && !window.RTCDataChannel) { - window.RTCDataChannel = window.DataChannel; - } - }, - shimGetDisplayMedia: function shimGetDisplayMedia(window, preferredMediaSource) { - if ('getDisplayMedia' in window.navigator) { - return; + return true; } - navigator.getDisplayMedia = function (constraints) { - if (!(constraints && constraints.video)) { - var err = new DOMException('getDisplayMedia without video ' + 'constraints is undefined'); - err.name = 'NotFoundError'; - // from https://heycam.github.io/webidl/#idl-DOMException-error-names - err.code = 8; - return Promise.reject(err); - } - if (constraints.video === true) { - constraints.video = { mediaSource: preferredMediaSource }; - } else { - constraints.video.mediaSource = preferredMediaSource; - } - return navigator.mediaDevices.getUserMedia(constraints); - }; - } }; -},{"../utils":798,"./getusermedia":796}],796:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"./crypto/utils":780}],783:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils'); -var logging = utils.log; - -// Expose public methods. -module.exports = function (window) { - var browserDetails = utils.detectBrowser(window); - var navigator = window && window.navigator; - var MediaStreamTrack = window && window.MediaStreamTrack; - - var shimError_ = function shimError_(e) { - return { - name: { - InternalError: 'NotReadableError', - NotSupportedError: 'TypeError', - PermissionDeniedError: 'NotAllowedError', - SecurityError: 'NotAllowedError' - }[e.name] || e.name, - message: { - 'The operation is insecure.': 'The request is not allowed by the ' + 'user agent or the platform in the current context.' - }[e.message] || e.message, - constraint: e.constraint, - toString: function toString() { - return this.name + (this.message && ': ') + this.message; - } - }; - }; - - // getUserMedia constraints shim. - var getUserMedia_ = function getUserMedia_(constraints, onSuccess, onError) { - var constraintsToFF37_ = function constraintsToFF37_(c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) !== 'object' || c.require) { - return c; - } - var require = []; - Object.keys(c).forEach(function (key) { - if (key === 'require' || key === 'advanced' || key === 'mediaSource') { - return; - } - var r = c[key] = _typeof(c[key]) === 'object' ? c[key] : { ideal: c[key] }; - if (r.min !== undefined || r.max !== undefined || r.exact !== undefined) { - require.push(key); - } - if (r.exact !== undefined) { - if (typeof r.exact === 'number') { - r.min = r.max = r.exact; - } else { - c[key] = r.exact; - } - delete r.exact; - } - if (r.ideal !== undefined) { - c.advanced = c.advanced || []; - var oc = {}; - if (typeof r.ideal === 'number') { - oc[key] = { min: r.ideal, max: r.ideal }; - } else { - oc[key] = r.ideal; - } - c.advanced.push(oc); - delete r.ideal; - if (!Object.keys(r).length) { - delete c[key]; - } - } - }); - if (require.length) { - c.require = require; - } - return c; - }; - constraints = JSON.parse(JSON.stringify(constraints)); - if (browserDetails.version < 38) { - logging('spec: ' + JSON.stringify(constraints)); - if (constraints.audio) { - constraints.audio = constraintsToFF37_(constraints.audio); - } - if (constraints.video) { - constraints.video = constraintsToFF37_(constraints.video); - } - logging('ff37: ' + JSON.stringify(constraints)); - } - return navigator.mozGetUserMedia(constraints, onSuccess, function (e) { - onError(shimError_(e)); - }); - }; +var cryptoUtils = require('./crypto/utils'); +var baseX = require('base-x'); - // Returns the result of getUserMedia as a Promise. - var getUserMediaPromise_ = function getUserMediaPromise_(constraints) { - return new Promise(function (resolve, reject) { - getUserMedia_(constraints, resolve, reject); - }); - }; +var ALLOWED_CHARS = 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'; - // Shim for mediaDevices on older versions. - if (!navigator.mediaDevices) { - navigator.mediaDevices = { getUserMedia: getUserMediaPromise_, - addEventListener: function addEventListener() {}, - removeEventListener: function removeEventListener() {} - }; - } - navigator.mediaDevices.enumerateDevices = navigator.mediaDevices.enumerateDevices || function () { - return new Promise(function (resolve) { - var infos = [{ kind: 'audioinput', deviceId: 'default', label: '', groupId: '' }, { kind: 'videoinput', deviceId: 'default', label: '', groupId: '' }]; - resolve(infos); - }); - }; +var codec = baseX(ALLOWED_CHARS); +var regexp = new RegExp('^r[' + ALLOWED_CHARS + ']{27,35}$'); - if (browserDetails.version < 41) { - // Work around http://bugzil.la/1169665 - var orgEnumerateDevices = navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices); - navigator.mediaDevices.enumerateDevices = function () { - return orgEnumerateDevices().then(undefined, function (e) { - if (e.name === 'NotFoundError') { - return []; - } - throw e; - }); - }; - } - if (browserDetails.version < 49) { - var origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (c) { - return origGetUserMedia(c).then(function (stream) { - // Work around https://bugzil.la/802326 - if (c.audio && !stream.getAudioTracks().length || c.video && !stream.getVideoTracks().length) { - stream.getTracks().forEach(function (track) { - track.stop(); - }); - throw new DOMException('The object can not be found here.', 'NotFoundError'); +module.exports = { + /** + * ripple address validation + */ + isValidAddress: function isValidAddress(address) { + if (regexp.test(address)) { + return this.verifyChecksum(address); } - return stream; - }, function (e) { - return Promise.reject(shimError_(e)); - }); - }; - } - if (!(browserDetails.version > 55 && 'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) { - var remap = function remap(obj, a, b) { - if (a in obj && !(b in obj)) { - obj[b] = obj[a]; - delete obj[a]; - } - }; - var nativeGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) === 'object' && _typeof(c.audio) === 'object') { - c = JSON.parse(JSON.stringify(c)); - remap(c.audio, 'autoGainControl', 'mozAutoGainControl'); - remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression'); - } - return nativeGetUserMedia(c); - }; + return false; + }, - if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) { - var nativeGetSettings = MediaStreamTrack.prototype.getSettings; - MediaStreamTrack.prototype.getSettings = function () { - var obj = nativeGetSettings.apply(this, arguments); - remap(obj, 'mozAutoGainControl', 'autoGainControl'); - remap(obj, 'mozNoiseSuppression', 'noiseSuppression'); - return obj; - }; - } + verifyChecksum: function verifyChecksum(address) { + var bytes = codec.decode(address); + var computedChecksum = cryptoUtils.sha256Checksum(cryptoUtils.toHex(bytes.slice(0, -4))); + var checksum = cryptoUtils.toHex(bytes.slice(-4)); - if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) { - var nativeApplyConstraints = MediaStreamTrack.prototype.applyConstraints; - MediaStreamTrack.prototype.applyConstraints = function (c) { - if (this.kind === 'audio' && (typeof c === 'undefined' ? 'undefined' : _typeof(c)) === 'object') { - c = JSON.parse(JSON.stringify(c)); - remap(c, 'autoGainControl', 'mozAutoGainControl'); - remap(c, 'noiseSuppression', 'mozNoiseSuppression'); - } - return nativeApplyConstraints.apply(this, [c]); - }; - } - } - navigator.getUserMedia = function (constraints, onSuccess, onError) { - if (browserDetails.version < 44) { - return getUserMedia_(constraints, onSuccess, onError); + return computedChecksum === checksum; } - // Replace Firefox 44+'s deprecation warning with unprefixed version. - utils.deprecated('navigator.getUserMedia', 'navigator.mediaDevices.getUserMedia'); - navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError); - }; }; -},{"../utils":798}],797:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ +},{"./crypto/utils":780,"base-x":211}],784:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +var base58 = require('./crypto/base58'); +var cryptoUtils = require('./crypto/utils'); +var currencies = require('./currencies'); -var utils = require('../utils'); +var DEFAULT_CURRENCY_NAME = 'bitcoin'; +var DEFAULT_NETWORK_TYPE = 'prod'; -module.exports = { - shimLocalStreamsAPI: function shimLocalStreamsAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { - return; - } - if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getLocalStreams = function () { - if (!this._localStreams) { - this._localStreams = []; - } - return this._localStreams; - }; - } - if (!('getStreamById' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getStreamById = function (id) { - var result = null; - if (this._localStreams) { - this._localStreams.forEach(function (stream) { - if (stream.id === id) { - result = stream; - } - }); - } - if (this._remoteStreams) { - this._remoteStreams.forEach(function (stream) { - if (stream.id === id) { - result = stream; - } - }); - } - return result; - }; +function getDecoded(address) { + try { + return base58.decode(address); + } catch (e) { + // if decoding fails, assume invalid address + return null; } - if (!('addStream' in window.RTCPeerConnection.prototype)) { - var _addTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addStream = function (stream) { - if (!this._localStreams) { - this._localStreams = []; - } - if (this._localStreams.indexOf(stream) === -1) { - this._localStreams.push(stream); - } - var pc = this; - stream.getTracks().forEach(function (track) { - _addTrack.call(pc, track, stream); - }); - }; +} - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - if (stream) { - if (!this._localStreams) { - this._localStreams = [stream]; - } else if (this._localStreams.indexOf(stream) === -1) { - this._localStreams.push(stream); - } - } - return _addTrack.call(this, track, stream); - }; - } - if (!('removeStream' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.removeStream = function (stream) { - if (!this._localStreams) { - this._localStreams = []; - } - var index = this._localStreams.indexOf(stream); - if (index === -1) { - return; - } - this._localStreams.splice(index, 1); - var pc = this; - var tracks = stream.getTracks(); - this.getSenders().forEach(function (sender) { - if (tracks.indexOf(sender.track) !== -1) { - pc.removeTrack(sender); - } - }); - }; - } - }, - shimRemoteStreamsAPI: function shimRemoteStreamsAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { - return; - } - if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getRemoteStreams = function () { - return this._remoteStreams ? this._remoteStreams : []; - }; - } - if (!('onaddstream' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', { - get: function get() { - return this._onaddstream; - }, - set: function set(f) { - if (this._onaddstream) { - this.removeEventListener('addstream', this._onaddstream); - } - this.addEventListener('addstream', this._onaddstream = f); - } - }); - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = function () { - var pc = this; - if (!this._onaddstreampoly) { - this.addEventListener('track', this._onaddstreampoly = function (e) { - e.streams.forEach(function (stream) { - if (!pc._remoteStreams) { - pc._remoteStreams = []; - } - if (pc._remoteStreams.indexOf(stream) >= 0) { - return; - } - pc._remoteStreams.push(stream); - var event = new Event('addstream'); - event.stream = stream; - pc.dispatchEvent(event); - }); - }); - } - return origSetRemoteDescription.apply(pc, arguments); - }; - } - }, - shimCallbacksAPI: function shimCallbacksAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { - return; +function getChecksum(hashFunction, payload) { + // Each currency may implement different hashing algorithm + switch (hashFunction) { + case 'blake256': + return cryptoUtils.blake256Checksum(payload); + break; + case 'sha256': + default: + return cryptoUtils.sha256Checksum(payload); } - var prototype = window.RTCPeerConnection.prototype; - var createOffer = prototype.createOffer; - var createAnswer = prototype.createAnswer; - var setLocalDescription = prototype.setLocalDescription; - var setRemoteDescription = prototype.setRemoteDescription; - var addIceCandidate = prototype.addIceCandidate; - - prototype.createOffer = function (successCallback, failureCallback) { - var options = arguments.length >= 2 ? arguments[2] : arguments[0]; - var promise = createOffer.apply(this, [options]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - - prototype.createAnswer = function (successCallback, failureCallback) { - var options = arguments.length >= 2 ? arguments[2] : arguments[0]; - var promise = createAnswer.apply(this, [options]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - - var withCallback = function withCallback(description, successCallback, failureCallback) { - var promise = setLocalDescription.apply(this, [description]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.setLocalDescription = withCallback; - - withCallback = function withCallback(description, successCallback, failureCallback) { - var promise = setRemoteDescription.apply(this, [description]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.setRemoteDescription = withCallback; +} - withCallback = function withCallback(candidate, successCallback, failureCallback) { - var promise = addIceCandidate.apply(this, [candidate]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.addIceCandidate = withCallback; - }, - shimGetUserMedia: function shimGetUserMedia(window) { - var navigator = window && window.navigator; - - if (!navigator.getUserMedia) { - if (navigator.webkitGetUserMedia) { - navigator.getUserMedia = navigator.webkitGetUserMedia.bind(navigator); - } else if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { - navigator.getUserMedia = function (constraints, cb, errcb) { - navigator.mediaDevices.getUserMedia(constraints).then(cb, errcb); - }.bind(navigator); - } - } - }, - shimRTCIceServerUrls: function shimRTCIceServerUrls(window) { - // migrate from non-spec RTCIceServer.url to RTCIceServer.urls - var OrigPeerConnection = window.RTCPeerConnection; - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - if (pcConfig && pcConfig.iceServers) { - var newIceServers = []; - for (var i = 0; i < pcConfig.iceServers.length; i++) { - var server = pcConfig.iceServers[i]; - if (!server.hasOwnProperty('urls') && server.hasOwnProperty('url')) { - utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - server = JSON.parse(JSON.stringify(server)); - server.urls = server.url; - delete server.url; - newIceServers.push(server); - } else { - newIceServers.push(pcConfig.iceServers[i]); - } - } - pcConfig.iceServers = newIceServers; - } - return new OrigPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = OrigPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - if ('generateCertificate' in window.RTCPeerConnection) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return OrigPeerConnection.generateCertificate; - } - }); - } - }, - shimTrackEventTransceiver: function shimTrackEventTransceiver(window) { - // Add event.transceiver member over deprecated event.receiver - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && 'receiver' in window.RTCTrackEvent.prototype && - // can't check 'transceiver' in window.RTCTrackEvent.prototype, as it is - // defined for some reason even when window.RTCTransceiver is not. - !window.RTCTransceiver) { - Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { - get: function get() { - return { receiver: this.receiver }; - } - }); - } - }, +function getAddressType(address, currency) { + currency = currency || {}; + // should be 25 bytes per btc address spec and 26 decred + var expectedLength = currency.expectedLength || 25; + var hashFunction = currency.hashFunction || 'sha256'; + var decoded = getDecoded(address); - shimCreateOfferLegacy: function shimCreateOfferLegacy(window) { - var origCreateOffer = window.RTCPeerConnection.prototype.createOffer; - window.RTCPeerConnection.prototype.createOffer = function (offerOptions) { - var pc = this; - if (offerOptions) { - if (typeof offerOptions.offerToReceiveAudio !== 'undefined') { - // support bit values - offerOptions.offerToReceiveAudio = !!offerOptions.offerToReceiveAudio; - } - var audioTransceiver = pc.getTransceivers().find(function (transceiver) { - return transceiver.sender.track && transceiver.sender.track.kind === 'audio'; - }); - if (offerOptions.offerToReceiveAudio === false && audioTransceiver) { - if (audioTransceiver.direction === 'sendrecv') { - if (audioTransceiver.setDirection) { - audioTransceiver.setDirection('sendonly'); - } else { - audioTransceiver.direction = 'sendonly'; - } - } else if (audioTransceiver.direction === 'recvonly') { - if (audioTransceiver.setDirection) { - audioTransceiver.setDirection('inactive'); - } else { - audioTransceiver.direction = 'inactive'; - } - } - } else if (offerOptions.offerToReceiveAudio === true && !audioTransceiver) { - pc.addTransceiver('audio'); - } + if (decoded) { + var length = decoded.length; - if (typeof offerOptions.offerToReceiveVideo !== 'undefined') { - // support bit values - offerOptions.offerToReceiveVideo = !!offerOptions.offerToReceiveVideo; - } - var videoTransceiver = pc.getTransceivers().find(function (transceiver) { - return transceiver.sender.track && transceiver.sender.track.kind === 'video'; - }); - if (offerOptions.offerToReceiveVideo === false && videoTransceiver) { - if (videoTransceiver.direction === 'sendrecv') { - videoTransceiver.setDirection('sendonly'); - } else if (videoTransceiver.direction === 'recvonly') { - videoTransceiver.setDirection('inactive'); - } - } else if (offerOptions.offerToReceiveVideo === true && !videoTransceiver) { - pc.addTransceiver('video'); + if (length !== expectedLength) { + return null; } - } - return origCreateOffer.apply(pc, arguments); - }; - } -}; -},{"../utils":798}],798:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var logDisabled_ = true; -var deprecationWarnings_ = true; - -/** - * Extract browser version out of the provided user agent string. - * - * @param {!string} uastring userAgent string. - * @param {!string} expr Regular expression used as match criteria. - * @param {!number} pos position in the version string to be returned. - * @return {!number} browser version. - */ -function extractVersion(uastring, expr, pos) { - var match = uastring.match(expr); - return match && match.length >= pos && parseInt(match[pos], 10); -} - -// Wraps the peerconnection event eventNameToWrap in a function -// which returns the modified event object (or false to prevent -// the event). -function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { - if (!window.RTCPeerConnection) { - return; - } - var proto = window.RTCPeerConnection.prototype; - var nativeAddEventListener = proto.addEventListener; - proto.addEventListener = function (nativeEventName, cb) { - if (nativeEventName !== eventNameToWrap) { - return nativeAddEventListener.apply(this, arguments); - } - var wrappedCallback = function wrappedCallback(e) { - var modifiedEvent = wrapper(e); - if (modifiedEvent) { - cb(modifiedEvent); - } - }; - this._eventMap = this._eventMap || {}; - this._eventMap[cb] = wrappedCallback; - return nativeAddEventListener.apply(this, [nativeEventName, wrappedCallback]); - }; + var checksum = cryptoUtils.toHex(decoded.slice(length - 4, length)), + body = cryptoUtils.toHex(decoded.slice(0, length - 4)), + goodChecksum = getChecksum(hashFunction, body); - var nativeRemoveEventListener = proto.removeEventListener; - proto.removeEventListener = function (nativeEventName, cb) { - if (nativeEventName !== eventNameToWrap || !this._eventMap || !this._eventMap[cb]) { - return nativeRemoveEventListener.apply(this, arguments); + return checksum === goodChecksum ? cryptoUtils.toHex(decoded.slice(0, expectedLength - 24)) : null; } - var unwrappedCb = this._eventMap[cb]; - delete this._eventMap[cb]; - return nativeRemoveEventListener.apply(this, [nativeEventName, unwrappedCb]); - }; - Object.defineProperty(proto, 'on' + eventNameToWrap, { - get: function get() { - return this['_on' + eventNameToWrap]; - }, - set: function set(cb) { - if (this['_on' + eventNameToWrap]) { - this.removeEventListener(eventNameToWrap, this['_on' + eventNameToWrap]); - delete this['_on' + eventNameToWrap]; - } - if (cb) { - this.addEventListener(eventNameToWrap, this['_on' + eventNameToWrap] = cb); - } - }, - enumerable: true, - configurable: true - }); + return null; } -// Utility methods. -module.exports = { - extractVersion: extractVersion, - wrapPeerConnectionEvent: wrapPeerConnectionEvent, - disableLog: function disableLog(bool) { - if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + (typeof bool === 'undefined' ? 'undefined' : _typeof(bool)) + '. Please use a boolean.'); - } - logDisabled_ = bool; - return bool ? 'adapter.js logging disabled' : 'adapter.js logging enabled'; - }, - - /** - * Disable or enable deprecation warnings - * @param {!boolean} bool set to true to disable warnings. - */ - disableWarnings: function disableWarnings(bool) { - if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + (typeof bool === 'undefined' ? 'undefined' : _typeof(bool)) + '. Please use a boolean.'); - } - deprecationWarnings_ = !bool; - return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled'); - }, +function validate(address, currencyNameOrSymbol, networkType) { + currencyNameOrSymbol = currencyNameOrSymbol || DEFAULT_CURRENCY_NAME; + networkType = networkType || DEFAULT_NETWORK_TYPE; - log: function log() { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { - if (logDisabled_) { - return; - } - if (typeof console !== 'undefined' && typeof console.log === 'function') { - console.log.apply(console, arguments); - } - } - }, + var currency = currencies.getByNameOrSymbol(currencyNameOrSymbol); - /** - * Shows a deprecation warning suggesting the modern and spec-compatible API. - */ - deprecated: function deprecated(oldMethod, newMethod) { - if (!deprecationWarnings_) { - return; + if (currency.validator) { + return currency.validator.isValidAddress(address); } - console.warn(oldMethod + ' is deprecated, please use ' + newMethod + ' instead.'); - }, - /** - * Browser detector. - * - * @return {object} result containing browser and version - * properties. - */ - detectBrowser: function detectBrowser(window) { - var navigator = window && window.navigator; - - // Returned result object. - var result = {}; - result.browser = null; - result.version = null; - - // Fail early if it's not a browser - if (typeof window === 'undefined' || !window.navigator) { - result.browser = 'Not a browser.'; - return result; + var correctAddressTypes; + var addressType = getAddressType(address, currency); + if (addressType == null) { + return false; } - if (navigator.mozGetUserMedia) { - // Firefox. - result.browser = 'firefox'; - result.version = extractVersion(navigator.userAgent, /Firefox\/(\d+)\./, 1); - } else if (navigator.webkitGetUserMedia) { - // Chrome, Chromium, Webview, Opera. - // Version matches Chrome/WebRTC version. - result.browser = 'chrome'; - result.version = extractVersion(navigator.userAgent, /Chrom(e|ium)\/(\d+)\./, 2); - } else if (navigator.mediaDevices && navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) { - // Edge. - result.browser = 'edge'; - result.version = extractVersion(navigator.userAgent, /Edge\/(\d+).(\d+)$/, 2); - } else if (window.RTCPeerConnection && navigator.userAgent.match(/AppleWebKit\/(\d+)\./)) { - // Safari. - result.browser = 'safari'; - result.version = extractVersion(navigator.userAgent, /AppleWebKit\/(\d+)\./, 1); + if (networkType === 'prod' || networkType === 'testnet') { + correctAddressTypes = currency.addressTypes[networkType]; } else { - // Default fallthrough: not supported. - result.browser = 'Not a supported browser.'; - return result; + correctAddressTypes = currency.addressTypes.prod.concat(currency.addressTypes.testnet); } - return result; - } + return correctAddressTypes.indexOf(addressType) >= 0; +} + +module.exports = { + getAddressType: getAddressType, + checksum: getChecksum, + validate: validate }; -},{}],799:[function(require,module,exports){ +},{"./crypto/base58":777,"./crypto/utils":780,"./currencies":781}],785:[function(require,module,exports){ 'use strict'; /* @@ -150331,7 +145205,7 @@ exports.uriFragmentInHTMLData = exports.uriComponentInHTMLData; */ exports.uriFragmentInHTMLComment = exports.uriComponentInHTMLComment; -},{}],800:[function(require,module,exports){ +},{}],786:[function(require,module,exports){ 'use strict'; var alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), diff --git a/chrome-extension/manifest.json b/chrome-extension/manifest.json index cdd38c277a..d1f3c3b7e9 100644 --- a/chrome-extension/manifest.json +++ b/chrome-extension/manifest.json @@ -1,6 +1,6 @@ { "name": "MyEtherWallet", - "version": "3.22.1", + "version": "3.22.2", "manifest_version": 2, "description": "MyEtherWallet Chrome Extension", "homepage_url": "https://www.myetherwallet.com/", diff --git a/chrome-extension/phishing.html b/chrome-extension/phishing.html index 4e8fa4d96c..2e1e5e382f 100644 --- a/chrome-extension/phishing.html +++ b/chrome-extension/phishing.html @@ -98,13 +98,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/chrome-extension/privacy-policy.html b/chrome-extension/privacy-policy.html index b5f531a27f..95fd732d29 100644 --- a/chrome-extension/privacy-policy.html +++ b/chrome-extension/privacy-policy.html @@ -98,13 +98,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/dist/contest.html b/dist/contest.html index c23f60fa11..5fac9e8a22 100644 --- a/dist/contest.html +++ b/dist/contest.html @@ -98,13 +98,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/dist/helpers.html b/dist/helpers.html index c6bdfafdad..ea83e40354 100644 --- a/dist/helpers.html +++ b/dist/helpers.html @@ -99,13 +99,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/dist/index.html b/dist/index.html index 02d282c383..3969db8a66 100644 --- a/dist/index.html +++ b/dist/index.html @@ -99,13 +99,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/dist/js/etherwallet-master.js b/dist/js/etherwallet-master.js index be40c79be5..815bd1895e 100644 --- a/dist/js/etherwallet-master.js +++ b/dist/js/etherwallet-master.js @@ -15860,7 +15860,6 @@ if (IS_CX) { window.cxHelpers['similarity'] = similarity; window.cxHelpers['levenshtein'] = levenshtein; } else { - require('webrtc-adapter'); // adapter to ensure a common api for webRTC var MewConnectEth = require('./staticJS/mewConnectEth'); var MewConnect = require('@myetherwallet/mewconnect-web-client').Initiator; var u2f = require('./staticJS/u2f-api'); @@ -15967,7 +15966,7 @@ if (IS_CX) { app.controller('cxDecryptWalletCtrl', ['$scope', '$sce', 'walletService', cxDecryptWalletCtrl]); } -},{"./ajaxReq":22,"./bity":23,"./constants/darkListConst":24,"./controllers/CX/addWalletCtrl":25,"./controllers/CX/cxDecryptWalletCtrl":26,"./controllers/CX/mainPopCtrl":27,"./controllers/CX/myWalletsCtrl":28,"./controllers/CX/quickSendCtrl":29,"./controllers/bulkGenCtrl":30,"./controllers/contractsCtrl":31,"./controllers/decryptWalletCtrl":32,"./controllers/domainsaleCtrl":33,"./controllers/ensCtrl":34,"./controllers/footerCtrl":35,"./controllers/helpersCtrl":36,"./controllers/offlineTxCtrl":37,"./controllers/onboardingCtrl":38,"./controllers/sendTxCtrl":39,"./controllers/signMsgCtrl":40,"./controllers/swapCtrl":41,"./controllers/tabsCtrl":42,"./controllers/txStatusCtrl":43,"./controllers/viewCtrl":44,"./controllers/viewWalletCtrl":45,"./controllers/walletBalanceCtrl":46,"./controllers/walletGenCtrl":47,"./customGas.js":48,"./cxFuncs":49,"./directives/QRCodeDrtv":50,"./directives/addressFieldDrtv":51,"./directives/balanceDrtv":53,"./directives/blockiesDrtv":54,"./directives/cxWalletDecryptDrtv":55,"./directives/fileReaderDrtv":56,"./directives/walletDecryptDrtv":58,"./domainsale":59,"./ens":61,"./ethFuncs":70,"./etherUnits":71,"./globalFuncs":72,"./homoglyphs.json":73,"./kyber":74,"./localStoragePolyfill":82,"./myetherwallet":84,"./nodes":92,"./services/globalService":93,"./services/walletService":94,"./solidity/coder":98,"./solidity/utils":109,"./staticJS/customMarked":110,"./staticJS/digitalBitboxEth":111,"./staticJS/digitalBitboxUsb":112,"./staticJS/ledger-eth":113,"./staticJS/ledger3":114,"./staticJS/mewConnectEth":115,"./staticJS/secalotEth":116,"./staticJS/secalotUsb":117,"./staticJS/trezorConnect":118,"./staticJS/u2f-api":119,"./tokenlib":120,"./translations/translate.js":163,"./uiFuncs":167,"./validator":168,"./web3Wallet":169,"@myetherwallet/mewconnect-web-client":179,"angular":188,"angular-animate":182,"angular-sanitize":184,"angular-translate":186,"angular-translate-handler-log":185,"babel-polyfill":208,"bignumber.js":214,"bip39":215,"crypto":597,"detect-browser":604,"ethereumjs-tx":643,"ethereumjs-util":644,"hdkey":665,"levenshtein":683,"punycode":257,"scryptsy":730,"similarity":746,"string-format":765,"unicode/category/Ll":769,"uuid":773,"wallet-address-validator":786,"webrtc-adapter":787,"xss-filters":799}],84:[function(require,module,exports){ +},{"./ajaxReq":22,"./bity":23,"./constants/darkListConst":24,"./controllers/CX/addWalletCtrl":25,"./controllers/CX/cxDecryptWalletCtrl":26,"./controllers/CX/mainPopCtrl":27,"./controllers/CX/myWalletsCtrl":28,"./controllers/CX/quickSendCtrl":29,"./controllers/bulkGenCtrl":30,"./controllers/contractsCtrl":31,"./controllers/decryptWalletCtrl":32,"./controllers/domainsaleCtrl":33,"./controllers/ensCtrl":34,"./controllers/footerCtrl":35,"./controllers/helpersCtrl":36,"./controllers/offlineTxCtrl":37,"./controllers/onboardingCtrl":38,"./controllers/sendTxCtrl":39,"./controllers/signMsgCtrl":40,"./controllers/swapCtrl":41,"./controllers/tabsCtrl":42,"./controllers/txStatusCtrl":43,"./controllers/viewCtrl":44,"./controllers/viewWalletCtrl":45,"./controllers/walletBalanceCtrl":46,"./controllers/walletGenCtrl":47,"./customGas.js":48,"./cxFuncs":49,"./directives/QRCodeDrtv":50,"./directives/addressFieldDrtv":51,"./directives/balanceDrtv":53,"./directives/blockiesDrtv":54,"./directives/cxWalletDecryptDrtv":55,"./directives/fileReaderDrtv":56,"./directives/walletDecryptDrtv":58,"./domainsale":59,"./ens":61,"./ethFuncs":70,"./etherUnits":71,"./globalFuncs":72,"./homoglyphs.json":73,"./kyber":74,"./localStoragePolyfill":82,"./myetherwallet":84,"./nodes":92,"./services/globalService":93,"./services/walletService":94,"./solidity/coder":98,"./solidity/utils":109,"./staticJS/customMarked":110,"./staticJS/digitalBitboxEth":111,"./staticJS/digitalBitboxUsb":112,"./staticJS/ledger-eth":113,"./staticJS/ledger3":114,"./staticJS/mewConnectEth":115,"./staticJS/secalotEth":116,"./staticJS/secalotUsb":117,"./staticJS/trezorConnect":118,"./staticJS/u2f-api":119,"./tokenlib":120,"./translations/translate.js":163,"./uiFuncs":167,"./validator":168,"./web3Wallet":169,"@myetherwallet/mewconnect-web-client":179,"angular":188,"angular-animate":182,"angular-sanitize":184,"angular-translate":186,"angular-translate-handler-log":185,"babel-polyfill":208,"bignumber.js":214,"bip39":215,"crypto":597,"detect-browser":604,"ethereumjs-tx":643,"ethereumjs-util":644,"hdkey":665,"levenshtein":683,"punycode":257,"scryptsy":729,"similarity":744,"string-format":763,"unicode/category/Ll":767,"uuid":771,"wallet-address-validator":784,"xss-filters":785}],84:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -19164,7 +19163,7 @@ module.exports = { isJson: isJson }; -},{"bignumber.js":214,"ethereumjs-util":644,"utf8":771}],110:[function(require,module,exports){ +},{"bignumber.js":214,"ethereumjs-util":644,"utf8":769}],110:[function(require,module,exports){ 'use strict'; var marked = require('marked'); @@ -31663,7 +31662,7 @@ var MewConnectCrypto = function () { module.exports = MewConnectCrypto; }).call(this,require("buffer").Buffer) -},{"buffer":256,"crypto":597,"eccrypto/browser":611,"ethereumjs-util":644,"logging":684,"secp256k1":732}],173:[function(require,module,exports){ +},{"buffer":256,"crypto":597,"eccrypto/browser":611,"ethereumjs-util":644,"logging":684,"secp256k1":730}],173:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -32461,7 +32460,7 @@ var MewConnectInitiator = function (_MewConnectCommon) { module.exports = MewConnectInitiator; -},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":747,"socket.io-client":751}],174:[function(require,module,exports){ +},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":745,"socket.io-client":749}],174:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -33490,7 +33489,7 @@ var MewConnectReceiver = function (_MewConnectCommon) { module.exports = MewConnectReceiver; -},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":747,"socket.io-client":751}],176:[function(require,module,exports){ +},{"./MewConnectCommon":171,"./MewConnectCrypto":172,"logging":684,"simple-peer":745,"socket.io-client":749}],176:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -78570,7 +78569,7 @@ Entity.prototype.encode = function encode(data, enc, /* internal */reporter) { return this._getEncoder(enc).encode(data, reporter); }; -},{"../asn1":190,"inherits":671,"vm":778}],192:[function(require,module,exports){ +},{"../asn1":190,"inherits":671,"vm":776}],192:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -82006,7 +82005,7 @@ module.exports = function base(ALPHABET) { }; }; -},{"safe-buffer":729}],212:[function(require,module,exports){ +},{"safe-buffer":728}],212:[function(require,module,exports){ "use strict"; /* @@ -85096,7 +85095,7 @@ module.exports = { } }; -},{"./wordlists/chinese_simplified.json":216,"./wordlists/chinese_traditional.json":217,"./wordlists/english.json":218,"./wordlists/french.json":219,"./wordlists/italian.json":220,"./wordlists/japanese.json":221,"./wordlists/korean.json":222,"./wordlists/spanish.json":223,"create-hash":593,"pbkdf2":698,"randombytes":711,"safe-buffer":729,"unorm":770}],216:[function(require,module,exports){ +},{"./wordlists/chinese_simplified.json":216,"./wordlists/chinese_traditional.json":217,"./wordlists/english.json":218,"./wordlists/french.json":219,"./wordlists/italian.json":220,"./wordlists/japanese.json":221,"./wordlists/korean.json":222,"./wordlists/spanish.json":223,"create-hash":593,"pbkdf2":698,"randombytes":711,"safe-buffer":728,"unorm":768}],216:[function(require,module,exports){ module.exports=[ "的", "一", @@ -101629,7 +101628,7 @@ module.exports = { encode: encode }; -},{"safe-buffer":729}],225:[function(require,module,exports){ +},{"safe-buffer":728}],225:[function(require,module,exports){ (function (global){ 'use strict'; @@ -105381,7 +105380,7 @@ AES.prototype.scrub = function () { module.exports.AES = AES; -},{"safe-buffer":729}],230:[function(require,module,exports){ +},{"safe-buffer":728}],230:[function(require,module,exports){ 'use strict'; var aes = require('./aes'); @@ -105502,7 +105501,7 @@ StreamCipher.prototype.setAAD = function setAAD(buf) { module.exports = StreamCipher; -},{"./aes":229,"./ghash":234,"./incr32":235,"buffer-xor":261,"cipher-base":262,"inherits":671,"safe-buffer":729}],231:[function(require,module,exports){ +},{"./aes":229,"./ghash":234,"./incr32":235,"buffer-xor":261,"cipher-base":262,"inherits":671,"safe-buffer":728}],231:[function(require,module,exports){ 'use strict'; var ciphers = require('./encrypter'); @@ -105647,7 +105646,7 @@ function createDecipher(suite, password) { exports.createDecipher = createDecipher; exports.createDecipheriv = createDecipheriv; -},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":729}],233:[function(require,module,exports){ +},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":728}],233:[function(require,module,exports){ 'use strict'; var MODES = require('./modes'); @@ -105765,7 +105764,7 @@ function createCipher(suite, password) { exports.createCipheriv = createCipheriv; exports.createCipher = createCipher; -},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":729}],234:[function(require,module,exports){ +},{"./aes":229,"./authCipher":230,"./modes":242,"./streamCipher":245,"cipher-base":262,"evp_bytestokey":647,"inherits":671,"safe-buffer":728}],234:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -105853,7 +105852,7 @@ GHASH.prototype.final = function (abl, bl) { module.exports = GHASH; -},{"safe-buffer":729}],235:[function(require,module,exports){ +},{"safe-buffer":728}],235:[function(require,module,exports){ "use strict"; function incr32(iv) { @@ -105930,7 +105929,7 @@ exports.encrypt = function (self, data, decrypt) { return out; }; -},{"buffer-xor":261,"safe-buffer":729}],238:[function(require,module,exports){ +},{"buffer-xor":261,"safe-buffer":728}],238:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -105976,7 +105975,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out; }; -},{"safe-buffer":729}],239:[function(require,module,exports){ +},{"safe-buffer":728}],239:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -106002,7 +106001,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out; }; -},{"safe-buffer":729}],240:[function(require,module,exports){ +},{"safe-buffer":728}],240:[function(require,module,exports){ 'use strict'; var xor = require('buffer-xor'); @@ -106033,7 +106032,7 @@ exports.encrypt = function (self, chunk) { return xor(chunk, pad); }; -},{"../incr32":235,"buffer-xor":261,"safe-buffer":729}],241:[function(require,module,exports){ +},{"../incr32":235,"buffer-xor":261,"safe-buffer":728}],241:[function(require,module,exports){ "use strict"; exports.encrypt = function (self, block) { @@ -106312,7 +106311,7 @@ StreamCipher.prototype._final = function () { module.exports = StreamCipher; -},{"./aes":229,"cipher-base":262,"inherits":671,"safe-buffer":729}],246:[function(require,module,exports){ +},{"./aes":229,"cipher-base":262,"inherits":671,"safe-buffer":728}],246:[function(require,module,exports){ 'use strict'; var DES = require('browserify-des'); @@ -106437,7 +106436,7 @@ DES.prototype._final = function () { return Buffer.from(this._des.final()); }; -},{"cipher-base":262,"des.js":598,"inherits":671,"safe-buffer":729}],248:[function(require,module,exports){ +},{"cipher-base":262,"des.js":598,"inherits":671,"safe-buffer":728}],248:[function(require,module,exports){ 'use strict'; exports['des-ecb'] = { @@ -106776,7 +106775,7 @@ module.exports = { }; }).call(this,require("buffer").Buffer) -},{"./algorithms.json":251,"./sign":254,"./verify":255,"buffer":256,"create-hash":593,"inherits":671,"stream":764}],254:[function(require,module,exports){ +},{"./algorithms.json":251,"./sign":254,"./verify":255,"buffer":256,"create-hash":593,"inherits":671,"stream":762}],254:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -109528,7 +109527,7 @@ function simpleEnd(buf) { return buf && buf.length ? this.write(buf) : ''; } -},{"safe-buffer":729}],259:[function(require,module,exports){ +},{"safe-buffer":728}],259:[function(require,module,exports){ (function (setImmediate,clearImmediate){ "use strict"; @@ -109823,7 +109822,7 @@ CipherBase.prototype._toString = function (value, enc, fin) { module.exports = CipherBase; -},{"inherits":671,"safe-buffer":729,"stream":764,"string_decoder":258}],263:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762,"string_decoder":258}],263:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -117817,7 +117816,7 @@ module.exports = function createHash(alg) { return new Hash(sha(alg)); }; -},{"cipher-base":262,"inherits":671,"md5.js":686,"ripemd160":726,"sha.js":739}],594:[function(require,module,exports){ +},{"cipher-base":262,"inherits":671,"md5.js":686,"ripemd160":726,"sha.js":737}],594:[function(require,module,exports){ 'use strict'; var MD5 = require('md5.js'); @@ -117891,7 +117890,7 @@ module.exports = function createHmac(alg, key) { return new Hmac(alg, key); }; -},{"./legacy":596,"cipher-base":262,"create-hash/md5":594,"inherits":671,"ripemd160":726,"safe-buffer":729,"sha.js":739}],596:[function(require,module,exports){ +},{"./legacy":596,"cipher-base":262,"create-hash/md5":594,"inherits":671,"ripemd160":726,"safe-buffer":728,"sha.js":737}],596:[function(require,module,exports){ 'use strict'; var inherits = require('inherits'); @@ -117940,7 +117939,7 @@ Hmac.prototype._final = function () { }; module.exports = Hmac; -},{"cipher-base":262,"inherits":671,"safe-buffer":729}],597:[function(require,module,exports){ +},{"cipher-base":262,"inherits":671,"safe-buffer":728}],597:[function(require,module,exports){ 'use strict'; exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes'); @@ -122072,52 +122071,37 @@ utils.intFromLE = intFromLE; },{"bn.js":226,"minimalistic-assert":688,"minimalistic-crypto-utils":689}],627:[function(require,module,exports){ module.exports={ - "_from": "elliptic@^6.0.2", - "_id": "elliptic@6.4.1", - "_inBundle": false, - "_integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "_location": "/elliptic", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "elliptic@^6.0.2", - "name": "elliptic", - "escapedName": "elliptic", - "rawSpec": "^6.0.2", - "saveSpec": null, - "fetchSpec": "^6.0.2" - }, - "_requiredBy": [ - "/browserify-sign", - "/create-ecdh", - "/eccrypto", - "/eccrypto/secp256k1", - "/secp256k1" + "name": "elliptic", + "version": "6.4.1", + "description": "EC cryptography", + "main": "lib/elliptic.js", + "files": [ + "lib" ], - "_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "_shasum": "c2d0b7776911b86722c632c3c06c60f2f819939a", - "_spec": "elliptic@^6.0.2", - "_where": "/Users/yelpadillo/workspace/mew/etherwallet/node_modules/eccrypto", - "author": { - "name": "Fedor Indutny", - "email": "fedor@indutny.com" + "scripts": { + "jscs": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", + "jshint": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", + "lint": "npm run jscs && npm run jshint", + "unit": "istanbul test _mocha --reporter=spec test/index.js", + "test": "npm run lint && npm run unit", + "version": "grunt dist && git add dist/" }, + "repository": { + "type": "git", + "url": "git@github.com:indutny/elliptic" + }, + "keywords": [ + "EC", + "Elliptic", + "curve", + "Cryptography" + ], + "author": "Fedor Indutny ", + "license": "MIT", "bugs": { "url": "https://github.com/indutny/elliptic/issues" }, - "bundleDependencies": false, - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "deprecated": false, - "description": "EC cryptography", + "homepage": "https://github.com/indutny/elliptic", "devDependencies": { "brfs": "^1.4.3", "coveralls": "^2.11.3", @@ -122134,34 +122118,20 @@ module.exports={ "jshint": "^2.6.0", "mocha": "^2.1.0" }, - "files": [ - "lib" - ], - "homepage": "https://github.com/indutny/elliptic", - "keywords": [ - "EC", - "Elliptic", - "curve", - "Cryptography" - ], - "license": "MIT", - "main": "lib/elliptic.js", - "name": "elliptic", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/indutny/elliptic.git" - }, - "scripts": { - "jscs": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", - "jshint": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", - "lint": "npm run jscs && npm run jshint", - "test": "npm run lint && npm run unit", - "unit": "istanbul test _mocha --reporter=spec test/index.js", - "version": "grunt dist && git add dist/" - }, - "version": "6.4.1" -} + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } +,"_resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz" +,"_integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==" +,"_from": "elliptic@6.4.1" +} },{}],628:[function(require,module,exports){ 'use strict'; @@ -124036,7 +124006,7 @@ Polling.prototype.uri = function () { return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query; }; -},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"xmlhttprequest-ssl":636,"yeast":800}],635:[function(require,module,exports){ +},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"xmlhttprequest-ssl":636,"yeast":786}],635:[function(require,module,exports){ (function (global){ 'use strict'; @@ -124327,7 +124297,7 @@ WS.prototype.check = function () { }; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"ws":228,"yeast":800}],636:[function(require,module,exports){ +},{"../transport":630,"component-inherit":266,"debug":637,"engine.io-parser":639,"parseqs":696,"ws":228,"yeast":786}],636:[function(require,module,exports){ (function (global){ 'use strict'; @@ -126952,7 +126922,7 @@ exports.defineProperties = function (self, fields, data) { } }; -},{"assert":204,"bn.js":226,"create-hash":593,"ethjs-util":645,"keccak":676,"rlp":727,"safe-buffer":729,"secp256k1":732}],645:[function(require,module,exports){ +},{"assert":204,"bn.js":226,"create-hash":593,"ethjs-util":645,"keccak":676,"rlp":727,"safe-buffer":728,"secp256k1":730}],645:[function(require,module,exports){ (function (Buffer){ 'use strict'; @@ -127178,7 +127148,7 @@ module.exports = { }; }).call(this,require("buffer").Buffer) -},{"buffer":256,"is-hex-prefixed":673,"strip-hex-prefix":767}],646:[function(require,module,exports){ +},{"buffer":256,"is-hex-prefixed":673,"strip-hex-prefix":765}],646:[function(require,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -127502,7 +127472,7 @@ function EVP_BytesToKey(password, salt, keyBits, ivLen) { module.exports = EVP_BytesToKey; -},{"md5.js":686,"safe-buffer":729}],648:[function(require,module,exports){ +},{"md5.js":686,"safe-buffer":728}],648:[function(require,module,exports){ 'use strict'; // originally pulled out of simple-peer @@ -127711,7 +127681,7 @@ HashBase.prototype._digest = function () { module.exports = HashBase; -},{"inherits":671,"safe-buffer":729,"stream":764}],653:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762}],653:[function(require,module,exports){ 'use strict'; var hash = exports; @@ -128921,7 +128891,7 @@ HDKey.HARDENED_OFFSET = HARDENED_OFFSET; module.exports = HDKey; }).call(this,require("buffer").Buffer) -},{"assert":204,"buffer":256,"coinstring":263,"crypto":597,"secp256k1":732}],666:[function(require,module,exports){ +},{"assert":204,"buffer":256,"coinstring":263,"crypto":597,"secp256k1":730}],666:[function(require,module,exports){ 'use strict'; var hash = require('hash.js'); @@ -129774,7 +129744,7 @@ module.exports = function (KeccakState) { return Keccak; }; -},{"inherits":671,"safe-buffer":729,"stream":764}],679:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762}],679:[function(require,module,exports){ 'use strict'; var Buffer = require('safe-buffer').Buffer; @@ -129852,7 +129822,7 @@ module.exports = function (KeccakState) { return Shake; }; -},{"inherits":671,"safe-buffer":729,"stream":764}],680:[function(require,module,exports){ +},{"inherits":671,"safe-buffer":728,"stream":762}],680:[function(require,module,exports){ 'use strict'; var P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; @@ -130111,7 +130081,7 @@ Keccak.prototype.copy = function (dest) { module.exports = Keccak; -},{"./keccak-state-unroll":680,"safe-buffer":729}],682:[function(require,module,exports){ +},{"./keccak-state-unroll":680,"safe-buffer":728}],682:[function(require,module,exports){ /* eslint-disable no-nested-ternary */ 'use strict'; @@ -132550,7 +132520,7 @@ module.exports = function (password, salt, iterations, keylen, digest, callback) }; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./default-encoding":700,"./precondition":701,"./sync":702,"_process":704,"safe-buffer":729}],700:[function(require,module,exports){ +},{"./default-encoding":700,"./precondition":701,"./sync":702,"_process":704,"safe-buffer":728}],700:[function(require,module,exports){ (function (process){ 'use strict'; @@ -132708,7 +132678,7 @@ function pbkdf2(password, salt, iterations, keylen, digest) { module.exports = pbkdf2; -},{"./default-encoding":700,"./precondition":701,"create-hash/md5":594,"ripemd160":726,"safe-buffer":729,"sha.js":739}],703:[function(require,module,exports){ +},{"./default-encoding":700,"./precondition":701,"create-hash/md5":594,"ripemd160":726,"safe-buffer":728,"sha.js":737}],703:[function(require,module,exports){ (function (process){ 'use strict'; @@ -133261,7 +133231,7 @@ function randomBytes(size, cb) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":704,"safe-buffer":729}],712:[function(require,module,exports){ +},{"_process":704,"safe-buffer":728}],712:[function(require,module,exports){ (function (process,global){ 'use strict'; @@ -133375,7 +133345,7 @@ function randomFillSync(buf, offset, size) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":704,"randombytes":711,"safe-buffer":729}],713:[function(require,module,exports){ +},{"_process":704,"randombytes":711,"safe-buffer":728}],713:[function(require,module,exports){ 'use strict'; module.exports = require('./lib/_stream_duplex.js'); @@ -134585,7 +134555,7 @@ function indexOf(xs, x) { } }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./_stream_duplex":714,"./internal/streams/BufferList":719,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"events":646,"inherits":671,"isarray":674,"process-nextick-args":703,"safe-buffer":729,"string_decoder/":766,"util":228}],717:[function(require,module,exports){ +},{"./_stream_duplex":714,"./internal/streams/BufferList":719,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"events":646,"inherits":671,"isarray":674,"process-nextick-args":703,"safe-buffer":728,"string_decoder/":764,"util":228}],717:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -135492,7 +135462,7 @@ Writable.prototype._destroy = function (err, cb) { }; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("timers").setImmediate) -},{"./_stream_duplex":714,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"inherits":671,"process-nextick-args":703,"safe-buffer":729,"timers":259,"util-deprecate":772}],719:[function(require,module,exports){ +},{"./_stream_duplex":714,"./internal/streams/destroy":720,"./internal/streams/stream":721,"_process":704,"core-util-is":591,"inherits":671,"process-nextick-args":703,"safe-buffer":728,"timers":259,"util-deprecate":770}],719:[function(require,module,exports){ 'use strict'; function _classCallCheck(instance, Constructor) { @@ -135577,7 +135547,7 @@ if (util && util.inspect && util.inspect.custom) { }; } -},{"safe-buffer":729,"util":228}],720:[function(require,module,exports){ +},{"safe-buffer":728,"util":228}],720:[function(require,module,exports){ 'use strict'; /**/ @@ -136061,13213 +136031,8117 @@ function toBuffer(v) { return v; } -},{"assert":204,"safe-buffer":729}],728:[function(require,module,exports){ -/* - * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"assert":204,"safe-buffer":728}],728:[function(require,module,exports){ 'use strict'; -var SDPUtils = require('sdp'); +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer'); +var Buffer = buffer.Buffer; -function fixStatsType(stat) { - return { - inboundrtp: 'inbound-rtp', - outboundrtp: 'outbound-rtp', - candidatepair: 'candidate-pair', - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[stat.type] || stat.type; +// alternative to using Object.keys for old browsers +function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer; +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports); + exports.Buffer = SafeBuffer; } -function writeMediaSection(transceiver, caps, type, stream, dtlsRole) { - var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps); - - // Map ICE parameters (ufrag, pwd) to SDP. - sdp += SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()); - - // Map DTLS parameters to SDP. - sdp += SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(), type === 'offer' ? 'actpass' : dtlsRole || 'active'); - - sdp += 'a=mid:' + transceiver.mid + '\r\n'; +function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length); +} - if (transceiver.rtpSender && transceiver.rtpReceiver) { - sdp += 'a=sendrecv\r\n'; - } else if (transceiver.rtpSender) { - sdp += 'a=sendonly\r\n'; - } else if (transceiver.rtpReceiver) { - sdp += 'a=recvonly\r\n'; - } else { - sdp += 'a=inactive\r\n'; - } - - if (transceiver.rtpSender) { - var trackId = transceiver.rtpSender._initialTrackId || transceiver.rtpSender.track.id; - transceiver.rtpSender._initialTrackId = trackId; - // spec. - var msid = 'msid:' + (stream ? stream.id : '-') + ' ' + trackId + '\r\n'; - sdp += 'a=' + msid; - // for Chrome. Legacy should no longer be required. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' ' + msid; - - // RTX - if (transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' ' + msid; - sdp += 'a=ssrc-group:FID ' + transceiver.sendEncodingParameters[0].ssrc + ' ' + transceiver.sendEncodingParameters[0].rtx.ssrc + '\r\n'; - } - } - // FIXME: this should be written by writeRtpDescription. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - } - return sdp; -} - -// Edge does not like -// 1) stun: filtered after 14393 unless ?transport=udp is present -// 2) turn: that does not have all of turn:host:port?transport=udp -// 3) turn: with ipv6 addresses -// 4) turn: occurring muliple times -function filterIceServers(iceServers, edgeVersion) { - var hasTurn = false; - iceServers = JSON.parse(JSON.stringify(iceServers)); - return iceServers.filter(function (server) { - if (server && (server.urls || server.url)) { - var urls = server.urls || server.url; - if (server.url && !server.urls) { - console.warn('RTCIceServer.url is deprecated! Use urls instead.'); - } - var isString = typeof urls === 'string'; - if (isString) { - urls = [urls]; - } - urls = urls.filter(function (url) { - var validTurn = url.indexOf('turn:') === 0 && url.indexOf('transport=udp') !== -1 && url.indexOf('turn:[') === -1 && !hasTurn; +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer); - if (validTurn) { - hasTurn = true; - return true; - } - return url.indexOf('stun:') === 0 && edgeVersion >= 14393 && url.indexOf('?transport=udp') === -1; - }); +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number'); + } + return Buffer(arg, encodingOrOffset, length); +}; - delete server.url; - server.urls = isString ? urls[0] : urls; - return !!urls.length; +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number'); + } + var buf = Buffer(size); + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding); + } else { + buf.fill(fill); } - }); -} + } else { + buf.fill(0); + } + return buf; +}; -// Determines the intersection of local and remote capabilities. -function getCommonCapabilities(localCapabilities, remoteCapabilities) { - var commonCapabilities = { - codecs: [], - headerExtensions: [], - fecMechanisms: [] - }; +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number'); + } + return Buffer(size); +}; - var findCodecByPayloadType = function findCodecByPayloadType(pt, codecs) { - pt = parseInt(pt, 10); - for (var i = 0; i < codecs.length; i++) { - if (codecs[i].payloadType === pt || codecs[i].preferredPayloadType === pt) { - return codecs[i]; - } - } - }; +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number'); + } + return buffer.SlowBuffer(size); +}; - var rtxCapabilityMatches = function rtxCapabilityMatches(lRtx, rRtx, lCodecs, rCodecs) { - var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs); - var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs); - return lCodec && rCodec && lCodec.name.toLowerCase() === rCodec.name.toLowerCase(); - }; +},{"buffer":256}],729:[function(require,module,exports){ +(function (Buffer){ +'use strict'; - localCapabilities.codecs.forEach(function (lCodec) { - for (var i = 0; i < remoteCapabilities.codecs.length; i++) { - var rCodec = remoteCapabilities.codecs[i]; - if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() && lCodec.clockRate === rCodec.clockRate) { - if (lCodec.name.toLowerCase() === 'rtx' && lCodec.parameters && rCodec.parameters.apt) { - // for RTX we need to find the local rtx that has a apt - // which points to the same local codec as the remote one. - if (!rtxCapabilityMatches(lCodec, rCodec, localCapabilities.codecs, remoteCapabilities.codecs)) { - continue; - } - } - rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy - // number of channels is the highest common number of channels - rCodec.numChannels = Math.min(lCodec.numChannels, rCodec.numChannels); - // push rCodec so we reply with offerer payload type - commonCapabilities.codecs.push(rCodec); +var crypto = require('crypto'); +/* eslint-disable camelcase */ - // determine common feedback mechanisms - rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function (fb) { - for (var j = 0; j < lCodec.rtcpFeedback.length; j++) { - if (lCodec.rtcpFeedback[j].type === fb.type && lCodec.rtcpFeedback[j].parameter === fb.parameter) { - return true; - } - } - return false; - }); - // FIXME: also need to determine .parameters - // see https://github.com/openpeer/ortc/issues/569 - break; - } - } - }); +var MAX_VALUE = 0x7fffffff; - localCapabilities.headerExtensions.forEach(function (lHeaderExtension) { - for (var i = 0; i < remoteCapabilities.headerExtensions.length; i++) { - var rHeaderExtension = remoteCapabilities.headerExtensions[i]; - if (lHeaderExtension.uri === rHeaderExtension.uri) { - commonCapabilities.headerExtensions.push(rHeaderExtension); - break; - } - } - }); +// N = Cpu cost, r = Memory cost, p = parallelization cost +function scrypt(key, salt, N, r, p, dkLen, progressCallback) { + if (N === 0 || (N & N - 1) !== 0) throw Error('N must be > 0 and a power of 2'); - // FIXME: fecMechanisms - return commonCapabilities; -} + if (N > MAX_VALUE / 128 / r) throw Error('Parameter N is too large'); + if (r > MAX_VALUE / 128 / p) throw Error('Parameter r is too large'); -// is action=setLocalDescription with type allowed in signalingState -function isActionAllowedInSignalingState(action, type, signalingState) { - return { - offer: { - setLocalDescription: ['stable', 'have-local-offer'], - setRemoteDescription: ['stable', 'have-remote-offer'] - }, - answer: { - setLocalDescription: ['have-remote-offer', 'have-local-pranswer'], - setRemoteDescription: ['have-local-offer', 'have-remote-pranswer'] - } - }[type][action].indexOf(signalingState) !== -1; -} + var XY = new Buffer(256 * r); + var V = new Buffer(128 * r * N); -function maybeAddCandidate(iceTransport, candidate) { - // Edge's internal representation adds some fields therefore - // not all fieldѕ are taken into account. - var alreadyAdded = iceTransport.getRemoteCandidates().find(function (remoteCandidate) { - return candidate.foundation === remoteCandidate.foundation && candidate.ip === remoteCandidate.ip && candidate.port === remoteCandidate.port && candidate.priority === remoteCandidate.priority && candidate.protocol === remoteCandidate.protocol && candidate.type === remoteCandidate.type; - }); - if (!alreadyAdded) { - iceTransport.addRemoteCandidate(candidate); - } - return !alreadyAdded; -} - -function makeError(name, description) { - var e = new Error(description); - e.name = name; - // legacy error codes from https://heycam.github.io/webidl/#idl-DOMException-error-names - e.code = { - NotSupportedError: 9, - InvalidStateError: 11, - InvalidAccessError: 15, - TypeError: undefined, - OperationError: undefined - }[name]; - return e; -} - -module.exports = function (window, edgeVersion) { - // https://w3c.github.io/mediacapture-main/#mediastream - // Helper function to add the track to the stream and - // dispatch the event ourselves. - function addTrackToStreamAndFireEvent(track, stream) { - stream.addTrack(track); - stream.dispatchEvent(new window.MediaStreamTrackEvent('addtrack', { track: track })); - } - - function removeTrackFromStreamAndFireEvent(track, stream) { - stream.removeTrack(track); - stream.dispatchEvent(new window.MediaStreamTrackEvent('removetrack', { track: track })); - } - - function fireAddTrack(pc, track, receiver, streams) { - var trackEvent = new Event('track'); - trackEvent.track = track; - trackEvent.receiver = receiver; - trackEvent.transceiver = { receiver: receiver }; - trackEvent.streams = streams; - window.setTimeout(function () { - pc._dispatchEvent('track', trackEvent); - }); - } + // pseudo global + var B32 = new Int32Array(16); // salsa20_8 + var x = new Int32Array(16); // salsa20_8 + var _X = new Buffer(64); // blockmix_salsa8 - var RTCPeerConnection = function RTCPeerConnection(config) { - var pc = this; + // pseudo global + var B = crypto.pbkdf2Sync(key, salt, 1, p * 128 * r, 'sha256'); - var _eventTarget = document.createDocumentFragment(); - ['addEventListener', 'removeEventListener', 'dispatchEvent'].forEach(function (method) { - pc[method] = _eventTarget[method].bind(_eventTarget); - }); + var tickCallback; + if (progressCallback) { + var totalOps = p * N * 2; + var currentOp = 0; - this.canTrickleIceCandidates = null; + tickCallback = function tickCallback() { + ++currentOp; - this.needNegotiation = false; + // send progress notifications once every 1,000 ops + if (currentOp % 1000 === 0) { + progressCallback({ + current: currentOp, + total: totalOps, + percent: currentOp / totalOps * 100.0 + }); + } + }; + } - this.localStreams = []; - this.remoteStreams = []; + for (var i = 0; i < p; i++) { + smix(B, i * 128 * r, r, N, V, XY); + } - this._localDescription = null; - this._remoteDescription = null; + return crypto.pbkdf2Sync(key, B, 1, dkLen, 'sha256'); - this.signalingState = 'stable'; - this.iceConnectionState = 'new'; - this.connectionState = 'new'; - this.iceGatheringState = 'new'; + // all of these functions are actually moved to the top + // due to function hoisting - config = JSON.parse(JSON.stringify(config || {})); + function smix(B, Bi, r, N, V, XY) { + var Xi = 0; + var Yi = 128 * r; + var i; - this.usingBundle = config.bundlePolicy === 'max-bundle'; - if (config.rtcpMuxPolicy === 'negotiate') { - throw makeError('NotSupportedError', 'rtcpMuxPolicy \'negotiate\' is not supported'); - } else if (!config.rtcpMuxPolicy) { - config.rtcpMuxPolicy = 'require'; - } + B.copy(XY, Xi, Bi, Bi + Yi); - switch (config.iceTransportPolicy) { - case 'all': - case 'relay': - break; - default: - config.iceTransportPolicy = 'all'; - break; - } + for (i = 0; i < N; i++) { + XY.copy(V, i * Yi, Xi, Xi + Yi); + blockmix_salsa8(XY, Xi, Yi, r); - switch (config.bundlePolicy) { - case 'balanced': - case 'max-compat': - case 'max-bundle': - break; - default: - config.bundlePolicy = 'balanced'; - break; + if (tickCallback) tickCallback(); } - config.iceServers = filterIceServers(config.iceServers || [], edgeVersion); + for (i = 0; i < N; i++) { + var offset = Xi + (2 * r - 1) * 64; + var j = XY.readUInt32LE(offset) & N - 1; + blockxor(V, j * Yi, XY, Xi, Yi); + blockmix_salsa8(XY, Xi, Yi, r); - this._iceGatherers = []; - if (config.iceCandidatePoolSize) { - for (var i = config.iceCandidatePoolSize; i > 0; i--) { - this._iceGatherers.push(new window.RTCIceGatherer({ - iceServers: config.iceServers, - gatherPolicy: config.iceTransportPolicy - })); - } - } else { - config.iceCandidatePoolSize = 0; + if (tickCallback) tickCallback(); } - this._config = config; - - // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ... - // everything that is needed to describe a SDP m-line. - this.transceivers = []; - - this._sdpSessionId = SDPUtils.generateSessionId(); - this._sdpSessionVersion = 0; + XY.copy(B, Bi, Xi, Xi + Yi); + } - this._dtlsRole = undefined; // role for a=setup to use in answers. + function blockmix_salsa8(BY, Bi, Yi, r) { + var i; - this._isClosed = false; - }; + arraycopy(BY, Bi + (2 * r - 1) * 64, _X, 0, 64); - Object.defineProperty(RTCPeerConnection.prototype, 'localDescription', { - configurable: true, - get: function get() { - return this._localDescription; - } - }); - Object.defineProperty(RTCPeerConnection.prototype, 'remoteDescription', { - configurable: true, - get: function get() { - return this._remoteDescription; + for (i = 0; i < 2 * r; i++) { + blockxor(BY, i * 64, _X, 0, 64); + salsa20_8(_X); + arraycopy(_X, 0, BY, Yi + i * 64, 64); } - }); - // set up event handlers on prototype - RTCPeerConnection.prototype.onicecandidate = null; - RTCPeerConnection.prototype.onaddstream = null; - RTCPeerConnection.prototype.ontrack = null; - RTCPeerConnection.prototype.onremovestream = null; - RTCPeerConnection.prototype.onsignalingstatechange = null; - RTCPeerConnection.prototype.oniceconnectionstatechange = null; - RTCPeerConnection.prototype.onconnectionstatechange = null; - RTCPeerConnection.prototype.onicegatheringstatechange = null; - RTCPeerConnection.prototype.onnegotiationneeded = null; - RTCPeerConnection.prototype.ondatachannel = null; - - RTCPeerConnection.prototype._dispatchEvent = function (name, event) { - if (this._isClosed) { - return; + for (i = 0; i < r; i++) { + arraycopy(BY, Yi + i * 2 * 64, BY, Bi + i * 64, 64); } - this.dispatchEvent(event); - if (typeof this['on' + name] === 'function') { - this['on' + name](event); + + for (i = 0; i < r; i++) { + arraycopy(BY, Yi + (i * 2 + 1) * 64, BY, Bi + (i + r) * 64, 64); } - }; + } - RTCPeerConnection.prototype._emitGatheringStateChange = function () { - var event = new Event('icegatheringstatechange'); - this._dispatchEvent('icegatheringstatechange', event); - }; + function R(a, b) { + return a << b | a >>> 32 - b; + } - RTCPeerConnection.prototype.getConfiguration = function () { - return this._config; - }; + function salsa20_8(B) { + var i; - RTCPeerConnection.prototype.getLocalStreams = function () { - return this.localStreams; - }; + for (i = 0; i < 16; i++) { + B32[i] = (B[i * 4 + 0] & 0xff) << 0; + B32[i] |= (B[i * 4 + 1] & 0xff) << 8; + B32[i] |= (B[i * 4 + 2] & 0xff) << 16; + B32[i] |= (B[i * 4 + 3] & 0xff) << 24; + // B32[i] = B.readUInt32LE(i*4) <--- this is signficantly slower even in Node.js + } - RTCPeerConnection.prototype.getRemoteStreams = function () { - return this.remoteStreams; - }; + arraycopy(B32, 0, x, 0, 16); - // internal helper to create a transceiver object. - // (which is not yet the same as the WebRTC 1.0 transceiver) - RTCPeerConnection.prototype._createTransceiver = function (kind, doNotAdd) { - var hasBundleTransport = this.transceivers.length > 0; - var transceiver = { - track: null, - iceGatherer: null, - iceTransport: null, - dtlsTransport: null, - localCapabilities: null, - remoteCapabilities: null, - rtpSender: null, - rtpReceiver: null, - kind: kind, - mid: null, - sendEncodingParameters: null, - recvEncodingParameters: null, - stream: null, - associatedRemoteMediaStreams: [], - wantReceive: true - }; - if (this.usingBundle && hasBundleTransport) { - transceiver.iceTransport = this.transceivers[0].iceTransport; - transceiver.dtlsTransport = this.transceivers[0].dtlsTransport; - } else { - var transports = this._createIceAndDtlsTransports(); - transceiver.iceTransport = transports.iceTransport; - transceiver.dtlsTransport = transports.dtlsTransport; - } - if (!doNotAdd) { - this.transceivers.push(transceiver); + for (i = 8; i > 0; i -= 2) { + x[4] ^= R(x[0] + x[12], 7); + x[8] ^= R(x[4] + x[0], 9); + x[12] ^= R(x[8] + x[4], 13); + x[0] ^= R(x[12] + x[8], 18); + x[9] ^= R(x[5] + x[1], 7); + x[13] ^= R(x[9] + x[5], 9); + x[1] ^= R(x[13] + x[9], 13); + x[5] ^= R(x[1] + x[13], 18); + x[14] ^= R(x[10] + x[6], 7); + x[2] ^= R(x[14] + x[10], 9); + x[6] ^= R(x[2] + x[14], 13); + x[10] ^= R(x[6] + x[2], 18); + x[3] ^= R(x[15] + x[11], 7); + x[7] ^= R(x[3] + x[15], 9); + x[11] ^= R(x[7] + x[3], 13); + x[15] ^= R(x[11] + x[7], 18); + x[1] ^= R(x[0] + x[3], 7); + x[2] ^= R(x[1] + x[0], 9); + x[3] ^= R(x[2] + x[1], 13); + x[0] ^= R(x[3] + x[2], 18); + x[6] ^= R(x[5] + x[4], 7); + x[7] ^= R(x[6] + x[5], 9); + x[4] ^= R(x[7] + x[6], 13); + x[5] ^= R(x[4] + x[7], 18); + x[11] ^= R(x[10] + x[9], 7); + x[8] ^= R(x[11] + x[10], 9); + x[9] ^= R(x[8] + x[11], 13); + x[10] ^= R(x[9] + x[8], 18); + x[12] ^= R(x[15] + x[14], 7); + x[13] ^= R(x[12] + x[15], 9); + x[14] ^= R(x[13] + x[12], 13); + x[15] ^= R(x[14] + x[13], 18); } - return transceiver; - }; - RTCPeerConnection.prototype.addTrack = function (track, stream) { - if (this._isClosed) { - throw makeError('InvalidStateError', 'Attempted to call addTrack on a closed peerconnection.'); + for (i = 0; i < 16; ++i) { + B32[i] = x[i] + B32[i]; + }for (i = 0; i < 16; i++) { + var bi = i * 4; + B[bi + 0] = B32[i] >> 0 & 0xff; + B[bi + 1] = B32[i] >> 8 & 0xff; + B[bi + 2] = B32[i] >> 16 & 0xff; + B[bi + 3] = B32[i] >> 24 & 0xff; + // B.writeInt32LE(B32[i], i*4) //<--- this is signficantly slower even in Node.js } + } - var alreadyExists = this.transceivers.find(function (s) { - return s.track === track; - }); - - if (alreadyExists) { - throw makeError('InvalidAccessError', 'Track already exists.'); + // naive approach... going back to loop unrolling may yield additional performance + function blockxor(S, Si, D, Di, len) { + for (var i = 0; i < len; i++) { + D[Di + i] ^= S[Si + i]; } + } +} - var transceiver; - for (var i = 0; i < this.transceivers.length; i++) { - if (!this.transceivers[i].track && this.transceivers[i].kind === track.kind) { - transceiver = this.transceivers[i]; - } - } - if (!transceiver) { - transceiver = this._createTransceiver(track.kind); +function arraycopy(src, srcPos, dest, destPos, length) { + if (Buffer.isBuffer(src) && Buffer.isBuffer(dest)) { + src.copy(dest, destPos, srcPos, srcPos + length); + } else { + while (length--) { + dest[destPos++] = src[srcPos++]; } + } +} - this._maybeFireNegotiationNeeded(); +module.exports = scrypt; - if (this.localStreams.indexOf(stream) === -1) { - this.localStreams.push(stream); - } +}).call(this,require("buffer").Buffer) +},{"buffer":256,"crypto":597}],730:[function(require,module,exports){ +'use strict'; - transceiver.track = track; - transceiver.stream = stream; - transceiver.rtpSender = new window.RTCRtpSender(track, transceiver.dtlsTransport); - return transceiver.rtpSender; - }; +module.exports = require('./lib')(require('./lib/elliptic')); - RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - if (edgeVersion >= 15025) { - stream.getTracks().forEach(function (track) { - pc.addTrack(track, stream); - }); - } else { - // Clone is necessary for local demos mostly, attaching directly - // to two different senders does not work (build 10547). - // Fixed in 15025 (or earlier) - var clonedStream = stream.clone(); - stream.getTracks().forEach(function (track, idx) { - var clonedTrack = clonedStream.getTracks()[idx]; - track.addEventListener('enabled', function (event) { - clonedTrack.enabled = event.enabled; - }); - }); - clonedStream.getTracks().forEach(function (track) { - pc.addTrack(track, clonedStream); - }); - } - }; +},{"./lib":734,"./lib/elliptic":733}],731:[function(require,module,exports){ +(function (Buffer){ +'use strict'; - RTCPeerConnection.prototype.removeTrack = function (sender) { - if (this._isClosed) { - throw makeError('InvalidStateError', 'Attempted to call removeTrack on a closed peerconnection.'); - } +var toString = Object.prototype.toString; - if (!(sender instanceof window.RTCRtpSender)) { - throw new TypeError('Argument 1 of RTCPeerConnection.removeTrack ' + 'does not implement interface RTCRtpSender.'); - } +// TypeError +exports.isArray = function (value, message) { + if (!Array.isArray(value)) throw TypeError(message); +}; - var transceiver = this.transceivers.find(function (t) { - return t.rtpSender === sender; - }); +exports.isBoolean = function (value, message) { + if (toString.call(value) !== '[object Boolean]') throw TypeError(message); +}; - if (!transceiver) { - throw makeError('InvalidAccessError', 'Sender was not created by this connection.'); - } - var stream = transceiver.stream; +exports.isBuffer = function (value, message) { + if (!Buffer.isBuffer(value)) throw TypeError(message); +}; - transceiver.rtpSender.stop(); - transceiver.rtpSender = null; - transceiver.track = null; - transceiver.stream = null; +exports.isFunction = function (value, message) { + if (toString.call(value) !== '[object Function]') throw TypeError(message); +}; - // remove the stream from the set of local streams - var localStreams = this.transceivers.map(function (t) { - return t.stream; - }); - if (localStreams.indexOf(stream) === -1 && this.localStreams.indexOf(stream) > -1) { - this.localStreams.splice(this.localStreams.indexOf(stream), 1); - } +exports.isNumber = function (value, message) { + if (toString.call(value) !== '[object Number]') throw TypeError(message); +}; - this._maybeFireNegotiationNeeded(); - }; +exports.isObject = function (value, message) { + if (toString.call(value) !== '[object Object]') throw TypeError(message); +}; - RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - stream.getTracks().forEach(function (track) { - var sender = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (sender) { - pc.removeTrack(sender); - } - }); - }; +// RangeError +exports.isBufferLength = function (buffer, length, message) { + if (buffer.length !== length) throw RangeError(message); +}; - RTCPeerConnection.prototype.getSenders = function () { - return this.transceivers.filter(function (transceiver) { - return !!transceiver.rtpSender; - }).map(function (transceiver) { - return transceiver.rtpSender; - }); - }; +exports.isBufferLength2 = function (buffer, length1, length2, message) { + if (buffer.length !== length1 && buffer.length !== length2) throw RangeError(message); +}; - RTCPeerConnection.prototype.getReceivers = function () { - return this.transceivers.filter(function (transceiver) { - return !!transceiver.rtpReceiver; - }).map(function (transceiver) { - return transceiver.rtpReceiver; - }); - }; +exports.isLengthGTZero = function (value, message) { + if (value.length === 0) throw RangeError(message); +}; - RTCPeerConnection.prototype._createIceGatherer = function (sdpMLineIndex, usingBundle) { - var pc = this; - if (usingBundle && sdpMLineIndex > 0) { - return this.transceivers[0].iceGatherer; - } else if (this._iceGatherers.length) { - return this._iceGatherers.shift(); - } - var iceGatherer = new window.RTCIceGatherer({ - iceServers: this._config.iceServers, - gatherPolicy: this._config.iceTransportPolicy - }); - Object.defineProperty(iceGatherer, 'state', { value: 'new', writable: true }); +exports.isNumberInInterval = function (number, x, y, message) { + if (number <= x || number >= y) throw RangeError(message); +}; - this.transceivers[sdpMLineIndex].bufferedCandidateEvents = []; - this.transceivers[sdpMLineIndex].bufferCandidates = function (event) { - var end = !event.candidate || Object.keys(event.candidate).length === 0; - // polyfill since RTCIceGatherer.state is not implemented in - // Edge 10547 yet. - iceGatherer.state = end ? 'completed' : 'gathering'; - if (pc.transceivers[sdpMLineIndex].bufferedCandidateEvents !== null) { - pc.transceivers[sdpMLineIndex].bufferedCandidateEvents.push(event); - } - }; - iceGatherer.addEventListener('localcandidate', this.transceivers[sdpMLineIndex].bufferCandidates); - return iceGatherer; - }; +}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) +},{"../../is-buffer/index.js":672}],732:[function(require,module,exports){ +'use strict'; - // start gathering from an RTCIceGatherer. - RTCPeerConnection.prototype._gather = function (mid, sdpMLineIndex) { - var pc = this; - var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer; - if (iceGatherer.onlocalcandidate) { - return; - } - var bufferedCandidateEvents = this.transceivers[sdpMLineIndex].bufferedCandidateEvents; - this.transceivers[sdpMLineIndex].bufferedCandidateEvents = null; - iceGatherer.removeEventListener('localcandidate', this.transceivers[sdpMLineIndex].bufferCandidates); - iceGatherer.onlocalcandidate = function (evt) { - if (pc.usingBundle && sdpMLineIndex > 0) { - // if we know that we use bundle we can drop candidates with - // ѕdpMLineIndex > 0. If we don't do this then our state gets - // confused since we dispose the extra ice gatherer. - return; - } - var event = new Event('icecandidate'); - event.candidate = { sdpMid: mid, sdpMLineIndex: sdpMLineIndex }; +var Buffer = require('safe-buffer').Buffer; +var bip66 = require('bip66'); - var cand = evt.candidate; - // Edge emits an empty object for RTCIceCandidateComplete‥ - var end = !cand || Object.keys(cand).length === 0; - if (end) { - // polyfill since RTCIceGatherer.state is not implemented in - // Edge 10547 yet. - if (iceGatherer.state === 'new' || iceGatherer.state === 'gathering') { - iceGatherer.state = 'completed'; - } - } else { - if (iceGatherer.state === 'new') { - iceGatherer.state = 'gathering'; - } - // RTCIceCandidate doesn't have a component, needs to be added - cand.component = 1; - // also the usernameFragment. TODO: update SDP to take both variants. - cand.ufrag = iceGatherer.getLocalParameters().usernameFragment; +var EC_PRIVKEY_EXPORT_DER_COMPRESSED = Buffer.from([ +// begin +0x30, 0x81, 0xd3, 0x02, 0x01, 0x01, 0x04, 0x20, +// private key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// middle +0xa0, 0x81, 0x85, 0x30, 0x81, 0x82, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x21, 0x02, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x24, 0x03, 0x22, 0x00, +// public key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); - var serializedCandidate = SDPUtils.writeCandidate(cand); - event.candidate = Object.assign(event.candidate, SDPUtils.parseCandidate(serializedCandidate)); +var EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED = Buffer.from([ +// begin +0x30, 0x82, 0x01, 0x13, 0x02, 0x01, 0x01, 0x04, 0x20, +// private key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// middle +0xa0, 0x81, 0xa5, 0x30, 0x81, 0xa2, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x41, 0x04, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x48, 0x3a, 0xda, 0x77, 0x26, 0xa3, 0xc4, 0x65, 0x5d, 0xa4, 0xfb, 0xfc, 0x0E, 0x11, 0x08, 0xa8, 0xfd, 0x17, 0xb4, 0x48, 0xa6, 0x85, 0x54, 0x19, 0x9c, 0x47, 0xd0, 0x8f, 0xfb, 0x10, 0xd4, 0xb8, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x44, 0x03, 0x42, 0x00, +// public key +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); - event.candidate.candidate = serializedCandidate; - event.candidate.toJSON = function () { - return { - candidate: event.candidate.candidate, - sdpMid: event.candidate.sdpMid, - sdpMLineIndex: event.candidate.sdpMLineIndex, - usernameFragment: event.candidate.usernameFragment - }; - }; - } +exports.privateKeyExport = function (privateKey, publicKey, compressed) { + var result = Buffer.from(compressed ? EC_PRIVKEY_EXPORT_DER_COMPRESSED : EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED); + privateKey.copy(result, compressed ? 8 : 9); + publicKey.copy(result, compressed ? 181 : 214); + return result; +}; - // update local description. - var sections = SDPUtils.getMediaSections(pc._localDescription.sdp); - if (!end) { - sections[event.candidate.sdpMLineIndex] += 'a=' + event.candidate.candidate + '\r\n'; - } else { - sections[event.candidate.sdpMLineIndex] += 'a=end-of-candidates\r\n'; - } - pc._localDescription.sdp = SDPUtils.getDescription(pc._localDescription.sdp) + sections.join(''); - var complete = pc.transceivers.every(function (transceiver) { - return transceiver.iceGatherer && transceiver.iceGatherer.state === 'completed'; - }); +exports.privateKeyImport = function (privateKey) { + var length = privateKey.length; - if (pc.iceGatheringState !== 'gathering') { - pc.iceGatheringState = 'gathering'; - pc._emitGatheringStateChange(); - } + // sequence header + var index = 0; + if (length < index + 1 || privateKey[index] !== 0x30) return; + index += 1; - // Emit candidate. Also emit null candidate when all gatherers are - // complete. - if (!end) { - pc._dispatchEvent('icecandidate', event); - } - if (complete) { - pc._dispatchEvent('icecandidate', new Event('icecandidate')); - pc.iceGatheringState = 'complete'; - pc._emitGatheringStateChange(); - } - }; + // sequence length constructor + if (length < index + 1 || !(privateKey[index] & 0x80)) return; - // emit already gathered candidates. - window.setTimeout(function () { - bufferedCandidateEvents.forEach(function (e) { - iceGatherer.onlocalcandidate(e); - }); - }, 0); - }; + var lenb = privateKey[index] & 0x7f; + index += 1; + if (lenb < 1 || lenb > 2) return; + if (length < index + lenb) return; - // Create ICE transport and DTLS transport. - RTCPeerConnection.prototype._createIceAndDtlsTransports = function () { - var pc = this; - var iceTransport = new window.RTCIceTransport(null); - iceTransport.onicestatechange = function () { - pc._updateIceConnectionState(); - pc._updateConnectionState(); - }; + // sequence length + var len = privateKey[index + lenb - 1] | (lenb > 1 ? privateKey[index + lenb - 2] << 8 : 0); + index += lenb; + if (length < index + len) return; - var dtlsTransport = new window.RTCDtlsTransport(iceTransport); - dtlsTransport.ondtlsstatechange = function () { - pc._updateConnectionState(); - }; - dtlsTransport.onerror = function () { - // onerror does not set state to failed by itself. - Object.defineProperty(dtlsTransport, 'state', { value: 'failed', writable: true }); - pc._updateConnectionState(); - }; + // sequence element 0: version number (=1) + if (length < index + 3 || privateKey[index] !== 0x02 || privateKey[index + 1] !== 0x01 || privateKey[index + 2] !== 0x01) { + return; + } + index += 3; - return { - iceTransport: iceTransport, - dtlsTransport: dtlsTransport - }; - }; + // sequence element 1: octet string, up to 32 bytes + if (length < index + 2 || privateKey[index] !== 0x04 || privateKey[index + 1] > 0x20 || length < index + 2 + privateKey[index + 1]) { + return; + } - // Destroy ICE gatherer, ICE transport and DTLS transport. - // Without triggering the callbacks. - RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function (sdpMLineIndex) { - var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer; - if (iceGatherer) { - delete iceGatherer.onlocalcandidate; - delete this.transceivers[sdpMLineIndex].iceGatherer; - } - var iceTransport = this.transceivers[sdpMLineIndex].iceTransport; - if (iceTransport) { - delete iceTransport.onicestatechange; - delete this.transceivers[sdpMLineIndex].iceTransport; - } - var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport; - if (dtlsTransport) { - delete dtlsTransport.ondtlsstatechange; - delete dtlsTransport.onerror; - delete this.transceivers[sdpMLineIndex].dtlsTransport; - } - }; + return privateKey.slice(index + 2, index + 2 + privateKey[index + 1]); +}; - // Start the RTP Sender and Receiver for a transceiver. - RTCPeerConnection.prototype._transceive = function (transceiver, send, recv) { - var params = getCommonCapabilities(transceiver.localCapabilities, transceiver.remoteCapabilities); - if (send && transceiver.rtpSender) { - params.encodings = transceiver.sendEncodingParameters; - params.rtcp = { - cname: SDPUtils.localCName, - compound: transceiver.rtcpParameters.compound - }; - if (transceiver.recvEncodingParameters.length) { - params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc; - } - transceiver.rtpSender.send(params); - } - if (recv && transceiver.rtpReceiver && params.codecs.length > 0) { - // remove RTX field in Edge 14942 - if (transceiver.kind === 'video' && transceiver.recvEncodingParameters && edgeVersion < 15019) { - transceiver.recvEncodingParameters.forEach(function (p) { - delete p.rtx; - }); - } - if (transceiver.recvEncodingParameters.length) { - params.encodings = transceiver.recvEncodingParameters; - } else { - params.encodings = [{}]; - } - params.rtcp = { - compound: transceiver.rtcpParameters.compound - }; - if (transceiver.rtcpParameters.cname) { - params.rtcp.cname = transceiver.rtcpParameters.cname; - } - if (transceiver.sendEncodingParameters.length) { - params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc; - } - transceiver.rtpReceiver.receive(params); - } - }; +exports.signatureExport = function (sigObj) { + var r = Buffer.concat([Buffer.from([0]), sigObj.r]); + for (var lenR = 33, posR = 0; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR) {} - RTCPeerConnection.prototype.setLocalDescription = function (description) { - var pc = this; + var s = Buffer.concat([Buffer.from([0]), sigObj.s]); + for (var lenS = 33, posS = 0; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS) {} - // Note: pranswer is not supported. - if (['offer', 'answer'].indexOf(description.type) === -1) { - return Promise.reject(makeError('TypeError', 'Unsupported type "' + description.type + '"')); - } + return bip66.encode(r.slice(posR), s.slice(posS)); +}; - if (!isActionAllowedInSignalingState('setLocalDescription', description.type, pc.signalingState) || pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not set local ' + description.type + ' in state ' + pc.signalingState)); - } +exports.signatureImport = function (sig) { + var r = Buffer.alloc(32, 0); + var s = Buffer.alloc(32, 0); - var sections; - var sessionpart; - if (description.type === 'offer') { - // VERY limited support for SDP munging. Limited to: - // * changing the order of codecs - sections = SDPUtils.splitSections(description.sdp); - sessionpart = sections.shift(); - sections.forEach(function (mediaSection, sdpMLineIndex) { - var caps = SDPUtils.parseRtpParameters(mediaSection); - pc.transceivers[sdpMLineIndex].localCapabilities = caps; - }); + try { + var sigObj = bip66.decode(sig); + if (sigObj.r.length === 33 && sigObj.r[0] === 0x00) sigObj.r = sigObj.r.slice(1); + if (sigObj.r.length > 32) throw new Error('R length is too long'); + if (sigObj.s.length === 33 && sigObj.s[0] === 0x00) sigObj.s = sigObj.s.slice(1); + if (sigObj.s.length > 32) throw new Error('S length is too long'); + } catch (err) { + return; + } - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - pc._gather(transceiver.mid, sdpMLineIndex); - }); - } else if (description.type === 'answer') { - sections = SDPUtils.splitSections(pc._remoteDescription.sdp); - sessionpart = sections.shift(); - var isIceLite = SDPUtils.matchPrefix(sessionpart, 'a=ice-lite').length > 0; - sections.forEach(function (mediaSection, sdpMLineIndex) { - var transceiver = pc.transceivers[sdpMLineIndex]; - var iceGatherer = transceiver.iceGatherer; - var iceTransport = transceiver.iceTransport; - var dtlsTransport = transceiver.dtlsTransport; - var localCapabilities = transceiver.localCapabilities; - var remoteCapabilities = transceiver.remoteCapabilities; - - // treat bundle-only as not-rejected. - var rejected = SDPUtils.isRejected(mediaSection) && SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0; - - if (!rejected && !transceiver.rejected) { - var remoteIceParameters = SDPUtils.getIceParameters(mediaSection, sessionpart); - var remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection, sessionpart); - if (isIceLite) { - remoteDtlsParameters.role = 'server'; - } + sigObj.r.copy(r, 32 - sigObj.r.length); + sigObj.s.copy(s, 32 - sigObj.s.length); - if (!pc.usingBundle || sdpMLineIndex === 0) { - pc._gather(transceiver.mid, sdpMLineIndex); - if (iceTransport.state === 'new') { - iceTransport.start(iceGatherer, remoteIceParameters, isIceLite ? 'controlling' : 'controlled'); - } - if (dtlsTransport.state === 'new') { - dtlsTransport.start(remoteDtlsParameters); - } - } + return { r: r, s: s }; +}; - // Calculate intersection of capabilities. - var params = getCommonCapabilities(localCapabilities, remoteCapabilities); +exports.signatureImportLax = function (sig) { + var r = Buffer.alloc(32, 0); + var s = Buffer.alloc(32, 0); - // Start the RTCRtpSender. The RTCRtpReceiver for this - // transceiver has already been started in setRemoteDescription. - pc._transceive(transceiver, params.codecs.length > 0, false); - } - }); - } + var length = sig.length; + var index = 0; - pc._localDescription = { - type: description.type, - sdp: description.sdp - }; - if (description.type === 'offer') { - pc._updateSignalingState('have-local-offer'); - } else { - pc._updateSignalingState('stable'); - } + // sequence tag byte + if (sig[index++] !== 0x30) return; - return Promise.resolve(); - }; + // sequence length byte + var lenbyte = sig[index++]; + if (lenbyte & 0x80) { + index += lenbyte - 0x80; + if (index > length) return; + } - RTCPeerConnection.prototype.setRemoteDescription = function (description) { - var pc = this; + // sequence tag byte for r + if (sig[index++] !== 0x02) return; - // Note: pranswer is not supported. - if (['offer', 'answer'].indexOf(description.type) === -1) { - return Promise.reject(makeError('TypeError', 'Unsupported type "' + description.type + '"')); + // length for r + var rlen = sig[index++]; + if (rlen & 0x80) { + lenbyte = rlen - 0x80; + if (index + lenbyte > length) return; + for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} + for (rlen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { + rlen = (rlen << 8) + sig[index]; } + } + if (rlen > length - index) return; + var rindex = index; + index += rlen; - if (!isActionAllowedInSignalingState('setRemoteDescription', description.type, pc.signalingState) || pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not set remote ' + description.type + ' in state ' + pc.signalingState)); + // sequence tag byte for s + if (sig[index++] !== 0x02) return; + + // length for s + var slen = sig[index++]; + if (slen & 0x80) { + lenbyte = slen - 0x80; + if (index + lenbyte > length) return; + for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} + for (slen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { + slen = (slen << 8) + sig[index]; } + } + if (slen > length - index) return; + var sindex = index; + index += slen; - var streams = {}; - pc.remoteStreams.forEach(function (stream) { - streams[stream.id] = stream; - }); - var receiverList = []; - var sections = SDPUtils.splitSections(description.sdp); - var sessionpart = sections.shift(); - var isIceLite = SDPUtils.matchPrefix(sessionpart, 'a=ice-lite').length > 0; - var usingBundle = SDPUtils.matchPrefix(sessionpart, 'a=group:BUNDLE ').length > 0; - pc.usingBundle = usingBundle; - var iceOptions = SDPUtils.matchPrefix(sessionpart, 'a=ice-options:')[0]; - if (iceOptions) { - pc.canTrickleIceCandidates = iceOptions.substr(14).split(' ').indexOf('trickle') >= 0; - } else { - pc.canTrickleIceCandidates = false; - } - - sections.forEach(function (mediaSection, sdpMLineIndex) { - var lines = SDPUtils.splitLines(mediaSection); - var kind = SDPUtils.getKind(mediaSection); - // treat bundle-only as not-rejected. - var rejected = SDPUtils.isRejected(mediaSection) && SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 0; - var protocol = lines[0].substr(2).split(' ')[2]; - - var direction = SDPUtils.getDirection(mediaSection, sessionpart); - var remoteMsid = SDPUtils.parseMsid(mediaSection); - - var mid = SDPUtils.getMid(mediaSection) || SDPUtils.generateIdentifier(); - - // Reject datachannels which are not implemented yet. - if (rejected || kind === 'application' && (protocol === 'DTLS/SCTP' || protocol === 'UDP/DTLS/SCTP')) { - // TODO: this is dangerous in the case where a non-rejected m-line - // becomes rejected. - pc.transceivers[sdpMLineIndex] = { - mid: mid, - kind: kind, - protocol: protocol, - rejected: true - }; - return; - } + // ignore leading zeros in r + for (; rlen > 0 && sig[rindex] === 0x00; rlen -= 1, rindex += 1) {} + // copy r value + if (rlen > 32) return; + var rvalue = sig.slice(rindex, rindex + rlen); + rvalue.copy(r, 32 - rvalue.length); - if (!rejected && pc.transceivers[sdpMLineIndex] && pc.transceivers[sdpMLineIndex].rejected) { - // recycle a rejected transceiver. - pc.transceivers[sdpMLineIndex] = pc._createTransceiver(kind, true); - } + // ignore leading zeros in s + for (; slen > 0 && sig[sindex] === 0x00; slen -= 1, sindex += 1) {} + // copy s value + if (slen > 32) return; + var svalue = sig.slice(sindex, sindex + slen); + svalue.copy(s, 32 - svalue.length); - var transceiver; - var iceGatherer; - var iceTransport; - var dtlsTransport; - var rtpReceiver; - var sendEncodingParameters; - var recvEncodingParameters; - var localCapabilities; + return { r: r, s: s }; +}; - var track; - // FIXME: ensure the mediaSection has rtcp-mux set. - var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection); - var remoteIceParameters; - var remoteDtlsParameters; - if (!rejected) { - remoteIceParameters = SDPUtils.getIceParameters(mediaSection, sessionpart); - remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection, sessionpart); - remoteDtlsParameters.role = 'client'; - } - recvEncodingParameters = SDPUtils.parseRtpEncodingParameters(mediaSection); +},{"bip66":224,"safe-buffer":728}],733:[function(require,module,exports){ +'use strict'; - var rtcpParameters = SDPUtils.parseRtcpParameters(mediaSection); +var Buffer = require('safe-buffer').Buffer; +var createHash = require('create-hash'); +var BN = require('bn.js'); +var EC = require('elliptic').ec; - var isComplete = SDPUtils.matchPrefix(mediaSection, 'a=end-of-candidates', sessionpart).length > 0; - var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:').map(function (cand) { - return SDPUtils.parseCandidate(cand); - }).filter(function (cand) { - return cand.component === 1; - }); +var messages = require('../messages.json'); - // Check if we can use BUNDLE and dispose transports. - if ((description.type === 'offer' || description.type === 'answer') && !rejected && usingBundle && sdpMLineIndex > 0 && pc.transceivers[sdpMLineIndex]) { - pc._disposeIceAndDtlsTransports(sdpMLineIndex); - pc.transceivers[sdpMLineIndex].iceGatherer = pc.transceivers[0].iceGatherer; - pc.transceivers[sdpMLineIndex].iceTransport = pc.transceivers[0].iceTransport; - pc.transceivers[sdpMLineIndex].dtlsTransport = pc.transceivers[0].dtlsTransport; - if (pc.transceivers[sdpMLineIndex].rtpSender) { - pc.transceivers[sdpMLineIndex].rtpSender.setTransport(pc.transceivers[0].dtlsTransport); - } - if (pc.transceivers[sdpMLineIndex].rtpReceiver) { - pc.transceivers[sdpMLineIndex].rtpReceiver.setTransport(pc.transceivers[0].dtlsTransport); - } - } - if (description.type === 'offer' && !rejected) { - transceiver = pc.transceivers[sdpMLineIndex] || pc._createTransceiver(kind); - transceiver.mid = mid; +var ec = new EC('secp256k1'); +var ecparams = ec.curve; - if (!transceiver.iceGatherer) { - transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex, usingBundle); - } +function loadCompressedPublicKey(first, xBuffer) { + var x = new BN(xBuffer); - if (cands.length && transceiver.iceTransport.state === 'new') { - if (isComplete && (!usingBundle || sdpMLineIndex === 0)) { - transceiver.iceTransport.setRemoteCandidates(cands); - } else { - cands.forEach(function (candidate) { - maybeAddCandidate(transceiver.iceTransport, candidate); - }); - } - } + // overflow + if (x.cmp(ecparams.p) >= 0) return null; + x = x.toRed(ecparams.red); - localCapabilities = window.RTCRtpReceiver.getCapabilities(kind); + // compute corresponding Y + var y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt(); + if (first === 0x03 !== y.isOdd()) y = y.redNeg(); - // filter RTX until additional stuff needed for RTX is implemented - // in adapter.js - if (edgeVersion < 15019) { - localCapabilities.codecs = localCapabilities.codecs.filter(function (codec) { - return codec.name !== 'rtx'; - }); - } + return ec.keyPair({ pub: { x: x, y: y } }); +} - sendEncodingParameters = transceiver.sendEncodingParameters || [{ - ssrc: (2 * sdpMLineIndex + 2) * 1001 - }]; - - // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams - var isNewTrack = false; - if (direction === 'sendrecv' || direction === 'sendonly') { - isNewTrack = !transceiver.rtpReceiver; - rtpReceiver = transceiver.rtpReceiver || new window.RTCRtpReceiver(transceiver.dtlsTransport, kind); - - if (isNewTrack) { - var stream; - track = rtpReceiver.track; - // FIXME: does not work with Plan B. - if (remoteMsid && remoteMsid.stream === '-') { - // no-op. a stream id of '-' means: no associated stream. - } else if (remoteMsid) { - if (!streams[remoteMsid.stream]) { - streams[remoteMsid.stream] = new window.MediaStream(); - Object.defineProperty(streams[remoteMsid.stream], 'id', { - get: function get() { - return remoteMsid.stream; - } - }); - } - Object.defineProperty(track, 'id', { - get: function get() { - return remoteMsid.track; - } - }); - stream = streams[remoteMsid.stream]; - } else { - if (!streams.default) { - streams.default = new window.MediaStream(); - } - stream = streams.default; - } - if (stream) { - addTrackToStreamAndFireEvent(track, stream); - transceiver.associatedRemoteMediaStreams.push(stream); - } - receiverList.push([track, rtpReceiver, stream]); - } - } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track) { - transceiver.associatedRemoteMediaStreams.forEach(function (s) { - var nativeTrack = s.getTracks().find(function (t) { - return t.id === transceiver.rtpReceiver.track.id; - }); - if (nativeTrack) { - removeTrackFromStreamAndFireEvent(nativeTrack, s); - } - }); - transceiver.associatedRemoteMediaStreams = []; - } - - transceiver.localCapabilities = localCapabilities; - transceiver.remoteCapabilities = remoteCapabilities; - transceiver.rtpReceiver = rtpReceiver; - transceiver.rtcpParameters = rtcpParameters; - transceiver.sendEncodingParameters = sendEncodingParameters; - transceiver.recvEncodingParameters = recvEncodingParameters; - - // Start the RTCRtpReceiver now. The RTPSender is started in - // setLocalDescription. - pc._transceive(pc.transceivers[sdpMLineIndex], false, isNewTrack); - } else if (description.type === 'answer' && !rejected) { - transceiver = pc.transceivers[sdpMLineIndex]; - iceGatherer = transceiver.iceGatherer; - iceTransport = transceiver.iceTransport; - dtlsTransport = transceiver.dtlsTransport; - rtpReceiver = transceiver.rtpReceiver; - sendEncodingParameters = transceiver.sendEncodingParameters; - localCapabilities = transceiver.localCapabilities; - - pc.transceivers[sdpMLineIndex].recvEncodingParameters = recvEncodingParameters; - pc.transceivers[sdpMLineIndex].remoteCapabilities = remoteCapabilities; - pc.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters; - - if (cands.length && iceTransport.state === 'new') { - if ((isIceLite || isComplete) && (!usingBundle || sdpMLineIndex === 0)) { - iceTransport.setRemoteCandidates(cands); - } else { - cands.forEach(function (candidate) { - maybeAddCandidate(transceiver.iceTransport, candidate); - }); - } - } +function loadUncompressedPublicKey(first, xBuffer, yBuffer) { + var x = new BN(xBuffer); + var y = new BN(yBuffer); - if (!usingBundle || sdpMLineIndex === 0) { - if (iceTransport.state === 'new') { - iceTransport.start(iceGatherer, remoteIceParameters, 'controlling'); - } - if (dtlsTransport.state === 'new') { - dtlsTransport.start(remoteDtlsParameters); - } - } + // overflow + if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null; - // If the offer contained RTX but the answer did not, - // remove RTX from sendEncodingParameters. - var commonCapabilities = getCommonCapabilities(transceiver.localCapabilities, transceiver.remoteCapabilities); + x = x.toRed(ecparams.red); + y = y.toRed(ecparams.red); - var hasRtx = commonCapabilities.codecs.filter(function (c) { - return c.name.toLowerCase() === 'rtx'; - }).length; - if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) { - delete transceiver.sendEncodingParameters[0].rtx; - } + // is odd flag + if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null; - pc._transceive(transceiver, direction === 'sendrecv' || direction === 'recvonly', direction === 'sendrecv' || direction === 'sendonly'); + // x*x*x + b = y*y + var x3 = x.redSqr().redIMul(x); + if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null; - // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams - if (rtpReceiver && (direction === 'sendrecv' || direction === 'sendonly')) { - track = rtpReceiver.track; - if (remoteMsid) { - if (!streams[remoteMsid.stream]) { - streams[remoteMsid.stream] = new window.MediaStream(); - } - addTrackToStreamAndFireEvent(track, streams[remoteMsid.stream]); - receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]); - } else { - if (!streams.default) { - streams.default = new window.MediaStream(); - } - addTrackToStreamAndFireEvent(track, streams.default); - receiverList.push([track, rtpReceiver, streams.default]); - } - } else { - // FIXME: actually the receiver should be created later. - delete transceiver.rtpReceiver; - } - } - }); + return ec.keyPair({ pub: { x: x, y: y } }); +} - if (pc._dtlsRole === undefined) { - pc._dtlsRole = description.type === 'offer' ? 'active' : 'passive'; - } +function loadPublicKey(publicKey) { + var first = publicKey[0]; + switch (first) { + case 0x02: + case 0x03: + if (publicKey.length !== 33) return null; + return loadCompressedPublicKey(first, publicKey.slice(1, 33)); + case 0x04: + case 0x06: + case 0x07: + if (publicKey.length !== 65) return null; + return loadUncompressedPublicKey(first, publicKey.slice(1, 33), publicKey.slice(33, 65)); + default: + return null; + } +} - pc._remoteDescription = { - type: description.type, - sdp: description.sdp - }; - if (description.type === 'offer') { - pc._updateSignalingState('have-remote-offer'); - } else { - pc._updateSignalingState('stable'); - } - Object.keys(streams).forEach(function (sid) { - var stream = streams[sid]; - if (stream.getTracks().length) { - if (pc.remoteStreams.indexOf(stream) === -1) { - pc.remoteStreams.push(stream); - var event = new Event('addstream'); - event.stream = stream; - window.setTimeout(function () { - pc._dispatchEvent('addstream', event); - }); - } +exports.privateKeyVerify = function (privateKey) { + var bn = new BN(privateKey); + return bn.cmp(ecparams.n) < 0 && !bn.isZero(); +}; - receiverList.forEach(function (item) { - var track = item[0]; - var receiver = item[1]; - if (stream.id !== item[2].id) { - return; - } - fireAddTrack(pc, track, receiver, [stream]); - }); - } - }); - receiverList.forEach(function (item) { - if (item[2]) { - return; - } - fireAddTrack(pc, item[0], item[1], []); - }); +exports.privateKeyExport = function (privateKey, compressed) { + var d = new BN(privateKey); + if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PRIVATE_KEY_EXPORT_DER_FAIL); - // check whether addIceCandidate({}) was called within four seconds after - // setRemoteDescription. - window.setTimeout(function () { - if (!(pc && pc.transceivers)) { - return; - } - pc.transceivers.forEach(function (transceiver) { - if (transceiver.iceTransport && transceiver.iceTransport.state === 'new' && transceiver.iceTransport.getRemoteCandidates().length > 0) { - console.warn('Timeout for addRemoteCandidate. Consider sending ' + 'an end-of-candidates notification'); - transceiver.iceTransport.addRemoteCandidate({}); - } - }); - }, 4000); + return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); +}; - return Promise.resolve(); - }; +exports.privateKeyNegate = function (privateKey) { + var bn = new BN(privateKey); + return bn.isZero() ? Buffer.alloc(32) : ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Buffer, 'be', 32); +}; - RTCPeerConnection.prototype.close = function () { - this.transceivers.forEach(function (transceiver) { - /* not yet - if (transceiver.iceGatherer) { - transceiver.iceGatherer.close(); - } - */ - if (transceiver.iceTransport) { - transceiver.iceTransport.stop(); - } - if (transceiver.dtlsTransport) { - transceiver.dtlsTransport.stop(); - } - if (transceiver.rtpSender) { - transceiver.rtpSender.stop(); - } - if (transceiver.rtpReceiver) { - transceiver.rtpReceiver.stop(); - } - }); - // FIXME: clean up tracks, local streams, remote streams, etc - this._isClosed = true; - this._updateSignalingState('closed'); - }; +exports.privateKeyModInverse = function (privateKey) { + var bn = new BN(privateKey); + if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_RANGE_INVALID); - // Update the signaling state. - RTCPeerConnection.prototype._updateSignalingState = function (newState) { - this.signalingState = newState; - var event = new Event('signalingstatechange'); - this._dispatchEvent('signalingstatechange', event); - }; + return bn.invm(ecparams.n).toArrayLike(Buffer, 'be', 32); +}; - // Determine whether to fire the negotiationneeded event. - RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function () { - var pc = this; - if (this.signalingState !== 'stable' || this.needNegotiation === true) { - return; - } - this.needNegotiation = true; - window.setTimeout(function () { - if (pc.needNegotiation) { - pc.needNegotiation = false; - var event = new Event('negotiationneeded'); - pc._dispatchEvent('negotiationneeded', event); - } - }, 0); - }; +exports.privateKeyTweakAdd = function (privateKey, tweak) { + var bn = new BN(tweak); + if (bn.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); - // Update the ice connection state. - RTCPeerConnection.prototype._updateIceConnectionState = function () { - var newState; - var states = { - 'new': 0, - closed: 0, - checking: 0, - connected: 0, - completed: 0, - disconnected: 0, - failed: 0 - }; - this.transceivers.forEach(function (transceiver) { - states[transceiver.iceTransport.state]++; - }); + bn.iadd(new BN(privateKey)); + if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n); + if (bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); - newState = 'new'; - if (states.failed > 0) { - newState = 'failed'; - } else if (states.checking > 0) { - newState = 'checking'; - } else if (states.disconnected > 0) { - newState = 'disconnected'; - } else if (states.new > 0) { - newState = 'new'; - } else if (states.connected > 0) { - newState = 'connected'; - } else if (states.completed > 0) { - newState = 'completed'; - } - - if (newState !== this.iceConnectionState) { - this.iceConnectionState = newState; - var event = new Event('iceconnectionstatechange'); - this._dispatchEvent('iceconnectionstatechange', event); - } - }; - - // Update the connection state. - RTCPeerConnection.prototype._updateConnectionState = function () { - var newState; - var states = { - 'new': 0, - closed: 0, - connecting: 0, - connected: 0, - completed: 0, - disconnected: 0, - failed: 0 - }; - this.transceivers.forEach(function (transceiver) { - states[transceiver.iceTransport.state]++; - states[transceiver.dtlsTransport.state]++; - }); - // ICETransport.completed and connected are the same for this purpose. - states.connected += states.completed; - - newState = 'new'; - if (states.failed > 0) { - newState = 'failed'; - } else if (states.connecting > 0) { - newState = 'connecting'; - } else if (states.disconnected > 0) { - newState = 'disconnected'; - } else if (states.new > 0) { - newState = 'new'; - } else if (states.connected > 0) { - newState = 'connected'; - } - - if (newState !== this.connectionState) { - this.connectionState = newState; - var event = new Event('connectionstatechange'); - this._dispatchEvent('connectionstatechange', event); - } - }; - - RTCPeerConnection.prototype.createOffer = function () { - var pc = this; - - if (pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not call createOffer after close')); - } - - var numAudioTracks = pc.transceivers.filter(function (t) { - return t.kind === 'audio'; - }).length; - var numVideoTracks = pc.transceivers.filter(function (t) { - return t.kind === 'video'; - }).length; - - // Determine number of audio and video tracks we need to send/recv. - var offerOptions = arguments[0]; - if (offerOptions) { - // Reject Chrome legacy constraints. - if (offerOptions.mandatory || offerOptions.optional) { - throw new TypeError('Legacy mandatory/optional constraints not supported.'); - } - if (offerOptions.offerToReceiveAudio !== undefined) { - if (offerOptions.offerToReceiveAudio === true) { - numAudioTracks = 1; - } else if (offerOptions.offerToReceiveAudio === false) { - numAudioTracks = 0; - } else { - numAudioTracks = offerOptions.offerToReceiveAudio; - } - } - if (offerOptions.offerToReceiveVideo !== undefined) { - if (offerOptions.offerToReceiveVideo === true) { - numVideoTracks = 1; - } else if (offerOptions.offerToReceiveVideo === false) { - numVideoTracks = 0; - } else { - numVideoTracks = offerOptions.offerToReceiveVideo; - } - } - } + return bn.toArrayLike(Buffer, 'be', 32); +}; - pc.transceivers.forEach(function (transceiver) { - if (transceiver.kind === 'audio') { - numAudioTracks--; - if (numAudioTracks < 0) { - transceiver.wantReceive = false; - } - } else if (transceiver.kind === 'video') { - numVideoTracks--; - if (numVideoTracks < 0) { - transceiver.wantReceive = false; - } - } - }); +exports.privateKeyTweakMul = function (privateKey, tweak) { + var bn = new BN(tweak); + if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_MUL_FAIL); - // Create M-lines for recvonly streams. - while (numAudioTracks > 0 || numVideoTracks > 0) { - if (numAudioTracks > 0) { - pc._createTransceiver('audio'); - numAudioTracks--; - } - if (numVideoTracks > 0) { - pc._createTransceiver('video'); - numVideoTracks--; - } - } + bn.imul(new BN(privateKey)); + if (bn.cmp(ecparams.n)) bn = bn.umod(ecparams.n); - var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId, pc._sdpSessionVersion++); - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - // For each track, create an ice gatherer, ice transport, - // dtls transport, potentially rtpsender and rtpreceiver. - var track = transceiver.track; - var kind = transceiver.kind; - var mid = transceiver.mid || SDPUtils.generateIdentifier(); - transceiver.mid = mid; + return bn.toArrayLike(Buffer, 'be', 32); +}; - if (!transceiver.iceGatherer) { - transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex, pc.usingBundle); - } +exports.publicKeyCreate = function (privateKey, compressed) { + var d = new BN(privateKey); + if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PUBLIC_KEY_CREATE_FAIL); - var localCapabilities = window.RTCRtpSender.getCapabilities(kind); - // filter RTX until additional stuff needed for RTX is implemented - // in adapter.js - if (edgeVersion < 15019) { - localCapabilities.codecs = localCapabilities.codecs.filter(function (codec) { - return codec.name !== 'rtx'; - }); - } - localCapabilities.codecs.forEach(function (codec) { - // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552 - // by adding level-asymmetry-allowed=1 - if (codec.name === 'H264' && codec.parameters['level-asymmetry-allowed'] === undefined) { - codec.parameters['level-asymmetry-allowed'] = '1'; - } + return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); +}; - // for subsequent offers, we might have to re-use the payload - // type of the last offer. - if (transceiver.remoteCapabilities && transceiver.remoteCapabilities.codecs) { - transceiver.remoteCapabilities.codecs.forEach(function (remoteCodec) { - if (codec.name.toLowerCase() === remoteCodec.name.toLowerCase() && codec.clockRate === remoteCodec.clockRate) { - codec.preferredPayloadType = remoteCodec.payloadType; - } - }); - } - }); - localCapabilities.headerExtensions.forEach(function (hdrExt) { - var remoteExtensions = transceiver.remoteCapabilities && transceiver.remoteCapabilities.headerExtensions || []; - remoteExtensions.forEach(function (rHdrExt) { - if (hdrExt.uri === rHdrExt.uri) { - hdrExt.id = rHdrExt.id; - } - }); - }); +exports.publicKeyConvert = function (publicKey, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - // generate an ssrc now, to be used later in rtpSender.send - var sendEncodingParameters = transceiver.sendEncodingParameters || [{ - ssrc: (2 * sdpMLineIndex + 1) * 1001 - }]; - if (track) { - // add RTX - if (edgeVersion >= 15019 && kind === 'video' && !sendEncodingParameters[0].rtx) { - sendEncodingParameters[0].rtx = { - ssrc: sendEncodingParameters[0].ssrc + 1 - }; - } - } + return Buffer.from(pair.getPublic(compressed, true)); +}; - if (transceiver.wantReceive) { - transceiver.rtpReceiver = new window.RTCRtpReceiver(transceiver.dtlsTransport, kind); - } +exports.publicKeyVerify = function (publicKey) { + return loadPublicKey(publicKey) !== null; +}; - transceiver.localCapabilities = localCapabilities; - transceiver.sendEncodingParameters = sendEncodingParameters; - }); +exports.publicKeyTweakAdd = function (publicKey, tweak, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - // always offer BUNDLE and dispose on return if not supported. - if (pc._config.bundlePolicy !== 'max-compat') { - sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function (t) { - return t.mid; - }).join(' ') + '\r\n'; - } - sdp += 'a=ice-options:trickle\r\n'; + tweak = new BN(tweak); + if (tweak.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_ADD_FAIL); - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - sdp += writeMediaSection(transceiver, transceiver.localCapabilities, 'offer', transceiver.stream, pc._dtlsRole); - sdp += 'a=rtcp-rsize\r\n'; + return Buffer.from(ecparams.g.mul(tweak).add(pair.pub).encode(true, compressed)); +}; - if (transceiver.iceGatherer && pc.iceGatheringState !== 'new' && (sdpMLineIndex === 0 || !pc.usingBundle)) { - transceiver.iceGatherer.getLocalCandidates().forEach(function (cand) { - cand.component = 1; - sdp += 'a=' + SDPUtils.writeCandidate(cand) + '\r\n'; - }); +exports.publicKeyTweakMul = function (publicKey, tweak, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - if (transceiver.iceGatherer.state === 'completed') { - sdp += 'a=end-of-candidates\r\n'; - } - } - }); + tweak = new BN(tweak); + if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_MUL_FAIL); - var desc = new window.RTCSessionDescription({ - type: 'offer', - sdp: sdp - }); - return Promise.resolve(desc); - }; + return Buffer.from(pair.pub.mul(tweak).encode(true, compressed)); +}; - RTCPeerConnection.prototype.createAnswer = function () { - var pc = this; +exports.publicKeyCombine = function (publicKeys, compressed) { + var pairs = new Array(publicKeys.length); + for (var i = 0; i < publicKeys.length; ++i) { + pairs[i] = loadPublicKey(publicKeys[i]); + if (pairs[i] === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); + } - if (pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', 'Can not call createAnswer after close')); - } + var point = pairs[0].pub; + for (var j = 1; j < pairs.length; ++j) { + point = point.add(pairs[j].pub); + }if (point.isInfinity()) throw new Error(messages.EC_PUBLIC_KEY_COMBINE_FAIL); - if (!(pc.signalingState === 'have-remote-offer' || pc.signalingState === 'have-local-pranswer')) { - return Promise.reject(makeError('InvalidStateError', 'Can not call createAnswer in signalingState ' + pc.signalingState)); - } + return Buffer.from(point.encode(true, compressed)); +}; - var sdp = SDPUtils.writeSessionBoilerplate(pc._sdpSessionId, pc._sdpSessionVersion++); - if (pc.usingBundle) { - sdp += 'a=group:BUNDLE ' + pc.transceivers.map(function (t) { - return t.mid; - }).join(' ') + '\r\n'; - } - sdp += 'a=ice-options:trickle\r\n'; +exports.signatureNormalize = function (signature) { + var r = new BN(signature.slice(0, 32)); + var s = new BN(signature.slice(32, 64)); + if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); - var mediaSectionsInOffer = SDPUtils.getMediaSections(pc._remoteDescription.sdp).length; - pc.transceivers.forEach(function (transceiver, sdpMLineIndex) { - if (sdpMLineIndex + 1 > mediaSectionsInOffer) { - return; - } - if (transceiver.rejected) { - if (transceiver.kind === 'application') { - if (transceiver.protocol === 'DTLS/SCTP') { - // legacy fmt - sdp += 'm=application 0 DTLS/SCTP 5000\r\n'; - } else { - sdp += 'm=application 0 ' + transceiver.protocol + ' webrtc-datachannel\r\n'; - } - } else if (transceiver.kind === 'audio') { - sdp += 'm=audio 0 UDP/TLS/RTP/SAVPF 0\r\n' + 'a=rtpmap:0 PCMU/8000\r\n'; - } else if (transceiver.kind === 'video') { - sdp += 'm=video 0 UDP/TLS/RTP/SAVPF 120\r\n' + 'a=rtpmap:120 VP8/90000\r\n'; - } - sdp += 'c=IN IP4 0.0.0.0\r\n' + 'a=inactive\r\n' + 'a=mid:' + transceiver.mid + '\r\n'; - return; - } + var result = Buffer.from(signature); + if (s.cmp(ec.nh) === 1) ecparams.n.sub(s).toArrayLike(Buffer, 'be', 32).copy(result, 32); - // FIXME: look at direction. - if (transceiver.stream) { - var localTrack; - if (transceiver.kind === 'audio') { - localTrack = transceiver.stream.getAudioTracks()[0]; - } else if (transceiver.kind === 'video') { - localTrack = transceiver.stream.getVideoTracks()[0]; - } - if (localTrack) { - // add RTX - if (edgeVersion >= 15019 && transceiver.kind === 'video' && !transceiver.sendEncodingParameters[0].rtx) { - transceiver.sendEncodingParameters[0].rtx = { - ssrc: transceiver.sendEncodingParameters[0].ssrc + 1 - }; - } - } - } + return result; +}; - // Calculate intersection of capabilities. - var commonCapabilities = getCommonCapabilities(transceiver.localCapabilities, transceiver.remoteCapabilities); +exports.signatureExport = function (signature) { + var r = signature.slice(0, 32); + var s = signature.slice(32, 64); + if (new BN(r).cmp(ecparams.n) >= 0 || new BN(s).cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); - var hasRtx = commonCapabilities.codecs.filter(function (c) { - return c.name.toLowerCase() === 'rtx'; - }).length; - if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) { - delete transceiver.sendEncodingParameters[0].rtx; - } + return { r: r, s: s }; +}; - sdp += writeMediaSection(transceiver, commonCapabilities, 'answer', transceiver.stream, pc._dtlsRole); - if (transceiver.rtcpParameters && transceiver.rtcpParameters.reducedSize) { - sdp += 'a=rtcp-rsize\r\n'; - } - }); +exports.signatureImport = function (sigObj) { + var r = new BN(sigObj.r); + if (r.cmp(ecparams.n) >= 0) r = new BN(0); - var desc = new window.RTCSessionDescription({ - type: 'answer', - sdp: sdp - }); - return Promise.resolve(desc); - }; + var s = new BN(sigObj.s); + if (s.cmp(ecparams.n) >= 0) s = new BN(0); - RTCPeerConnection.prototype.addIceCandidate = function (candidate) { - var pc = this; - var sections; - if (candidate && !(candidate.sdpMLineIndex !== undefined || candidate.sdpMid)) { - return Promise.reject(new TypeError('sdpMLineIndex or sdpMid required')); - } + return Buffer.concat([r.toArrayLike(Buffer, 'be', 32), s.toArrayLike(Buffer, 'be', 32)]); +}; - // TODO: needs to go into ops queue. - return new Promise(function (resolve, reject) { - if (!pc._remoteDescription) { - return reject(makeError('InvalidStateError', 'Can not add ICE candidate without a remote description')); - } else if (!candidate || candidate.candidate === '') { - for (var j = 0; j < pc.transceivers.length; j++) { - if (pc.transceivers[j].rejected) { - continue; - } - pc.transceivers[j].iceTransport.addRemoteCandidate({}); - sections = SDPUtils.getMediaSections(pc._remoteDescription.sdp); - sections[j] += 'a=end-of-candidates\r\n'; - pc._remoteDescription.sdp = SDPUtils.getDescription(pc._remoteDescription.sdp) + sections.join(''); - if (pc.usingBundle) { - break; - } - } - } else { - var sdpMLineIndex = candidate.sdpMLineIndex; - if (candidate.sdpMid) { - for (var i = 0; i < pc.transceivers.length; i++) { - if (pc.transceivers[i].mid === candidate.sdpMid) { - sdpMLineIndex = i; - break; - } - } - } - var transceiver = pc.transceivers[sdpMLineIndex]; - if (transceiver) { - if (transceiver.rejected) { - return resolve(); - } - var cand = Object.keys(candidate.candidate).length > 0 ? SDPUtils.parseCandidate(candidate.candidate) : {}; - // Ignore Chrome's invalid candidates since Edge does not like them. - if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) { - return resolve(); - } - // Ignore RTCP candidates, we assume RTCP-MUX. - if (cand.component && cand.component !== 1) { - return resolve(); - } - // when using bundle, avoid adding candidates to the wrong - // ice transport. And avoid adding candidates added in the SDP. - if (sdpMLineIndex === 0 || sdpMLineIndex > 0 && transceiver.iceTransport !== pc.transceivers[0].iceTransport) { - if (!maybeAddCandidate(transceiver.iceTransport, cand)) { - return reject(makeError('OperationError', 'Can not add ICE candidate')); - } - } +exports.sign = function (message, privateKey, noncefn, data) { + if (typeof noncefn === 'function') { + var getNonce = noncefn; + noncefn = function noncefn(counter) { + var nonce = getNonce(message, privateKey, null, data, counter); + if (!Buffer.isBuffer(nonce) || nonce.length !== 32) throw new Error(messages.ECDSA_SIGN_FAIL); - // update the remoteDescription. - var candidateString = candidate.candidate.trim(); - if (candidateString.indexOf('a=') === 0) { - candidateString = candidateString.substr(2); - } - sections = SDPUtils.getMediaSections(pc._remoteDescription.sdp); - sections[sdpMLineIndex] += 'a=' + (cand.type ? candidateString : 'end-of-candidates') + '\r\n'; - pc._remoteDescription.sdp = SDPUtils.getDescription(pc._remoteDescription.sdp) + sections.join(''); - } else { - return reject(makeError('OperationError', 'Can not add ICE candidate')); - } - } - resolve(); - }); - }; + return new BN(nonce); + }; + } - RTCPeerConnection.prototype.getStats = function (selector) { - if (selector && selector instanceof window.MediaStreamTrack) { - var senderOrReceiver = null; - this.transceivers.forEach(function (transceiver) { - if (transceiver.rtpSender && transceiver.rtpSender.track === selector) { - senderOrReceiver = transceiver.rtpSender; - } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track === selector) { - senderOrReceiver = transceiver.rtpReceiver; - } - }); - if (!senderOrReceiver) { - throw makeError('InvalidAccessError', 'Invalid selector.'); - } - return senderOrReceiver.getStats(); - } + var d = new BN(privateKey); + if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.ECDSA_SIGN_FAIL); - var promises = []; - this.transceivers.forEach(function (transceiver) { - ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport', 'dtlsTransport'].forEach(function (method) { - if (transceiver[method]) { - promises.push(transceiver[method].getStats()); - } - }); - }); - return Promise.all(promises).then(function (allStats) { - var results = new Map(); - allStats.forEach(function (stats) { - stats.forEach(function (stat) { - results.set(stat.id, stat); - }); - }); - return results; - }); + var result = ec.sign(message, privateKey, { canonical: true, k: noncefn, pers: data }); + return { + signature: Buffer.concat([result.r.toArrayLike(Buffer, 'be', 32), result.s.toArrayLike(Buffer, 'be', 32)]), + recovery: result.recoveryParam }; +}; - // fix low-level stat names and return Map instead of object. - var ortcObjects = ['RTCRtpSender', 'RTCRtpReceiver', 'RTCIceGatherer', 'RTCIceTransport', 'RTCDtlsTransport']; - ortcObjects.forEach(function (ortcObjectName) { - var obj = window[ortcObjectName]; - if (obj && obj.prototype && obj.prototype.getStats) { - var nativeGetstats = obj.prototype.getStats; - obj.prototype.getStats = function () { - return nativeGetstats.apply(this).then(function (nativeStats) { - var mapStats = new Map(); - Object.keys(nativeStats).forEach(function (id) { - nativeStats[id].type = fixStatsType(nativeStats[id]); - mapStats.set(id, nativeStats[id]); - }); - return mapStats; - }); - }; - } - }); - - // legacy callback shims. Should be moved to adapter.js some days. - var methods = ['createOffer', 'createAnswer']; - methods.forEach(function (method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function () { - var args = arguments; - if (typeof args[0] === 'function' || typeof args[1] === 'function') { - // legacy - return nativeMethod.apply(this, [arguments[2]]).then(function (description) { - if (typeof args[0] === 'function') { - args[0].apply(null, [description]); - } - }, function (error) { - if (typeof args[1] === 'function') { - args[1].apply(null, [error]); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); +exports.verify = function (message, signature, publicKey) { + var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; - methods = ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']; - methods.forEach(function (method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function () { - var args = arguments; - if (typeof args[1] === 'function' || typeof args[2] === 'function') { - // legacy - return nativeMethod.apply(this, arguments).then(function () { - if (typeof args[1] === 'function') { - args[1].apply(null); - } - }, function (error) { - if (typeof args[2] === 'function') { - args[2].apply(null, [error]); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); + var sigr = new BN(sigObj.r); + var sigs = new BN(sigObj.s); + if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); + if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return false; - // getStats is special. It doesn't have a spec legacy method yet we support - // getStats(something, cb) without error callbacks. - ['getStats'].forEach(function (method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function () { - var args = arguments; - if (typeof args[1] === 'function') { - return nativeMethod.apply(this, arguments).then(function () { - if (typeof args[1] === 'function') { - args[1].apply(null); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - return RTCPeerConnection; + return ec.verify(message, sigObj, { x: pair.pub.x, y: pair.pub.y }); }; -},{"sdp":731}],729:[function(require,module,exports){ -'use strict'; - -/* eslint-disable node/no-deprecated-api */ -var buffer = require('buffer'); -var Buffer = buffer.Buffer; - -// alternative to using Object.keys for old browsers -function copyProps(src, dst) { - for (var key in src) { - dst[key] = src[key]; - } -} -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer; -} else { - // Copy properties from require('buffer') - copyProps(buffer, exports); - exports.Buffer = SafeBuffer; -} +exports.recover = function (message, signature, recovery, compressed) { + var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; -function SafeBuffer(arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length); -} + var sigr = new BN(sigObj.r); + var sigs = new BN(sigObj.s); + if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); -// Copy static methods from Buffer -copyProps(Buffer, SafeBuffer); + try { + if (sigr.isZero() || sigs.isZero()) throw new Error(); -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number'); + var point = ec.recoverPubKey(message, sigObj, recovery); + return Buffer.from(point.encode(true, compressed)); + } catch (err) { + throw new Error(messages.ECDSA_RECOVER_FAIL); } - return Buffer(arg, encodingOrOffset, length); }; -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - var buf = Buffer(size); - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - } else { - buf.fill(0); - } - return buf; +exports.ecdh = function (publicKey, privateKey) { + var shared = exports.ecdhUnsafe(publicKey, privateKey, true); + return createHash('sha256').update(shared).digest(); }; -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - return Buffer(size); -}; +exports.ecdhUnsafe = function (publicKey, privateKey, compressed) { + var pair = loadPublicKey(publicKey); + if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number'); - } - return buffer.SlowBuffer(size); + var scalar = new BN(privateKey); + if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) throw new Error(messages.ECDH_FAIL); + + return Buffer.from(pair.pub.mul(scalar).encode(true, compressed)); }; -},{"buffer":256}],730:[function(require,module,exports){ -(function (Buffer){ +},{"../messages.json":735,"bn.js":226,"create-hash":593,"elliptic":612,"safe-buffer":728}],734:[function(require,module,exports){ 'use strict'; -var crypto = require('crypto'); -/* eslint-disable camelcase */ - -var MAX_VALUE = 0x7fffffff; +var assert = require('./assert'); +var der = require('./der'); +var messages = require('./messages.json'); -// N = Cpu cost, r = Memory cost, p = parallelization cost -function scrypt(key, salt, N, r, p, dkLen, progressCallback) { - if (N === 0 || (N & N - 1) !== 0) throw Error('N must be > 0 and a power of 2'); +function initCompressedValue(value, defaultValue) { + if (value === undefined) return defaultValue; - if (N > MAX_VALUE / 128 / r) throw Error('Parameter N is too large'); - if (r > MAX_VALUE / 128 / p) throw Error('Parameter r is too large'); + assert.isBoolean(value, messages.COMPRESSED_TYPE_INVALID); + return value; +} - var XY = new Buffer(256 * r); - var V = new Buffer(128 * r * N); +module.exports = function (secp256k1) { + return { + privateKeyVerify: function privateKeyVerify(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + return privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey); + }, - // pseudo global - var B32 = new Int32Array(16); // salsa20_8 - var x = new Int32Array(16); // salsa20_8 - var _X = new Buffer(64); // blockmix_salsa8 + privateKeyExport: function privateKeyExport(privateKey, compressed) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - // pseudo global - var B = crypto.pbkdf2Sync(key, salt, 1, p * 128 * r, 'sha256'); + compressed = initCompressedValue(compressed, true); + var publicKey = secp256k1.privateKeyExport(privateKey, compressed); - var tickCallback; - if (progressCallback) { - var totalOps = p * N * 2; - var currentOp = 0; + return der.privateKeyExport(privateKey, publicKey, compressed); + }, - tickCallback = function tickCallback() { - ++currentOp; + privateKeyImport: function privateKeyImport(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - // send progress notifications once every 1,000 ops - if (currentOp % 1000 === 0) { - progressCallback({ - current: currentOp, - total: totalOps, - percent: currentOp / totalOps * 100.0 - }); - } - }; - } + privateKey = der.privateKeyImport(privateKey); + if (privateKey && privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey)) return privateKey; - for (var i = 0; i < p; i++) { - smix(B, i * 128 * r, r, N, V, XY); - } + throw new Error(messages.EC_PRIVATE_KEY_IMPORT_DER_FAIL); + }, - return crypto.pbkdf2Sync(key, B, 1, dkLen, 'sha256'); + privateKeyNegate: function privateKeyNegate(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - // all of these functions are actually moved to the top - // due to function hoisting + return secp256k1.privateKeyNegate(privateKey); + }, - function smix(B, Bi, r, N, V, XY) { - var Xi = 0; - var Yi = 128 * r; - var i; + privateKeyModInverse: function privateKeyModInverse(privateKey) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - B.copy(XY, Xi, Bi, Bi + Yi); + return secp256k1.privateKeyModInverse(privateKey); + }, - for (i = 0; i < N; i++) { - XY.copy(V, i * Yi, Xi, Xi + Yi); - blockmix_salsa8(XY, Xi, Yi, r); + privateKeyTweakAdd: function privateKeyTweakAdd(privateKey, tweak) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - if (tickCallback) tickCallback(); - } + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); - for (i = 0; i < N; i++) { - var offset = Xi + (2 * r - 1) * 64; - var j = XY.readUInt32LE(offset) & N - 1; - blockxor(V, j * Yi, XY, Xi, Yi); - blockmix_salsa8(XY, Xi, Yi, r); + return secp256k1.privateKeyTweakAdd(privateKey, tweak); + }, - if (tickCallback) tickCallback(); - } + privateKeyTweakMul: function privateKeyTweakMul(privateKey, tweak) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - XY.copy(B, Bi, Xi, Xi + Yi); - } + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); - function blockmix_salsa8(BY, Bi, Yi, r) { - var i; + return secp256k1.privateKeyTweakMul(privateKey, tweak); + }, - arraycopy(BY, Bi + (2 * r - 1) * 64, _X, 0, 64); + publicKeyCreate: function publicKeyCreate(privateKey, compressed) { + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - for (i = 0; i < 2 * r; i++) { - blockxor(BY, i * 64, _X, 0, 64); - salsa20_8(_X); - arraycopy(_X, 0, BY, Yi + i * 64, 64); - } + compressed = initCompressedValue(compressed, true); - for (i = 0; i < r; i++) { - arraycopy(BY, Yi + i * 2 * 64, BY, Bi + i * 64, 64); - } + return secp256k1.publicKeyCreate(privateKey, compressed); + }, - for (i = 0; i < r; i++) { - arraycopy(BY, Yi + (i * 2 + 1) * 64, BY, Bi + (i + r) * 64, 64); - } - } + publicKeyConvert: function publicKeyConvert(publicKey, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - function R(a, b) { - return a << b | a >>> 32 - b; - } + compressed = initCompressedValue(compressed, true); - function salsa20_8(B) { - var i; + return secp256k1.publicKeyConvert(publicKey, compressed); + }, - for (i = 0; i < 16; i++) { - B32[i] = (B[i * 4 + 0] & 0xff) << 0; - B32[i] |= (B[i * 4 + 1] & 0xff) << 8; - B32[i] |= (B[i * 4 + 2] & 0xff) << 16; - B32[i] |= (B[i * 4 + 3] & 0xff) << 24; - // B32[i] = B.readUInt32LE(i*4) <--- this is signficantly slower even in Node.js - } + publicKeyVerify: function publicKeyVerify(publicKey) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + return secp256k1.publicKeyVerify(publicKey); + }, - arraycopy(B32, 0, x, 0, 16); + publicKeyTweakAdd: function publicKeyTweakAdd(publicKey, tweak, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - for (i = 8; i > 0; i -= 2) { - x[4] ^= R(x[0] + x[12], 7); - x[8] ^= R(x[4] + x[0], 9); - x[12] ^= R(x[8] + x[4], 13); - x[0] ^= R(x[12] + x[8], 18); - x[9] ^= R(x[5] + x[1], 7); - x[13] ^= R(x[9] + x[5], 9); - x[1] ^= R(x[13] + x[9], 13); - x[5] ^= R(x[1] + x[13], 18); - x[14] ^= R(x[10] + x[6], 7); - x[2] ^= R(x[14] + x[10], 9); - x[6] ^= R(x[2] + x[14], 13); - x[10] ^= R(x[6] + x[2], 18); - x[3] ^= R(x[15] + x[11], 7); - x[7] ^= R(x[3] + x[15], 9); - x[11] ^= R(x[7] + x[3], 13); - x[15] ^= R(x[11] + x[7], 18); - x[1] ^= R(x[0] + x[3], 7); - x[2] ^= R(x[1] + x[0], 9); - x[3] ^= R(x[2] + x[1], 13); - x[0] ^= R(x[3] + x[2], 18); - x[6] ^= R(x[5] + x[4], 7); - x[7] ^= R(x[6] + x[5], 9); - x[4] ^= R(x[7] + x[6], 13); - x[5] ^= R(x[4] + x[7], 18); - x[11] ^= R(x[10] + x[9], 7); - x[8] ^= R(x[11] + x[10], 9); - x[9] ^= R(x[8] + x[11], 13); - x[10] ^= R(x[9] + x[8], 18); - x[12] ^= R(x[15] + x[14], 7); - x[13] ^= R(x[12] + x[15], 9); - x[14] ^= R(x[13] + x[12], 13); - x[15] ^= R(x[14] + x[13], 18); - } + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); - for (i = 0; i < 16; ++i) { - B32[i] = x[i] + B32[i]; - }for (i = 0; i < 16; i++) { - var bi = i * 4; - B[bi + 0] = B32[i] >> 0 & 0xff; - B[bi + 1] = B32[i] >> 8 & 0xff; - B[bi + 2] = B32[i] >> 16 & 0xff; - B[bi + 3] = B32[i] >> 24 & 0xff; - // B.writeInt32LE(B32[i], i*4) //<--- this is signficantly slower even in Node.js - } - } + compressed = initCompressedValue(compressed, true); - // naive approach... going back to loop unrolling may yield additional performance - function blockxor(S, Si, D, Di, len) { - for (var i = 0; i < len; i++) { - D[Di + i] ^= S[Si + i]; - } - } -} + return secp256k1.publicKeyTweakAdd(publicKey, tweak, compressed); + }, -function arraycopy(src, srcPos, dest, destPos, length) { - if (Buffer.isBuffer(src) && Buffer.isBuffer(dest)) { - src.copy(dest, destPos, srcPos, srcPos + length); - } else { - while (length--) { - dest[destPos++] = src[srcPos++]; - } - } -} + publicKeyTweakMul: function publicKeyTweakMul(publicKey, tweak, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); -module.exports = scrypt; + assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); + assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); -}).call(this,require("buffer").Buffer) -},{"buffer":256,"crypto":597}],731:[function(require,module,exports){ -/* eslint-env node */ -'use strict'; + compressed = initCompressedValue(compressed, true); -// SDP helpers. + return secp256k1.publicKeyTweakMul(publicKey, tweak, compressed); + }, -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + publicKeyCombine: function publicKeyCombine(publicKeys, compressed) { + assert.isArray(publicKeys, messages.EC_PUBLIC_KEYS_TYPE_INVALID); + assert.isLengthGTZero(publicKeys, messages.EC_PUBLIC_KEYS_LENGTH_INVALID); + for (var i = 0; i < publicKeys.length; ++i) { + assert.isBuffer(publicKeys[i], messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKeys[i], 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + } -var SDPUtils = {}; + compressed = initCompressedValue(compressed, true); -// Generate an alphanumeric identifier for cname or mids. -// TODO: use UUIDs instead? https://gist.github.com/jed/982883 -SDPUtils.generateIdentifier = function () { - return Math.random().toString(36).substr(2, 10); -}; + return secp256k1.publicKeyCombine(publicKeys, compressed); + }, -// The RTCP CNAME used by all peerconnections from the same JS. -SDPUtils.localCName = SDPUtils.generateIdentifier(); + signatureNormalize: function signatureNormalize(signature) { + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Splits SDP into lines, dealing with both CRLF and LF. -SDPUtils.splitLines = function (blob) { - return blob.trim().split('\n').map(function (line) { - return line.trim(); - }); -}; -// Splits SDP into sessionpart and mediasections. Ensures CRLF. -SDPUtils.splitSections = function (blob) { - var parts = blob.split('\nm='); - return parts.map(function (part, index) { - return (index > 0 ? 'm=' + part : part).trim() + '\r\n'; - }); -}; + return secp256k1.signatureNormalize(signature); + }, -// returns the session description. -SDPUtils.getDescription = function (blob) { - var sections = SDPUtils.splitSections(blob); - return sections && sections[0]; -}; + signatureExport: function signatureExport(signature) { + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// returns the individual media sections. -SDPUtils.getMediaSections = function (blob) { - var sections = SDPUtils.splitSections(blob); - sections.shift(); - return sections; -}; + var sigObj = secp256k1.signatureExport(signature); + return der.signatureExport(sigObj); + }, -// Returns lines that start with a certain prefix. -SDPUtils.matchPrefix = function (blob, prefix) { - return SDPUtils.splitLines(blob).filter(function (line) { - return line.indexOf(prefix) === 0; - }); -}; + signatureImport: function signatureImport(sig) { + assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Parses an ICE candidate line. Sample input: -// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8 -// rport 55996" -SDPUtils.parseCandidate = function (line) { - var parts; - // Parse both variants. - if (line.indexOf('a=candidate:') === 0) { - parts = line.substring(12).split(' '); - } else { - parts = line.substring(10).split(' '); - } + var sigObj = der.signatureImport(sig); + if (sigObj) return secp256k1.signatureImport(sigObj); - var candidate = { - foundation: parts[0], - component: parseInt(parts[1], 10), - protocol: parts[2].toLowerCase(), - priority: parseInt(parts[3], 10), - ip: parts[4], - address: parts[4], // address is an alias for ip. - port: parseInt(parts[5], 10), - // skip parts[6] == 'typ' - type: parts[7] - }; + throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); + }, - for (var i = 8; i < parts.length; i += 2) { - switch (parts[i]) { - case 'raddr': - candidate.relatedAddress = parts[i + 1]; - break; - case 'rport': - candidate.relatedPort = parseInt(parts[i + 1], 10); - break; - case 'tcptype': - candidate.tcpType = parts[i + 1]; - break; - case 'ufrag': - candidate.ufrag = parts[i + 1]; // for backward compability. - candidate.usernameFragment = parts[i + 1]; - break; - default: - // extension handling, in particular ufrag - candidate[parts[i]] = parts[i + 1]; - break; - } - } - return candidate; -}; + signatureImportLax: function signatureImportLax(sig) { + assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Translates a candidate object into SDP candidate attribute. -SDPUtils.writeCandidate = function (candidate) { - var sdp = []; - sdp.push(candidate.foundation); - sdp.push(candidate.component); - sdp.push(candidate.protocol.toUpperCase()); - sdp.push(candidate.priority); - sdp.push(candidate.address || candidate.ip); - sdp.push(candidate.port); + var sigObj = der.signatureImportLax(sig); + if (sigObj) return secp256k1.signatureImport(sigObj); - var type = candidate.type; - sdp.push('typ'); - sdp.push(type); - if (type !== 'host' && candidate.relatedAddress && candidate.relatedPort) { - sdp.push('raddr'); - sdp.push(candidate.relatedAddress); - sdp.push('rport'); - sdp.push(candidate.relatedPort); - } - if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') { - sdp.push('tcptype'); - sdp.push(candidate.tcpType); - } - if (candidate.usernameFragment || candidate.ufrag) { - sdp.push('ufrag'); - sdp.push(candidate.usernameFragment || candidate.ufrag); - } - return 'candidate:' + sdp.join(' '); -}; + throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); + }, -// Parses an ice-options line, returns an array of option tags. -// a=ice-options:foo bar -SDPUtils.parseIceOptions = function (line) { - return line.substr(14).split(' '); -}; + sign: function sign(message, privateKey, options) { + assert.isBuffer(message, messages.MSG32_TYPE_INVALID); + assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); -// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input: -// a=rtpmap:111 opus/48000/2 -SDPUtils.parseRtpMap = function (line) { - var parts = line.substr(9).split(' '); - var parsed = { - payloadType: parseInt(parts.shift(), 10) // was: id - }; + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - parts = parts[0].split('/'); + var data = null; + var noncefn = null; + if (options !== undefined) { + assert.isObject(options, messages.OPTIONS_TYPE_INVALID); - parsed.name = parts[0]; - parsed.clockRate = parseInt(parts[1], 10); // was: clockrate - parsed.channels = parts.length === 3 ? parseInt(parts[2], 10) : 1; - // legacy alias, got renamed back to channels in ORTC. - parsed.numChannels = parsed.channels; - return parsed; -}; + if (options.data !== undefined) { + assert.isBuffer(options.data, messages.OPTIONS_DATA_TYPE_INVALID); + assert.isBufferLength(options.data, 32, messages.OPTIONS_DATA_LENGTH_INVALID); + data = options.data; + } -// Generate an a=rtpmap line from RTCRtpCodecCapability or -// RTCRtpCodecParameters. -SDPUtils.writeRtpMap = function (codec) { - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - var channels = codec.channels || codec.numChannels || 1; - return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate + (channels !== 1 ? '/' + channels : '') + '\r\n'; -}; + if (options.noncefn !== undefined) { + assert.isFunction(options.noncefn, messages.OPTIONS_NONCEFN_TYPE_INVALID); + noncefn = options.noncefn; + } + } -// Parses an a=extmap line (headerextension from RFC 5285). Sample input: -// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset -// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset -SDPUtils.parseExtmap = function (line) { - var parts = line.substr(9).split(' '); - return { - id: parseInt(parts[0], 10), - direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv', - uri: parts[1] - }; -}; + return secp256k1.sign(message, privateKey, noncefn, data); + }, -// Generates a=extmap line from RTCRtpHeaderExtensionParameters or -// RTCRtpHeaderExtension. -SDPUtils.writeExtmap = function (headerExtension) { - return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) + (headerExtension.direction && headerExtension.direction !== 'sendrecv' ? '/' + headerExtension.direction : '') + ' ' + headerExtension.uri + '\r\n'; -}; + verify: function verify(message, signature, publicKey) { + assert.isBuffer(message, messages.MSG32_TYPE_INVALID); + assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); -// Parses an ftmp line, returns dictionary. Sample input: -// a=fmtp:96 vbr=on;cng=on -// Also deals with vbr=on; cng=on -SDPUtils.parseFmtp = function (line) { - var parsed = {}; - var kv; - var parts = line.substr(line.indexOf(' ') + 1).split(';'); - for (var j = 0; j < parts.length; j++) { - kv = parts[j].trim().split('='); - parsed[kv[0].trim()] = kv[1]; - } - return parsed; -}; + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters. -SDPUtils.writeFmtp = function (codec) { - var line = ''; - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - if (codec.parameters && Object.keys(codec.parameters).length) { - var params = []; - Object.keys(codec.parameters).forEach(function (param) { - if (codec.parameters[param]) { - params.push(param + '=' + codec.parameters[param]); - } else { - params.push(param); - } - }); - line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\r\n'; - } - return line; -}; + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); -// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input: -// a=rtcp-fb:98 nack rpsi -SDPUtils.parseRtcpFb = function (line) { - var parts = line.substr(line.indexOf(' ') + 1).split(' '); - return { - type: parts.shift(), - parameter: parts.join(' ') - }; -}; -// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters. -SDPUtils.writeRtcpFb = function (codec) { - var lines = ''; - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - if (codec.rtcpFeedback && codec.rtcpFeedback.length) { - // FIXME: special handling for trr-int? - codec.rtcpFeedback.forEach(function (fb) { - lines += 'a=rtcp-fb:' + pt + ' ' + fb.type + (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') + '\r\n'; - }); - } - return lines; -}; + return secp256k1.verify(message, signature, publicKey); + }, -// Parses an RFC 5576 ssrc media attribute. Sample input: -// a=ssrc:3735928559 cname:something -SDPUtils.parseSsrcMedia = function (line) { - var sp = line.indexOf(' '); - var parts = { - ssrc: parseInt(line.substr(7, sp - 7), 10) - }; - var colon = line.indexOf(':', sp); - if (colon > -1) { - parts.attribute = line.substr(sp + 1, colon - sp - 1); - parts.value = line.substr(colon + 1); - } else { - parts.attribute = line.substr(sp + 1); - } - return parts; -}; + recover: function recover(message, signature, recovery, compressed) { + assert.isBuffer(message, messages.MSG32_TYPE_INVALID); + assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); -SDPUtils.parseSsrcGroup = function (line) { - var parts = line.substr(13).split(' '); - return { - semantics: parts.shift(), - ssrcs: parts.map(function (ssrc) { - return parseInt(ssrc, 10); - }) - }; -}; + assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); + assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); -// Extracts the MID (RFC 5888) from a media section. -// returns the MID or undefined if no mid line was found. -SDPUtils.getMid = function (mediaSection) { - var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0]; - if (mid) { - return mid.substr(6); - } -}; + assert.isNumber(recovery, messages.RECOVERY_ID_TYPE_INVALID); + assert.isNumberInInterval(recovery, -1, 4, messages.RECOVERY_ID_VALUE_INVALID); -SDPUtils.parseFingerprint = function (line) { - var parts = line.substr(14).split(' '); - return { - algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge. - value: parts[1] - }; -}; + compressed = initCompressedValue(compressed, true); -// Extracts DTLS parameters from SDP media section or sessionpart. -// FIXME: for consistency with other functions this should only -// get the fingerprint line as input. See also getIceParameters. -SDPUtils.getDtlsParameters = function (mediaSection, sessionpart) { - var lines = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=fingerprint:'); - // Note: a=setup line is ignored since we use the 'auto' role. - // Note2: 'algorithm' is not case sensitive except in Edge. - return { - role: 'auto', - fingerprints: lines.map(SDPUtils.parseFingerprint) - }; -}; + return secp256k1.recover(message, signature, recovery, compressed); + }, -// Serializes DTLS parameters to SDP. -SDPUtils.writeDtlsParameters = function (params, setupType) { - var sdp = 'a=setup:' + setupType + '\r\n'; - params.fingerprints.forEach(function (fp) { - sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\r\n'; - }); - return sdp; -}; -// Parses ICE information from SDP media section or sessionpart. -// FIXME: for consistency with other functions this should only -// get the ice-ufrag and ice-pwd lines as input. -SDPUtils.getIceParameters = function (mediaSection, sessionpart) { - var lines = SDPUtils.splitLines(mediaSection); - // Search in session part, too. - lines = lines.concat(SDPUtils.splitLines(sessionpart)); - var iceParameters = { - usernameFragment: lines.filter(function (line) { - return line.indexOf('a=ice-ufrag:') === 0; - })[0].substr(12), - password: lines.filter(function (line) { - return line.indexOf('a=ice-pwd:') === 0; - })[0].substr(10) - }; - return iceParameters; -}; - -// Serializes ICE parameters to SDP. -SDPUtils.writeIceParameters = function (params) { - return 'a=ice-ufrag:' + params.usernameFragment + '\r\n' + 'a=ice-pwd:' + params.password + '\r\n'; -}; - -// Parses the SDP media section and returns RTCRtpParameters. -SDPUtils.parseRtpParameters = function (mediaSection) { - var description = { - codecs: [], - headerExtensions: [], - fecMechanisms: [], - rtcp: [] - }; - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - for (var i = 3; i < mline.length; i++) { - // find all codecs from mline[3..] - var pt = mline[i]; - var rtpmapline = SDPUtils.matchPrefix(mediaSection, 'a=rtpmap:' + pt + ' ')[0]; - if (rtpmapline) { - var codec = SDPUtils.parseRtpMap(rtpmapline); - var fmtps = SDPUtils.matchPrefix(mediaSection, 'a=fmtp:' + pt + ' '); - // Only the first a=fmtp: is considered. - codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {}; - codec.rtcpFeedback = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-fb:' + pt + ' ').map(SDPUtils.parseRtcpFb); - description.codecs.push(codec); - // parse FEC mechanisms from rtpmap lines. - switch (codec.name.toUpperCase()) { - case 'RED': - case 'ULPFEC': - description.fecMechanisms.push(codec.name.toUpperCase()); - break; - default: - // only RED and ULPFEC are recognized as FEC mechanisms. - break; - } - } - } - SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function (line) { - description.headerExtensions.push(SDPUtils.parseExtmap(line)); - }); - // FIXME: parse rtcp. - return description; -}; - -// Generates parts of the SDP media section describing the capabilities / -// parameters. -SDPUtils.writeRtpDescription = function (kind, caps) { - var sdp = ''; - - // Build the mline. - sdp += 'm=' + kind + ' '; - sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs. - sdp += ' UDP/TLS/RTP/SAVPF '; - sdp += caps.codecs.map(function (codec) { - if (codec.preferredPayloadType !== undefined) { - return codec.preferredPayloadType; - } - return codec.payloadType; - }).join(' ') + '\r\n'; - - sdp += 'c=IN IP4 0.0.0.0\r\n'; - sdp += 'a=rtcp:9 IN IP4 0.0.0.0\r\n'; - - // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb. - caps.codecs.forEach(function (codec) { - sdp += SDPUtils.writeRtpMap(codec); - sdp += SDPUtils.writeFmtp(codec); - sdp += SDPUtils.writeRtcpFb(codec); - }); - var maxptime = 0; - caps.codecs.forEach(function (codec) { - if (codec.maxptime > maxptime) { - maxptime = codec.maxptime; - } - }); - if (maxptime > 0) { - sdp += 'a=maxptime:' + maxptime + '\r\n'; - } - sdp += 'a=rtcp-mux\r\n'; + ecdh: function ecdh(publicKey, privateKey) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - if (caps.headerExtensions) { - caps.headerExtensions.forEach(function (extension) { - sdp += SDPUtils.writeExtmap(extension); - }); - } - // FIXME: write fecMechanisms. - return sdp; -}; + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); -// Parses the SDP media section and returns an array of -// RTCRtpEncodingParameters. -SDPUtils.parseRtpEncodingParameters = function (mediaSection) { - var encodingParameters = []; - var description = SDPUtils.parseRtpParameters(mediaSection); - var hasRed = description.fecMechanisms.indexOf('RED') !== -1; - var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1; + return secp256k1.ecdh(publicKey, privateKey); + }, - // filter a=ssrc:... cname:, ignore PlanB-msid - var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (parts) { - return parts.attribute === 'cname'; - }); - var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc; - var secondarySsrc; + ecdhUnsafe: function ecdhUnsafe(publicKey, privateKey, compressed) { + assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); + assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID').map(function (line) { - var parts = line.substr(17).split(' '); - return parts.map(function (part) { - return parseInt(part, 10); - }); - }); - if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) { - secondarySsrc = flows[0][1]; - } + assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); + assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); - description.codecs.forEach(function (codec) { - if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) { - var encParam = { - ssrc: primarySsrc, - codecPayloadType: parseInt(codec.parameters.apt, 10) - }; - if (primarySsrc && secondarySsrc) { - encParam.rtx = { ssrc: secondarySsrc }; - } - encodingParameters.push(encParam); - if (hasRed) { - encParam = JSON.parse(JSON.stringify(encParam)); - encParam.fec = { - ssrc: primarySsrc, - mechanism: hasUlpfec ? 'red+ulpfec' : 'red' - }; - encodingParameters.push(encParam); - } - } - }); - if (encodingParameters.length === 0 && primarySsrc) { - encodingParameters.push({ - ssrc: primarySsrc - }); - } + compressed = initCompressedValue(compressed, true); - // we support both b=AS and b=TIAS but interpret AS as TIAS. - var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b='); - if (bandwidth.length) { - if (bandwidth[0].indexOf('b=TIAS:') === 0) { - bandwidth = parseInt(bandwidth[0].substr(7), 10); - } else if (bandwidth[0].indexOf('b=AS:') === 0) { - // use formula from JSEP to convert b=AS to TIAS value. - bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95 - 50 * 40 * 8; - } else { - bandwidth = undefined; + return secp256k1.ecdhUnsafe(publicKey, privateKey, compressed); } - encodingParameters.forEach(function (params) { - params.maxBitrate = bandwidth; - }); - } - return encodingParameters; + }; }; -// parses http://draft.ortc.org/#rtcrtcpparameters* -SDPUtils.parseRtcpParameters = function (mediaSection) { - var rtcpParameters = {}; - - // Gets the first SSRC. Note tha with RTX there might be multiple - // SSRCs. - var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (obj) { - return obj.attribute === 'cname'; - })[0]; - if (remoteSsrc) { - rtcpParameters.cname = remoteSsrc.value; - rtcpParameters.ssrc = remoteSsrc.ssrc; - } +},{"./assert":731,"./der":732,"./messages.json":735}],735:[function(require,module,exports){ +module.exports={ + "COMPRESSED_TYPE_INVALID": "compressed should be a boolean", + "EC_PRIVATE_KEY_TYPE_INVALID": "private key should be a Buffer", + "EC_PRIVATE_KEY_LENGTH_INVALID": "private key length is invalid", + "EC_PRIVATE_KEY_RANGE_INVALID": "private key range is invalid", + "EC_PRIVATE_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting private key is invalid", + "EC_PRIVATE_KEY_TWEAK_MUL_FAIL": "tweak out of range", + "EC_PRIVATE_KEY_EXPORT_DER_FAIL": "couldn't export to DER format", + "EC_PRIVATE_KEY_IMPORT_DER_FAIL": "couldn't import from DER format", + "EC_PUBLIC_KEYS_TYPE_INVALID": "public keys should be an Array", + "EC_PUBLIC_KEYS_LENGTH_INVALID": "public keys Array should have at least 1 element", + "EC_PUBLIC_KEY_TYPE_INVALID": "public key should be a Buffer", + "EC_PUBLIC_KEY_LENGTH_INVALID": "public key length is invalid", + "EC_PUBLIC_KEY_PARSE_FAIL": "the public key could not be parsed or is invalid", + "EC_PUBLIC_KEY_CREATE_FAIL": "private was invalid, try again", + "EC_PUBLIC_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting public key is invalid", + "EC_PUBLIC_KEY_TWEAK_MUL_FAIL": "tweak out of range", + "EC_PUBLIC_KEY_COMBINE_FAIL": "the sum of the public keys is not valid", + "ECDH_FAIL": "scalar was invalid (zero or overflow)", + "ECDSA_SIGNATURE_TYPE_INVALID": "signature should be a Buffer", + "ECDSA_SIGNATURE_LENGTH_INVALID": "signature length is invalid", + "ECDSA_SIGNATURE_PARSE_FAIL": "couldn't parse signature", + "ECDSA_SIGNATURE_PARSE_DER_FAIL": "couldn't parse DER signature", + "ECDSA_SIGNATURE_SERIALIZE_DER_FAIL": "couldn't serialize signature to DER format", + "ECDSA_SIGN_FAIL": "nonce generation function failed or private key is invalid", + "ECDSA_RECOVER_FAIL": "couldn't recover public key from signature", + "MSG32_TYPE_INVALID": "message should be a Buffer", + "MSG32_LENGTH_INVALID": "message length is invalid", + "OPTIONS_TYPE_INVALID": "options should be an Object", + "OPTIONS_DATA_TYPE_INVALID": "options.data should be a Buffer", + "OPTIONS_DATA_LENGTH_INVALID": "options.data length is invalid", + "OPTIONS_NONCEFN_TYPE_INVALID": "options.noncefn should be a Function", + "RECOVERY_ID_TYPE_INVALID": "recovery should be a Number", + "RECOVERY_ID_VALUE_INVALID": "recovery should have value between -1 and 4", + "TWEAK_TYPE_INVALID": "tweak should be a Buffer", + "TWEAK_LENGTH_INVALID": "tweak length is invalid" +} - // Edge uses the compound attribute instead of reducedSize - // compound is !reducedSize - var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize'); - rtcpParameters.reducedSize = rsize.length > 0; - rtcpParameters.compound = rsize.length === 0; +},{}],736:[function(require,module,exports){ +'use strict'; - // parses the rtcp-mux attrіbute. - // Note that Edge does not support unmuxed RTCP. - var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux'); - rtcpParameters.mux = mux.length > 0; +var Buffer = require('safe-buffer').Buffer; - return rtcpParameters; -}; +// prototype class for hash functions +function Hash(blockSize, finalSize) { + this._block = Buffer.alloc(blockSize); + this._finalSize = finalSize; + this._blockSize = blockSize; + this._len = 0; +} -// parses either a=msid: or a=ssrc:... msid lines and returns -// the id of the MediaStream and MediaStreamTrack. -SDPUtils.parseMsid = function (mediaSection) { - var parts; - var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:'); - if (spec.length === 1) { - parts = spec[0].substr(7).split(' '); - return { stream: parts[0], track: parts[1] }; - } - var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (msidParts) { - return msidParts.attribute === 'msid'; - }); - if (planB.length > 0) { - parts = planB[0].value.split(' '); - return { stream: parts[0], track: parts[1] }; - } -}; - -// Generate a session ID for SDP. -// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1 -// recommends using a cryptographically random +ve 64-bit value -// but right now this should be acceptable and within the right range -SDPUtils.generateSessionId = function () { - return Math.random().toString().substr(2, 21); -}; - -// Write boilder plate for start of SDP -// sessId argument is optional - if not supplied it will -// be generated randomly -// sessVersion is optional and defaults to 2 -// sessUser is optional and defaults to 'thisisadapterortc' -SDPUtils.writeSessionBoilerplate = function (sessId, sessVer, sessUser) { - var sessionId; - var version = sessVer !== undefined ? sessVer : 2; - if (sessId) { - sessionId = sessId; - } else { - sessionId = SDPUtils.generateSessionId(); +Hash.prototype.update = function (data, enc) { + if (typeof data === 'string') { + enc = enc || 'utf8'; + data = Buffer.from(data, enc); } - var user = sessUser || 'thisisadapterortc'; - // FIXME: sess-id should be an NTP timestamp. - return 'v=0\r\n' + 'o=' + user + ' ' + sessionId + ' ' + version + ' IN IP4 127.0.0.1\r\n' + 's=-\r\n' + 't=0 0\r\n'; -}; -SDPUtils.writeMediaSection = function (transceiver, caps, type, stream) { - var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps); - - // Map ICE parameters (ufrag, pwd) to SDP. - sdp += SDPUtils.writeIceParameters(transceiver.iceGatherer.getLocalParameters()); - - // Map DTLS parameters to SDP. - sdp += SDPUtils.writeDtlsParameters(transceiver.dtlsTransport.getLocalParameters(), type === 'offer' ? 'actpass' : 'active'); + var block = this._block; + var blockSize = this._blockSize; + var length = data.length; + var accum = this._len; - sdp += 'a=mid:' + transceiver.mid + '\r\n'; + for (var offset = 0; offset < length;) { + var assigned = accum % blockSize; + var remainder = Math.min(length - offset, blockSize - assigned); - if (transceiver.direction) { - sdp += 'a=' + transceiver.direction + '\r\n'; - } else if (transceiver.rtpSender && transceiver.rtpReceiver) { - sdp += 'a=sendrecv\r\n'; - } else if (transceiver.rtpSender) { - sdp += 'a=sendonly\r\n'; - } else if (transceiver.rtpReceiver) { - sdp += 'a=recvonly\r\n'; - } else { - sdp += 'a=inactive\r\n'; - } + for (var i = 0; i < remainder; i++) { + block[assigned + i] = data[offset + i]; + } - if (transceiver.rtpSender) { - // spec. - var msid = 'msid:' + stream.id + ' ' + transceiver.rtpSender.track.id + '\r\n'; - sdp += 'a=' + msid; + accum += remainder; + offset += remainder; - // for Chrome. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' ' + msid; - if (transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' ' + msid; - sdp += 'a=ssrc-group:FID ' + transceiver.sendEncodingParameters[0].ssrc + ' ' + transceiver.sendEncodingParameters[0].rtx.ssrc + '\r\n'; + if (accum % blockSize === 0) { + this._update(block); } } - // FIXME: this should be written by writeRtpDescription. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + ' cname:' + SDPUtils.localCName + '\r\n'; - } - return sdp; -}; -// Gets the direction from the mediaSection or the sessionpart. -SDPUtils.getDirection = function (mediaSection, sessionpart) { - // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv. - var lines = SDPUtils.splitLines(mediaSection); - for (var i = 0; i < lines.length; i++) { - switch (lines[i]) { - case 'a=sendrecv': - case 'a=sendonly': - case 'a=recvonly': - case 'a=inactive': - return lines[i].substr(2); - default: - // FIXME: What should happen here? - } - } - if (sessionpart) { - return SDPUtils.getDirection(sessionpart); - } - return 'sendrecv'; -}; - -SDPUtils.getKind = function (mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - return mline[0].substr(2); + this._len += length; + return this; }; -SDPUtils.isRejected = function (mediaSection) { - return mediaSection.split(' ', 2)[1] === '0'; -}; +Hash.prototype.digest = function (enc) { + var rem = this._len % this._blockSize; -SDPUtils.parseMLine = function (mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var parts = lines[0].substr(2).split(' '); - return { - kind: parts[0], - port: parseInt(parts[1], 10), - protocol: parts[2], - fmt: parts.slice(3).join(' ') - }; -}; + this._block[rem] = 0x80; -SDPUtils.parseOLine = function (mediaSection) { - var line = SDPUtils.matchPrefix(mediaSection, 'o=')[0]; - var parts = line.substr(2).split(' '); - return { - username: parts[0], - sessionId: parts[1], - sessionVersion: parseInt(parts[2], 10), - netType: parts[3], - addressType: parts[4], - address: parts[5] - }; -}; + // zero (rem + 1) trailing bits, where (rem + 1) is the smallest + // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize + this._block.fill(0, rem + 1); -// a very naive interpretation of a valid SDP. -SDPUtils.isValidSDP = function (blob) { - if (typeof blob !== 'string' || blob.length === 0) { - return false; - } - var lines = SDPUtils.splitLines(blob); - for (var i = 0; i < lines.length; i++) { - if (lines[i].length < 2 || lines[i].charAt(1) !== '=') { - return false; - } - // TODO: check the modifier a bit more. + if (rem >= this._finalSize) { + this._update(this._block); + this._block.fill(0); } - return true; -}; -// Expose public methods. -if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object') { - module.exports = SDPUtils; -} - -},{}],732:[function(require,module,exports){ -'use strict'; - -module.exports = require('./lib')(require('./lib/elliptic')); + var bits = this._len * 8; -},{"./lib":736,"./lib/elliptic":735}],733:[function(require,module,exports){ -(function (Buffer){ -'use strict'; + // uint32 + if (bits <= 0xffffffff) { + this._block.writeUInt32BE(bits, this._blockSize - 4); -var toString = Object.prototype.toString; + // uint64 + } else { + var lowBits = (bits & 0xffffffff) >>> 0; + var highBits = (bits - lowBits) / 0x100000000; -// TypeError -exports.isArray = function (value, message) { - if (!Array.isArray(value)) throw TypeError(message); -}; + this._block.writeUInt32BE(highBits, this._blockSize - 8); + this._block.writeUInt32BE(lowBits, this._blockSize - 4); + } -exports.isBoolean = function (value, message) { - if (toString.call(value) !== '[object Boolean]') throw TypeError(message); -}; + this._update(this._block); + var hash = this._hash(); -exports.isBuffer = function (value, message) { - if (!Buffer.isBuffer(value)) throw TypeError(message); + return enc ? hash.toString(enc) : hash; }; -exports.isFunction = function (value, message) { - if (toString.call(value) !== '[object Function]') throw TypeError(message); +Hash.prototype._update = function () { + throw new Error('_update must be implemented by subclass'); }; -exports.isNumber = function (value, message) { - if (toString.call(value) !== '[object Number]') throw TypeError(message); -}; +module.exports = Hash; -exports.isObject = function (value, message) { - if (toString.call(value) !== '[object Object]') throw TypeError(message); -}; +},{"safe-buffer":728}],737:[function(require,module,exports){ +'use strict'; -// RangeError -exports.isBufferLength = function (buffer, length, message) { - if (buffer.length !== length) throw RangeError(message); -}; +var _exports = module.exports = function SHA(algorithm) { + algorithm = algorithm.toLowerCase(); -exports.isBufferLength2 = function (buffer, length1, length2, message) { - if (buffer.length !== length1 && buffer.length !== length2) throw RangeError(message); -}; + var Algorithm = _exports[algorithm]; + if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)'); -exports.isLengthGTZero = function (value, message) { - if (value.length === 0) throw RangeError(message); + return new Algorithm(); }; -exports.isNumberInInterval = function (number, x, y, message) { - if (number <= x || number >= y) throw RangeError(message); -}; +_exports.sha = require('./sha'); +_exports.sha1 = require('./sha1'); +_exports.sha224 = require('./sha224'); +_exports.sha256 = require('./sha256'); +_exports.sha384 = require('./sha384'); +_exports.sha512 = require('./sha512'); -}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) -},{"../../is-buffer/index.js":672}],734:[function(require,module,exports){ +},{"./sha":738,"./sha1":739,"./sha224":740,"./sha256":741,"./sha384":742,"./sha512":743}],738:[function(require,module,exports){ 'use strict'; +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined + * in FIPS PUB 180-1 + * This source code is derived from sha1.js of the same repository. + * The difference between SHA-0 and SHA-1 is just a bitwise rotate left + * operation was added. + */ + +var inherits = require('inherits'); +var Hash = require('./hash'); var Buffer = require('safe-buffer').Buffer; -var bip66 = require('bip66'); -var EC_PRIVKEY_EXPORT_DER_COMPRESSED = Buffer.from([ -// begin -0x30, 0x81, 0xd3, 0x02, 0x01, 0x01, 0x04, 0x20, -// private key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -// middle -0xa0, 0x81, 0x85, 0x30, 0x81, 0x82, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x21, 0x02, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x24, 0x03, 0x22, 0x00, -// public key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); +var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; -var EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED = Buffer.from([ -// begin -0x30, 0x82, 0x01, 0x13, 0x02, 0x01, 0x01, 0x04, 0x20, -// private key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -// middle -0xa0, 0x81, 0xa5, 0x30, 0x81, 0xa2, 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xcE, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xff, 0xff, 0xfc, 0x2f, 0x30, 0x06, 0x04, 0x01, 0x00, 0x04, 0x01, 0x07, 0x04, 0x41, 0x04, 0x79, 0xbE, 0x66, 0x7E, 0xf9, 0xdc, 0xbb, 0xac, 0x55, 0xa0, 0x62, 0x95, 0xcE, 0x87, 0x0b, 0x07, 0x02, 0x9b, 0xfc, 0xdb, 0x2d, 0xcE, 0x28, 0xd9, 0x59, 0xf2, 0x81, 0x5b, 0x16, 0xf8, 0x17, 0x98, 0x48, 0x3a, 0xda, 0x77, 0x26, 0xa3, 0xc4, 0x65, 0x5d, 0xa4, 0xfb, 0xfc, 0x0E, 0x11, 0x08, 0xa8, 0xfd, 0x17, 0xb4, 0x48, 0xa6, 0x85, 0x54, 0x19, 0x9c, 0x47, 0xd0, 0x8f, 0xfb, 0x10, 0xd4, 0xb8, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfE, 0xba, 0xaE, 0xdc, 0xE6, 0xaf, 0x48, 0xa0, 0x3b, 0xbf, 0xd2, 0x5E, 0x8c, 0xd0, 0x36, 0x41, 0x41, 0x02, 0x01, 0x01, 0xa1, 0x44, 0x03, 0x42, 0x00, -// public key -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); +var W = new Array(80); -exports.privateKeyExport = function (privateKey, publicKey, compressed) { - var result = Buffer.from(compressed ? EC_PRIVKEY_EXPORT_DER_COMPRESSED : EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED); - privateKey.copy(result, compressed ? 8 : 9); - publicKey.copy(result, compressed ? 181 : 214); - return result; +function Sha() { + this.init(); + this._w = W; + + Hash.call(this, 64, 56); +} + +inherits(Sha, Hash); + +Sha.prototype.init = function () { + this._a = 0x67452301; + this._b = 0xefcdab89; + this._c = 0x98badcfe; + this._d = 0x10325476; + this._e = 0xc3d2e1f0; + + return this; }; -exports.privateKeyImport = function (privateKey) { - var length = privateKey.length; +function rotl5(num) { + return num << 5 | num >>> 27; +} - // sequence header - var index = 0; - if (length < index + 1 || privateKey[index] !== 0x30) return; - index += 1; +function rotl30(num) { + return num << 30 | num >>> 2; +} - // sequence length constructor - if (length < index + 1 || !(privateKey[index] & 0x80)) return; +function ft(s, b, c, d) { + if (s === 0) return b & c | ~b & d; + if (s === 2) return b & c | b & d | c & d; + return b ^ c ^ d; +} - var lenb = privateKey[index] & 0x7f; - index += 1; - if (lenb < 1 || lenb > 2) return; - if (length < index + lenb) return; +Sha.prototype._update = function (M) { + var W = this._w; - // sequence length - var len = privateKey[index + lenb - 1] | (lenb > 1 ? privateKey[index + lenb - 2] << 8 : 0); - index += lenb; - if (length < index + len) return; + var a = this._a | 0; + var b = this._b | 0; + var c = this._c | 0; + var d = this._d | 0; + var e = this._e | 0; - // sequence element 0: version number (=1) - if (length < index + 3 || privateKey[index] !== 0x02 || privateKey[index + 1] !== 0x01 || privateKey[index + 2] !== 0x01) { - return; - } - index += 3; + for (var i = 0; i < 16; ++i) { + W[i] = M.readInt32BE(i * 4); + }for (; i < 80; ++i) { + W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; + }for (var j = 0; j < 80; ++j) { + var s = ~~(j / 20); + var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; - // sequence element 1: octet string, up to 32 bytes - if (length < index + 2 || privateKey[index] !== 0x04 || privateKey[index + 1] > 0x20 || length < index + 2 + privateKey[index + 1]) { - return; + e = d; + d = c; + c = rotl30(b); + b = a; + a = t; } - return privateKey.slice(index + 2, index + 2 + privateKey[index + 1]); + this._a = a + this._a | 0; + this._b = b + this._b | 0; + this._c = c + this._c | 0; + this._d = d + this._d | 0; + this._e = e + this._e | 0; }; -exports.signatureExport = function (sigObj) { - var r = Buffer.concat([Buffer.from([0]), sigObj.r]); - for (var lenR = 33, posR = 0; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR) {} +Sha.prototype._hash = function () { + var H = Buffer.allocUnsafe(20); - var s = Buffer.concat([Buffer.from([0]), sigObj.s]); - for (var lenS = 33, posS = 0; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS) {} + H.writeInt32BE(this._a | 0, 0); + H.writeInt32BE(this._b | 0, 4); + H.writeInt32BE(this._c | 0, 8); + H.writeInt32BE(this._d | 0, 12); + H.writeInt32BE(this._e | 0, 16); - return bip66.encode(r.slice(posR), s.slice(posS)); + return H; }; -exports.signatureImport = function (sig) { - var r = Buffer.alloc(32, 0); - var s = Buffer.alloc(32, 0); +module.exports = Sha; - try { - var sigObj = bip66.decode(sig); - if (sigObj.r.length === 33 && sigObj.r[0] === 0x00) sigObj.r = sigObj.r.slice(1); - if (sigObj.r.length > 32) throw new Error('R length is too long'); - if (sigObj.s.length === 33 && sigObj.s[0] === 0x00) sigObj.s = sigObj.s.slice(1); - if (sigObj.s.length > 32) throw new Error('S length is too long'); - } catch (err) { - return; - } +},{"./hash":736,"inherits":671,"safe-buffer":728}],739:[function(require,module,exports){ +'use strict'; - sigObj.r.copy(r, 32 - sigObj.r.length); - sigObj.s.copy(s, 32 - sigObj.s.length); +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined + * in FIPS PUB 180-1 + * Version 2.1a Copyright Paul Johnston 2000 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for details. + */ - return { r: r, s: s }; -}; +var inherits = require('inherits'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; -exports.signatureImportLax = function (sig) { - var r = Buffer.alloc(32, 0); - var s = Buffer.alloc(32, 0); +var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; - var length = sig.length; - var index = 0; +var W = new Array(80); - // sequence tag byte - if (sig[index++] !== 0x30) return; +function Sha1() { + this.init(); + this._w = W; - // sequence length byte - var lenbyte = sig[index++]; - if (lenbyte & 0x80) { - index += lenbyte - 0x80; - if (index > length) return; - } + Hash.call(this, 64, 56); +} - // sequence tag byte for r - if (sig[index++] !== 0x02) return; +inherits(Sha1, Hash); - // length for r - var rlen = sig[index++]; - if (rlen & 0x80) { - lenbyte = rlen - 0x80; - if (index + lenbyte > length) return; - for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} - for (rlen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { - rlen = (rlen << 8) + sig[index]; - } - } - if (rlen > length - index) return; - var rindex = index; - index += rlen; +Sha1.prototype.init = function () { + this._a = 0x67452301; + this._b = 0xefcdab89; + this._c = 0x98badcfe; + this._d = 0x10325476; + this._e = 0xc3d2e1f0; - // sequence tag byte for s - if (sig[index++] !== 0x02) return; + return this; +}; - // length for s - var slen = sig[index++]; - if (slen & 0x80) { - lenbyte = slen - 0x80; - if (index + lenbyte > length) return; - for (; lenbyte > 0 && sig[index] === 0x00; index += 1, lenbyte -= 1) {} - for (slen = 0; lenbyte > 0; index += 1, lenbyte -= 1) { - slen = (slen << 8) + sig[index]; - } - } - if (slen > length - index) return; - var sindex = index; - index += slen; +function rotl1(num) { + return num << 1 | num >>> 31; +} - // ignore leading zeros in r - for (; rlen > 0 && sig[rindex] === 0x00; rlen -= 1, rindex += 1) {} - // copy r value - if (rlen > 32) return; - var rvalue = sig.slice(rindex, rindex + rlen); - rvalue.copy(r, 32 - rvalue.length); +function rotl5(num) { + return num << 5 | num >>> 27; +} - // ignore leading zeros in s - for (; slen > 0 && sig[sindex] === 0x00; slen -= 1, sindex += 1) {} - // copy s value - if (slen > 32) return; - var svalue = sig.slice(sindex, sindex + slen); - svalue.copy(s, 32 - svalue.length); +function rotl30(num) { + return num << 30 | num >>> 2; +} - return { r: r, s: s }; -}; +function ft(s, b, c, d) { + if (s === 0) return b & c | ~b & d; + if (s === 2) return b & c | b & d | c & d; + return b ^ c ^ d; +} -},{"bip66":224,"safe-buffer":729}],735:[function(require,module,exports){ -'use strict'; +Sha1.prototype._update = function (M) { + var W = this._w; -var Buffer = require('safe-buffer').Buffer; -var createHash = require('create-hash'); -var BN = require('bn.js'); -var EC = require('elliptic').ec; + var a = this._a | 0; + var b = this._b | 0; + var c = this._c | 0; + var d = this._d | 0; + var e = this._e | 0; -var messages = require('../messages.json'); + for (var i = 0; i < 16; ++i) { + W[i] = M.readInt32BE(i * 4); + }for (; i < 80; ++i) { + W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]); + }for (var j = 0; j < 80; ++j) { + var s = ~~(j / 20); + var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; -var ec = new EC('secp256k1'); -var ecparams = ec.curve; + e = d; + d = c; + c = rotl30(b); + b = a; + a = t; + } -function loadCompressedPublicKey(first, xBuffer) { - var x = new BN(xBuffer); + this._a = a + this._a | 0; + this._b = b + this._b | 0; + this._c = c + this._c | 0; + this._d = d + this._d | 0; + this._e = e + this._e | 0; +}; - // overflow - if (x.cmp(ecparams.p) >= 0) return null; - x = x.toRed(ecparams.red); +Sha1.prototype._hash = function () { + var H = Buffer.allocUnsafe(20); - // compute corresponding Y - var y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt(); - if (first === 0x03 !== y.isOdd()) y = y.redNeg(); + H.writeInt32BE(this._a | 0, 0); + H.writeInt32BE(this._b | 0, 4); + H.writeInt32BE(this._c | 0, 8); + H.writeInt32BE(this._d | 0, 12); + H.writeInt32BE(this._e | 0, 16); - return ec.keyPair({ pub: { x: x, y: y } }); -} + return H; +}; -function loadUncompressedPublicKey(first, xBuffer, yBuffer) { - var x = new BN(xBuffer); - var y = new BN(yBuffer); +module.exports = Sha1; - // overflow - if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null; +},{"./hash":736,"inherits":671,"safe-buffer":728}],740:[function(require,module,exports){ +'use strict'; - x = x.toRed(ecparams.red); - y = y.toRed(ecparams.red); +/** + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined + * in FIPS 180-2 + * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * + */ - // is odd flag - if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null; +var inherits = require('inherits'); +var Sha256 = require('./sha256'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; - // x*x*x + b = y*y - var x3 = x.redSqr().redIMul(x); - if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null; +var W = new Array(64); - return ec.keyPair({ pub: { x: x, y: y } }); -} +function Sha224() { + this.init(); -function loadPublicKey(publicKey) { - var first = publicKey[0]; - switch (first) { - case 0x02: - case 0x03: - if (publicKey.length !== 33) return null; - return loadCompressedPublicKey(first, publicKey.slice(1, 33)); - case 0x04: - case 0x06: - case 0x07: - if (publicKey.length !== 65) return null; - return loadUncompressedPublicKey(first, publicKey.slice(1, 33), publicKey.slice(33, 65)); - default: - return null; - } + this._w = W; // new Array(64) + + Hash.call(this, 64, 56); } -exports.privateKeyVerify = function (privateKey) { - var bn = new BN(privateKey); - return bn.cmp(ecparams.n) < 0 && !bn.isZero(); -}; +inherits(Sha224, Sha256); -exports.privateKeyExport = function (privateKey, compressed) { - var d = new BN(privateKey); - if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PRIVATE_KEY_EXPORT_DER_FAIL); +Sha224.prototype.init = function () { + this._a = 0xc1059ed8; + this._b = 0x367cd507; + this._c = 0x3070dd17; + this._d = 0xf70e5939; + this._e = 0xffc00b31; + this._f = 0x68581511; + this._g = 0x64f98fa7; + this._h = 0xbefa4fa4; - return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); + return this; }; -exports.privateKeyNegate = function (privateKey) { - var bn = new BN(privateKey); - return bn.isZero() ? Buffer.alloc(32) : ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Buffer, 'be', 32); -}; +Sha224.prototype._hash = function () { + var H = Buffer.allocUnsafe(28); -exports.privateKeyModInverse = function (privateKey) { - var bn = new BN(privateKey); - if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_RANGE_INVALID); + H.writeInt32BE(this._a, 0); + H.writeInt32BE(this._b, 4); + H.writeInt32BE(this._c, 8); + H.writeInt32BE(this._d, 12); + H.writeInt32BE(this._e, 16); + H.writeInt32BE(this._f, 20); + H.writeInt32BE(this._g, 24); - return bn.invm(ecparams.n).toArrayLike(Buffer, 'be', 32); + return H; }; -exports.privateKeyTweakAdd = function (privateKey, tweak) { - var bn = new BN(tweak); - if (bn.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); +module.exports = Sha224; - bn.iadd(new BN(privateKey)); - if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n); - if (bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL); +},{"./hash":736,"./sha256":741,"inherits":671,"safe-buffer":728}],741:[function(require,module,exports){ +'use strict'; - return bn.toArrayLike(Buffer, 'be', 32); -}; +/** + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined + * in FIPS 180-2 + * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * + */ -exports.privateKeyTweakMul = function (privateKey, tweak) { - var bn = new BN(tweak); - if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) throw new Error(messages.EC_PRIVATE_KEY_TWEAK_MUL_FAIL); +var inherits = require('inherits'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; - bn.imul(new BN(privateKey)); - if (bn.cmp(ecparams.n)) bn = bn.umod(ecparams.n); +var K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2]; - return bn.toArrayLike(Buffer, 'be', 32); -}; +var W = new Array(64); -exports.publicKeyCreate = function (privateKey, compressed) { - var d = new BN(privateKey); - if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.EC_PUBLIC_KEY_CREATE_FAIL); - - return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed, true)); -}; - -exports.publicKeyConvert = function (publicKey, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +function Sha256() { + this.init(); - return Buffer.from(pair.getPublic(compressed, true)); -}; + this._w = W; // new Array(64) -exports.publicKeyVerify = function (publicKey) { - return loadPublicKey(publicKey) !== null; -}; + Hash.call(this, 64, 56); +} -exports.publicKeyTweakAdd = function (publicKey, tweak, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +inherits(Sha256, Hash); - tweak = new BN(tweak); - if (tweak.cmp(ecparams.n) >= 0) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_ADD_FAIL); +Sha256.prototype.init = function () { + this._a = 0x6a09e667; + this._b = 0xbb67ae85; + this._c = 0x3c6ef372; + this._d = 0xa54ff53a; + this._e = 0x510e527f; + this._f = 0x9b05688c; + this._g = 0x1f83d9ab; + this._h = 0x5be0cd19; - return Buffer.from(ecparams.g.mul(tweak).add(pair.pub).encode(true, compressed)); + return this; }; -exports.publicKeyTweakMul = function (publicKey, tweak, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +function ch(x, y, z) { + return z ^ x & (y ^ z); +} - tweak = new BN(tweak); - if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) throw new Error(messages.EC_PUBLIC_KEY_TWEAK_MUL_FAIL); +function maj(x, y, z) { + return x & y | z & (x | y); +} - return Buffer.from(pair.pub.mul(tweak).encode(true, compressed)); -}; +function sigma0(x) { + return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10); +} -exports.publicKeyCombine = function (publicKeys, compressed) { - var pairs = new Array(publicKeys.length); - for (var i = 0; i < publicKeys.length; ++i) { - pairs[i] = loadPublicKey(publicKeys[i]); - if (pairs[i] === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); - } +function sigma1(x) { + return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7); +} - var point = pairs[0].pub; - for (var j = 1; j < pairs.length; ++j) { - point = point.add(pairs[j].pub); - }if (point.isInfinity()) throw new Error(messages.EC_PUBLIC_KEY_COMBINE_FAIL); +function gamma0(x) { + return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3; +} - return Buffer.from(point.encode(true, compressed)); -}; +function gamma1(x) { + return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10; +} -exports.signatureNormalize = function (signature) { - var r = new BN(signature.slice(0, 32)); - var s = new BN(signature.slice(32, 64)); - if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); +Sha256.prototype._update = function (M) { + var W = this._w; - var result = Buffer.from(signature); - if (s.cmp(ec.nh) === 1) ecparams.n.sub(s).toArrayLike(Buffer, 'be', 32).copy(result, 32); + var a = this._a | 0; + var b = this._b | 0; + var c = this._c | 0; + var d = this._d | 0; + var e = this._e | 0; + var f = this._f | 0; + var g = this._g | 0; + var h = this._h | 0; - return result; -}; + for (var i = 0; i < 16; ++i) { + W[i] = M.readInt32BE(i * 4); + }for (; i < 64; ++i) { + W[i] = gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16] | 0; + }for (var j = 0; j < 64; ++j) { + var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W[j] | 0; + var T2 = sigma0(a) + maj(a, b, c) | 0; -exports.signatureExport = function (signature) { - var r = signature.slice(0, 32); - var s = signature.slice(32, 64); - if (new BN(r).cmp(ecparams.n) >= 0 || new BN(s).cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); + h = g; + g = f; + f = e; + e = d + T1 | 0; + d = c; + c = b; + b = a; + a = T1 + T2 | 0; + } - return { r: r, s: s }; + this._a = a + this._a | 0; + this._b = b + this._b | 0; + this._c = c + this._c | 0; + this._d = d + this._d | 0; + this._e = e + this._e | 0; + this._f = f + this._f | 0; + this._g = g + this._g | 0; + this._h = h + this._h | 0; }; -exports.signatureImport = function (sigObj) { - var r = new BN(sigObj.r); - if (r.cmp(ecparams.n) >= 0) r = new BN(0); +Sha256.prototype._hash = function () { + var H = Buffer.allocUnsafe(32); - var s = new BN(sigObj.s); - if (s.cmp(ecparams.n) >= 0) s = new BN(0); + H.writeInt32BE(this._a, 0); + H.writeInt32BE(this._b, 4); + H.writeInt32BE(this._c, 8); + H.writeInt32BE(this._d, 12); + H.writeInt32BE(this._e, 16); + H.writeInt32BE(this._f, 20); + H.writeInt32BE(this._g, 24); + H.writeInt32BE(this._h, 28); - return Buffer.concat([r.toArrayLike(Buffer, 'be', 32), s.toArrayLike(Buffer, 'be', 32)]); + return H; }; -exports.sign = function (message, privateKey, noncefn, data) { - if (typeof noncefn === 'function') { - var getNonce = noncefn; - noncefn = function noncefn(counter) { - var nonce = getNonce(message, privateKey, null, data, counter); - if (!Buffer.isBuffer(nonce) || nonce.length !== 32) throw new Error(messages.ECDSA_SIGN_FAIL); +module.exports = Sha256; - return new BN(nonce); - }; - } +},{"./hash":736,"inherits":671,"safe-buffer":728}],742:[function(require,module,exports){ +'use strict'; - var d = new BN(privateKey); - if (d.cmp(ecparams.n) >= 0 || d.isZero()) throw new Error(messages.ECDSA_SIGN_FAIL); +var inherits = require('inherits'); +var SHA512 = require('./sha512'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; - var result = ec.sign(message, privateKey, { canonical: true, k: noncefn, pers: data }); - return { - signature: Buffer.concat([result.r.toArrayLike(Buffer, 'be', 32), result.s.toArrayLike(Buffer, 'be', 32)]), - recovery: result.recoveryParam - }; -}; +var W = new Array(160); -exports.verify = function (message, signature, publicKey) { - var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; +function Sha384() { + this.init(); + this._w = W; - var sigr = new BN(sigObj.r); - var sigs = new BN(sigObj.s); - if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); - if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return false; + Hash.call(this, 128, 112); +} - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +inherits(Sha384, SHA512); - return ec.verify(message, sigObj, { x: pair.pub.x, y: pair.pub.y }); -}; +Sha384.prototype.init = function () { + this._ah = 0xcbbb9d5d; + this._bh = 0x629a292a; + this._ch = 0x9159015a; + this._dh = 0x152fecd8; + this._eh = 0x67332667; + this._fh = 0x8eb44a87; + this._gh = 0xdb0c2e0d; + this._hh = 0x47b5481d; -exports.recover = function (message, signature, recovery, compressed) { - var sigObj = { r: signature.slice(0, 32), s: signature.slice(32, 64) }; + this._al = 0xc1059ed8; + this._bl = 0x367cd507; + this._cl = 0x3070dd17; + this._dl = 0xf70e5939; + this._el = 0xffc00b31; + this._fl = 0x68581511; + this._gl = 0x64f98fa7; + this._hl = 0xbefa4fa4; - var sigr = new BN(sigObj.r); - var sigs = new BN(sigObj.s); - if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL); + return this; +}; - try { - if (sigr.isZero() || sigs.isZero()) throw new Error(); +Sha384.prototype._hash = function () { + var H = Buffer.allocUnsafe(48); - var point = ec.recoverPubKey(message, sigObj, recovery); - return Buffer.from(point.encode(true, compressed)); - } catch (err) { - throw new Error(messages.ECDSA_RECOVER_FAIL); + function writeInt64BE(h, l, offset) { + H.writeInt32BE(h, offset); + H.writeInt32BE(l, offset + 4); } -}; -exports.ecdh = function (publicKey, privateKey) { - var shared = exports.ecdhUnsafe(publicKey, privateKey, true); - return createHash('sha256').update(shared).digest(); + writeInt64BE(this._ah, this._al, 0); + writeInt64BE(this._bh, this._bl, 8); + writeInt64BE(this._ch, this._cl, 16); + writeInt64BE(this._dh, this._dl, 24); + writeInt64BE(this._eh, this._el, 32); + writeInt64BE(this._fh, this._fl, 40); + + return H; }; -exports.ecdhUnsafe = function (publicKey, privateKey, compressed) { - var pair = loadPublicKey(publicKey); - if (pair === null) throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL); +module.exports = Sha384; - var scalar = new BN(privateKey); - if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) throw new Error(messages.ECDH_FAIL); +},{"./hash":736,"./sha512":743,"inherits":671,"safe-buffer":728}],743:[function(require,module,exports){ +'use strict'; - return Buffer.from(pair.pub.mul(scalar).encode(true, compressed)); -}; +var inherits = require('inherits'); +var Hash = require('./hash'); +var Buffer = require('safe-buffer').Buffer; -},{"../messages.json":737,"bn.js":226,"create-hash":593,"elliptic":612,"safe-buffer":729}],736:[function(require,module,exports){ -'use strict'; +var K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817]; -var assert = require('./assert'); -var der = require('./der'); -var messages = require('./messages.json'); +var W = new Array(160); -function initCompressedValue(value, defaultValue) { - if (value === undefined) return defaultValue; +function Sha512() { + this.init(); + this._w = W; - assert.isBoolean(value, messages.COMPRESSED_TYPE_INVALID); - return value; + Hash.call(this, 128, 112); } -module.exports = function (secp256k1) { - return { - privateKeyVerify: function privateKeyVerify(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - return privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey); - }, +inherits(Sha512, Hash); - privateKeyExport: function privateKeyExport(privateKey, compressed) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +Sha512.prototype.init = function () { + this._ah = 0x6a09e667; + this._bh = 0xbb67ae85; + this._ch = 0x3c6ef372; + this._dh = 0xa54ff53a; + this._eh = 0x510e527f; + this._fh = 0x9b05688c; + this._gh = 0x1f83d9ab; + this._hh = 0x5be0cd19; - compressed = initCompressedValue(compressed, true); - var publicKey = secp256k1.privateKeyExport(privateKey, compressed); + this._al = 0xf3bcc908; + this._bl = 0x84caa73b; + this._cl = 0xfe94f82b; + this._dl = 0x5f1d36f1; + this._el = 0xade682d1; + this._fl = 0x2b3e6c1f; + this._gl = 0xfb41bd6b; + this._hl = 0x137e2179; - return der.privateKeyExport(privateKey, publicKey, compressed); - }, + return this; +}; - privateKeyImport: function privateKeyImport(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); +function Ch(x, y, z) { + return z ^ x & (y ^ z); +} - privateKey = der.privateKeyImport(privateKey); - if (privateKey && privateKey.length === 32 && secp256k1.privateKeyVerify(privateKey)) return privateKey; +function maj(x, y, z) { + return x & y | z & (x | y); +} - throw new Error(messages.EC_PRIVATE_KEY_IMPORT_DER_FAIL); - }, +function sigma0(x, xl) { + return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25); +} - privateKeyNegate: function privateKeyNegate(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +function sigma1(x, xl) { + return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23); +} - return secp256k1.privateKeyNegate(privateKey); - }, +function Gamma0(x, xl) { + return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7; +} - privateKeyModInverse: function privateKeyModInverse(privateKey) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +function Gamma0l(x, xl) { + return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25); +} - return secp256k1.privateKeyModInverse(privateKey); - }, +function Gamma1(x, xl) { + return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6; +} - privateKeyTweakAdd: function privateKeyTweakAdd(privateKey, tweak) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +function Gamma1l(x, xl) { + return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26); +} - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); +function getCarry(a, b) { + return a >>> 0 < b >>> 0 ? 1 : 0; +} - return secp256k1.privateKeyTweakAdd(privateKey, tweak); - }, +Sha512.prototype._update = function (M) { + var W = this._w; - privateKeyTweakMul: function privateKeyTweakMul(privateKey, tweak) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + var ah = this._ah | 0; + var bh = this._bh | 0; + var ch = this._ch | 0; + var dh = this._dh | 0; + var eh = this._eh | 0; + var fh = this._fh | 0; + var gh = this._gh | 0; + var hh = this._hh | 0; - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); + var al = this._al | 0; + var bl = this._bl | 0; + var cl = this._cl | 0; + var dl = this._dl | 0; + var el = this._el | 0; + var fl = this._fl | 0; + var gl = this._gl | 0; + var hl = this._hl | 0; - return secp256k1.privateKeyTweakMul(privateKey, tweak); - }, + for (var i = 0; i < 32; i += 2) { + W[i] = M.readInt32BE(i * 4); + W[i + 1] = M.readInt32BE(i * 4 + 4); + } + for (; i < 160; i += 2) { + var xh = W[i - 15 * 2]; + var xl = W[i - 15 * 2 + 1]; + var gamma0 = Gamma0(xh, xl); + var gamma0l = Gamma0l(xl, xh); - publicKeyCreate: function publicKeyCreate(privateKey, compressed) { - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + xh = W[i - 2 * 2]; + xl = W[i - 2 * 2 + 1]; + var gamma1 = Gamma1(xh, xl); + var gamma1l = Gamma1l(xl, xh); - compressed = initCompressedValue(compressed, true); + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7h = W[i - 7 * 2]; + var Wi7l = W[i - 7 * 2 + 1]; - return secp256k1.publicKeyCreate(privateKey, compressed); - }, + var Wi16h = W[i - 16 * 2]; + var Wi16l = W[i - 16 * 2 + 1]; - publicKeyConvert: function publicKeyConvert(publicKey, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + var Wil = gamma0l + Wi7l | 0; + var Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0; + Wil = Wil + gamma1l | 0; + Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0; + Wil = Wil + Wi16l | 0; + Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0; - compressed = initCompressedValue(compressed, true); + W[i] = Wih; + W[i + 1] = Wil; + } - return secp256k1.publicKeyConvert(publicKey, compressed); - }, + for (var j = 0; j < 160; j += 2) { + Wih = W[j]; + Wil = W[j + 1]; - publicKeyVerify: function publicKeyVerify(publicKey) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - return secp256k1.publicKeyVerify(publicKey); - }, + var majh = maj(ah, bh, ch); + var majl = maj(al, bl, cl); - publicKeyTweakAdd: function publicKeyTweakAdd(publicKey, tweak, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + var sigma0h = sigma0(ah, al); + var sigma0l = sigma0(al, ah); + var sigma1h = sigma1(eh, el); + var sigma1l = sigma1(el, eh); - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); + // t1 = h + sigma1 + ch + K[j] + W[j] + var Kih = K[j]; + var Kil = K[j + 1]; - compressed = initCompressedValue(compressed, true); + var chh = Ch(eh, fh, gh); + var chl = Ch(el, fl, gl); - return secp256k1.publicKeyTweakAdd(publicKey, tweak, compressed); - }, + var t1l = hl + sigma1l | 0; + var t1h = hh + sigma1h + getCarry(t1l, hl) | 0; + t1l = t1l + chl | 0; + t1h = t1h + chh + getCarry(t1l, chl) | 0; + t1l = t1l + Kil | 0; + t1h = t1h + Kih + getCarry(t1l, Kil) | 0; + t1l = t1l + Wil | 0; + t1h = t1h + Wih + getCarry(t1l, Wil) | 0; - publicKeyTweakMul: function publicKeyTweakMul(publicKey, tweak, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + // t2 = sigma0 + maj + var t2l = sigma0l + majl | 0; + var t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0; - assert.isBuffer(tweak, messages.TWEAK_TYPE_INVALID); - assert.isBufferLength(tweak, 32, messages.TWEAK_LENGTH_INVALID); + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + el = dl + t1l | 0; + eh = dh + t1h + getCarry(el, dl) | 0; + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + al = t1l + t2l | 0; + ah = t1h + t2h + getCarry(al, t1l) | 0; + } - compressed = initCompressedValue(compressed, true); + this._al = this._al + al | 0; + this._bl = this._bl + bl | 0; + this._cl = this._cl + cl | 0; + this._dl = this._dl + dl | 0; + this._el = this._el + el | 0; + this._fl = this._fl + fl | 0; + this._gl = this._gl + gl | 0; + this._hl = this._hl + hl | 0; - return secp256k1.publicKeyTweakMul(publicKey, tweak, compressed); - }, + this._ah = this._ah + ah + getCarry(this._al, al) | 0; + this._bh = this._bh + bh + getCarry(this._bl, bl) | 0; + this._ch = this._ch + ch + getCarry(this._cl, cl) | 0; + this._dh = this._dh + dh + getCarry(this._dl, dl) | 0; + this._eh = this._eh + eh + getCarry(this._el, el) | 0; + this._fh = this._fh + fh + getCarry(this._fl, fl) | 0; + this._gh = this._gh + gh + getCarry(this._gl, gl) | 0; + this._hh = this._hh + hh + getCarry(this._hl, hl) | 0; +}; - publicKeyCombine: function publicKeyCombine(publicKeys, compressed) { - assert.isArray(publicKeys, messages.EC_PUBLIC_KEYS_TYPE_INVALID); - assert.isLengthGTZero(publicKeys, messages.EC_PUBLIC_KEYS_LENGTH_INVALID); - for (var i = 0; i < publicKeys.length; ++i) { - assert.isBuffer(publicKeys[i], messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKeys[i], 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); - } +Sha512.prototype._hash = function () { + var H = Buffer.allocUnsafe(64); - compressed = initCompressedValue(compressed, true); + function writeInt64BE(h, l, offset) { + H.writeInt32BE(h, offset); + H.writeInt32BE(l, offset + 4); + } - return secp256k1.publicKeyCombine(publicKeys, compressed); - }, + writeInt64BE(this._ah, this._al, 0); + writeInt64BE(this._bh, this._bl, 8); + writeInt64BE(this._ch, this._cl, 16); + writeInt64BE(this._dh, this._dl, 24); + writeInt64BE(this._eh, this._el, 32); + writeInt64BE(this._fh, this._fl, 40); + writeInt64BE(this._gh, this._gl, 48); + writeInt64BE(this._hh, this._hl, 56); - signatureNormalize: function signatureNormalize(signature) { - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); + return H; +}; - return secp256k1.signatureNormalize(signature); - }, +module.exports = Sha512; - signatureExport: function signatureExport(signature) { - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); +},{"./hash":736,"inherits":671,"safe-buffer":728}],744:[function(require,module,exports){ +"use strict"; - var sigObj = secp256k1.signatureExport(signature); - return der.signatureExport(sigObj); - }, +var distance = require("leven"); - signatureImport: function signatureImport(sig) { - assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); +module.exports = function (a, b) { + if (!a || !b || !a.length || !b.length) return 0; + if (a === b) return 1; + var d = distance(a.toLowerCase(), b.toLowerCase()); + var longest = Math.max(a.length, b.length); + return (longest - d) / longest; +}; - var sigObj = der.signatureImport(sig); - if (sigObj) return secp256k1.signatureImport(sigObj); +},{"leven":682}],745:[function(require,module,exports){ +(function (Buffer){ +'use strict'; - throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); - }, +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - signatureImportLax: function signatureImportLax(sig) { - assert.isBuffer(sig, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isLengthGTZero(sig, messages.ECDSA_SIGNATURE_LENGTH_INVALID); +module.exports = Peer; - var sigObj = der.signatureImportLax(sig); - if (sigObj) return secp256k1.signatureImport(sigObj); +var debug = require('debug')('simple-peer'); +var getBrowserRTC = require('get-browser-rtc'); +var inherits = require('inherits'); +var randombytes = require('randombytes'); +var stream = require('readable-stream'); - throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL); - }, +var MAX_BUFFERED_AMOUNT = 64 * 1024; - sign: function sign(message, privateKey, options) { - assert.isBuffer(message, messages.MSG32_TYPE_INVALID); - assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); +inherits(Peer, stream.Duplex); - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); +/** + * WebRTC peer connection. Same API as node core `net.Socket`, plus a few extra methods. + * Duplex stream. + * @param {Object} opts + */ +function Peer(opts) { + var self = this; + if (!(self instanceof Peer)) return new Peer(opts); - var data = null; - var noncefn = null; - if (options !== undefined) { - assert.isObject(options, messages.OPTIONS_TYPE_INVALID); + self._id = randombytes(4).toString('hex').slice(0, 7); + self._debug('new peer %o', opts); - if (options.data !== undefined) { - assert.isBuffer(options.data, messages.OPTIONS_DATA_TYPE_INVALID); - assert.isBufferLength(options.data, 32, messages.OPTIONS_DATA_LENGTH_INVALID); - data = options.data; - } + opts = Object.assign({ + allowHalfOpen: false + }, opts); - if (options.noncefn !== undefined) { - assert.isFunction(options.noncefn, messages.OPTIONS_NONCEFN_TYPE_INVALID); - noncefn = options.noncefn; - } - } + stream.Duplex.call(self, opts); - return secp256k1.sign(message, privateKey, noncefn, data); - }, + self.channelName = opts.initiator ? opts.channelName || randombytes(20).toString('hex') : null; - verify: function verify(message, signature, publicKey) { - assert.isBuffer(message, messages.MSG32_TYPE_INVALID); - assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); + // Needed by _transformConstraints, so set this early + self._isChromium = typeof window !== 'undefined' && !!window.webkitRTCPeerConnection; - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); + self.initiator = opts.initiator || false; + self.channelConfig = opts.channelConfig || Peer.channelConfig; + self.config = opts.config || Peer.config; + self.constraints = self._transformConstraints(opts.constraints || Peer.constraints); + self.offerConstraints = self._transformConstraints(opts.offerConstraints || {}); + self.answerConstraints = self._transformConstraints(opts.answerConstraints || {}); + self.sdpTransform = opts.sdpTransform || function (sdp) { + return sdp; + }; + self.streams = opts.streams || (opts.stream ? [opts.stream] : []); // support old "stream" option + self.trickle = opts.trickle !== undefined ? opts.trickle : true; - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + self.destroyed = false; + self.connected = false; - return secp256k1.verify(message, signature, publicKey); - }, + self.remoteAddress = undefined; + self.remoteFamily = undefined; + self.remotePort = undefined; + self.localAddress = undefined; + self.localPort = undefined; - recover: function recover(message, signature, recovery, compressed) { - assert.isBuffer(message, messages.MSG32_TYPE_INVALID); - assert.isBufferLength(message, 32, messages.MSG32_LENGTH_INVALID); + self._wrtc = opts.wrtc && _typeof(opts.wrtc) === 'object' ? opts.wrtc : getBrowserRTC(); - assert.isBuffer(signature, messages.ECDSA_SIGNATURE_TYPE_INVALID); - assert.isBufferLength(signature, 64, messages.ECDSA_SIGNATURE_LENGTH_INVALID); + if (!self._wrtc) { + if (typeof window === 'undefined') { + throw makeError('No WebRTC support: Specify `opts.wrtc` option in this environment', 'ERR_WEBRTC_SUPPORT'); + } else { + throw makeError('No WebRTC support: Not a supported browser', 'ERR_WEBRTC_SUPPORT'); + } + } - assert.isNumber(recovery, messages.RECOVERY_ID_TYPE_INVALID); - assert.isNumberInInterval(recovery, -1, 4, messages.RECOVERY_ID_VALUE_INVALID); + self._pcReady = false; + self._channelReady = false; + self._iceComplete = false; // ice candidate trickle done (got null candidate) + self._channel = null; + self._pendingCandidates = []; - compressed = initCompressedValue(compressed, true); + self._isNegotiating = false; // is this peer waiting for negotiation to complete? + self._batchedNegotiation = false; // batch synchronous negotiations + self._queuedNegotiation = false; // is there a queued negotiation request? + self._sendersAwaitingStable = []; + self._senderMap = new WeakMap(); - return secp256k1.recover(message, signature, recovery, compressed); - }, + self._remoteTracks = []; + self._remoteStreams = []; - ecdh: function ecdh(publicKey, privateKey) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + self._chunk = null; + self._cb = null; + self._interval = null; - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + self._pc = new self._wrtc.RTCPeerConnection(self.config, self.constraints); - return secp256k1.ecdh(publicKey, privateKey); - }, + // We prefer feature detection whenever possible, but sometimes that's not + // possible for certain implementations. + self._isReactNativeWebrtc = typeof self._pc._peerConnectionId === 'number'; - ecdhUnsafe: function ecdhUnsafe(publicKey, privateKey, compressed) { - assert.isBuffer(publicKey, messages.EC_PUBLIC_KEY_TYPE_INVALID); - assert.isBufferLength2(publicKey, 33, 65, messages.EC_PUBLIC_KEY_LENGTH_INVALID); + self._pc.oniceconnectionstatechange = function () { + self._onIceStateChange(); + }; + self._pc.onicegatheringstatechange = function () { + self._onIceStateChange(); + }; + self._pc.onsignalingstatechange = function () { + self._onSignalingStateChange(); + }; + self._pc.onicecandidate = function (event) { + self._onIceCandidate(event); + }; - assert.isBuffer(privateKey, messages.EC_PRIVATE_KEY_TYPE_INVALID); - assert.isBufferLength(privateKey, 32, messages.EC_PRIVATE_KEY_LENGTH_INVALID); + // Other spec events, unused by this implementation: + // - onconnectionstatechange + // - onicecandidateerror + // - onfingerprintfailure + // - onnegotiationneeded - compressed = initCompressedValue(compressed, true); + if (self.initiator) { + self._setupData({ + channel: self._pc.createDataChannel(self.channelName, self.channelConfig) + }); + } else { + self._pc.ondatachannel = function (event) { + self._setupData(event); + }; + } - return secp256k1.ecdhUnsafe(publicKey, privateKey, compressed); + if ('addTrack' in self._pc) { + if (self.streams) { + self.streams.forEach(function (stream) { + self.addStream(stream); + }); } - }; -}; + self._pc.ontrack = function (event) { + self._onTrack(event); + }; + } -},{"./assert":733,"./der":734,"./messages.json":737}],737:[function(require,module,exports){ -module.exports={ - "COMPRESSED_TYPE_INVALID": "compressed should be a boolean", - "EC_PRIVATE_KEY_TYPE_INVALID": "private key should be a Buffer", - "EC_PRIVATE_KEY_LENGTH_INVALID": "private key length is invalid", - "EC_PRIVATE_KEY_RANGE_INVALID": "private key range is invalid", - "EC_PRIVATE_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting private key is invalid", - "EC_PRIVATE_KEY_TWEAK_MUL_FAIL": "tweak out of range", - "EC_PRIVATE_KEY_EXPORT_DER_FAIL": "couldn't export to DER format", - "EC_PRIVATE_KEY_IMPORT_DER_FAIL": "couldn't import from DER format", - "EC_PUBLIC_KEYS_TYPE_INVALID": "public keys should be an Array", - "EC_PUBLIC_KEYS_LENGTH_INVALID": "public keys Array should have at least 1 element", - "EC_PUBLIC_KEY_TYPE_INVALID": "public key should be a Buffer", - "EC_PUBLIC_KEY_LENGTH_INVALID": "public key length is invalid", - "EC_PUBLIC_KEY_PARSE_FAIL": "the public key could not be parsed or is invalid", - "EC_PUBLIC_KEY_CREATE_FAIL": "private was invalid, try again", - "EC_PUBLIC_KEY_TWEAK_ADD_FAIL": "tweak out of range or resulting public key is invalid", - "EC_PUBLIC_KEY_TWEAK_MUL_FAIL": "tweak out of range", - "EC_PUBLIC_KEY_COMBINE_FAIL": "the sum of the public keys is not valid", - "ECDH_FAIL": "scalar was invalid (zero or overflow)", - "ECDSA_SIGNATURE_TYPE_INVALID": "signature should be a Buffer", - "ECDSA_SIGNATURE_LENGTH_INVALID": "signature length is invalid", - "ECDSA_SIGNATURE_PARSE_FAIL": "couldn't parse signature", - "ECDSA_SIGNATURE_PARSE_DER_FAIL": "couldn't parse DER signature", - "ECDSA_SIGNATURE_SERIALIZE_DER_FAIL": "couldn't serialize signature to DER format", - "ECDSA_SIGN_FAIL": "nonce generation function failed or private key is invalid", - "ECDSA_RECOVER_FAIL": "couldn't recover public key from signature", - "MSG32_TYPE_INVALID": "message should be a Buffer", - "MSG32_LENGTH_INVALID": "message length is invalid", - "OPTIONS_TYPE_INVALID": "options should be an Object", - "OPTIONS_DATA_TYPE_INVALID": "options.data should be a Buffer", - "OPTIONS_DATA_LENGTH_INVALID": "options.data length is invalid", - "OPTIONS_NONCEFN_TYPE_INVALID": "options.noncefn should be a Function", - "RECOVERY_ID_TYPE_INVALID": "recovery should be a Number", - "RECOVERY_ID_VALUE_INVALID": "recovery should have value between -1 and 4", - "TWEAK_TYPE_INVALID": "tweak should be a Buffer", - "TWEAK_LENGTH_INVALID": "tweak length is invalid" + if (self.initiator) { + self._needsNegotiation(); + } + + self._onFinishBound = function () { + self._onFinish(); + }; + self.once('finish', self._onFinishBound); } -},{}],738:[function(require,module,exports){ -'use strict'; +Peer.WEBRTC_SUPPORT = !!getBrowserRTC(); -var Buffer = require('safe-buffer').Buffer; +/** + * Expose config, constraints, and data channel config for overriding all Peer + * instances. Otherwise, just set opts.config, opts.constraints, or opts.channelConfig + * when constructing a Peer. + */ +Peer.config = { + iceServers: [{ + urls: 'stun:stun.l.google.com:19302' + }, { + urls: 'stun:global.stun.twilio.com:3478?transport=udp' + }] +}; +Peer.constraints = {}; +Peer.channelConfig = {}; -// prototype class for hash functions -function Hash(blockSize, finalSize) { - this._block = Buffer.alloc(blockSize); - this._finalSize = finalSize; - this._blockSize = blockSize; - this._len = 0; -} +Object.defineProperty(Peer.prototype, 'bufferSize', { + get: function get() { + var self = this; + return self._channel && self._channel.bufferedAmount || 0; + } +}); -Hash.prototype.update = function (data, enc) { +Peer.prototype.address = function () { + var self = this; + return { port: self.localPort, family: 'IPv4', address: self.localAddress }; +}; + +Peer.prototype.signal = function (data) { + var self = this; + if (self.destroyed) throw makeError('cannot signal after peer is destroyed', 'ERR_SIGNALING'); if (typeof data === 'string') { - enc = enc || 'utf8'; - data = Buffer.from(data, enc); + try { + data = JSON.parse(data); + } catch (err) { + data = {}; + } } + self._debug('signal()'); - var block = this._block; - var blockSize = this._blockSize; - var length = data.length; - var accum = this._len; - - for (var offset = 0; offset < length;) { - var assigned = accum % blockSize; - var remainder = Math.min(length - offset, blockSize - assigned); + if (data.renegotiate) { + self._debug('got request to renegotiate'); + self._needsNegotiation(); + } + if (data.candidate) { + if (self._pc.remoteDescription && self._pc.remoteDescription.type) self._addIceCandidate(data.candidate);else self._pendingCandidates.push(data.candidate); + } + if (data.sdp) { + self._pc.setRemoteDescription(new self._wrtc.RTCSessionDescription(data), function () { + if (self.destroyed) return; - for (var i = 0; i < remainder; i++) { - block[assigned + i] = data[offset + i]; - } + self._pendingCandidates.forEach(function (candidate) { + self._addIceCandidate(candidate); + }); + self._pendingCandidates = []; - accum += remainder; - offset += remainder; + if (self._pc.remoteDescription.type === 'offer') self._createAnswer(); + }, function (err) { + self.destroy(makeError(err, 'ERR_SET_REMOTE_DESCRIPTION')); + }); + } + if (!data.sdp && !data.candidate && !data.renegotiate) { + self.destroy(makeError('signal() called with invalid signal data', 'ERR_SIGNALING')); + } +}; - if (accum % blockSize === 0) { - this._update(block); - } +Peer.prototype._addIceCandidate = function (candidate) { + var self = this; + try { + self._pc.addIceCandidate(new self._wrtc.RTCIceCandidate(candidate), noop, function (err) { + self.destroy(makeError(err, 'ERR_ADD_ICE_CANDIDATE')); + }); + } catch (err) { + self.destroy(makeError('error adding candidate: ' + err.message, 'ERR_ADD_ICE_CANDIDATE')); } +}; - this._len += length; - return this; +/** + * Send text/binary data to the remote peer. + * @param {ArrayBufferView|ArrayBuffer|Buffer|string|Blob} chunk + */ +Peer.prototype.send = function (chunk) { + var self = this; + self._channel.send(chunk); }; -Hash.prototype.digest = function (enc) { - var rem = this._len % this._blockSize; +/** + * Add a MediaStream to the connection. + * @param {MediaStream} stream + */ +Peer.prototype.addStream = function (stream) { + var self = this; - this._block[rem] = 0x80; + self._debug('addStream()'); - // zero (rem + 1) trailing bits, where (rem + 1) is the smallest - // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize - this._block.fill(0, rem + 1); + stream.getTracks().forEach(function (track) { + self.addTrack(track, stream); + }); +}; - if (rem >= this._finalSize) { - this._update(this._block); - this._block.fill(0); - } +/** + * Add a MediaStreamTrack to the connection. + * @param {MediaStreamTrack} track + * @param {MediaStream} stream + */ +Peer.prototype.addTrack = function (track, stream) { + var self = this; - var bits = this._len * 8; + self._debug('addTrack()'); - // uint32 - if (bits <= 0xffffffff) { - this._block.writeUInt32BE(bits, this._blockSize - 4); + var sender = self._pc.addTrack(track, stream); + var submap = self._senderMap.get(track) || new WeakMap(); // nested WeakMaps map [track, stream] to sender + submap.set(stream, sender); + self._senderMap.set(track, submap); + self._needsNegotiation(); +}; - // uint64 - } else { - var lowBits = (bits & 0xffffffff) >>> 0; - var highBits = (bits - lowBits) / 0x100000000; +/** + * Remove a MediaStreamTrack from the connection. + * @param {MediaStreamTrack} track + * @param {MediaStream} stream + */ +Peer.prototype.removeTrack = function (track, stream) { + var self = this; - this._block.writeUInt32BE(highBits, this._blockSize - 8); - this._block.writeUInt32BE(lowBits, this._blockSize - 4); + self._debug('removeSender()'); + + var submap = self._senderMap.get(track); + var sender = submap ? submap.get(stream) : null; + if (!sender) { + self.destroy(new Error('Cannot remove track that was never added.')); + } + try { + self._pc.removeTrack(sender); + } catch (err) { + if (err.name === 'NS_ERROR_UNEXPECTED') { + self._sendersAwaitingStable.push(sender); // HACK: Firefox must wait until (signalingState === stable) https://bugzilla.mozilla.org/show_bug.cgi?id=1133874 + } else { + self.destroy(err); + } } +}; - this._update(this._block); - var hash = this._hash(); +/** + * Remove a MediaStream from the connection. + * @param {MediaStream} stream + */ +Peer.prototype.removeStream = function (stream) { + var self = this; - return enc ? hash.toString(enc) : hash; -}; + self._debug('removeSenders()'); -Hash.prototype._update = function () { - throw new Error('_update must be implemented by subclass'); + stream.getTracks().forEach(function (track) { + self.removeTrack(track, stream); + }); }; -module.exports = Hash; - -},{"safe-buffer":729}],739:[function(require,module,exports){ -'use strict'; +Peer.prototype._needsNegotiation = function () { + var self = this; -var _exports = module.exports = function SHA(algorithm) { - algorithm = algorithm.toLowerCase(); + self._debug('_needsNegotiation'); + if (self._batchedNegotiation) return; // batch synchronous renegotiations + self._batchedNegotiation = true; + setTimeout(function () { + self._batchedNegotiation = false; + self._debug('starting batched negotiation'); + self.negotiate(); + }, 0); +}; - var Algorithm = _exports[algorithm]; - if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)'); +Peer.prototype.negotiate = function () { + var self = this; - return new Algorithm(); + if (self.initiator) { + if (self._isNegotiating) { + self._queuedNegotiation = true; + self._debug('already negotiating, queueing'); + } else { + self._debug('start negotiation'); + self._createOffer(); + } + } else { + self._debug('requesting negotiation from initiator'); + self.emit('signal', { // request initiator to renegotiate + renegotiate: true + }); + } + self._isNegotiating = true; }; -_exports.sha = require('./sha'); -_exports.sha1 = require('./sha1'); -_exports.sha224 = require('./sha224'); -_exports.sha256 = require('./sha256'); -_exports.sha384 = require('./sha384'); -_exports.sha512 = require('./sha512'); +// TODO: Delete this method once readable-stream is updated to contain a default +// implementation of destroy() that automatically calls _destroy() +// See: https://github.com/nodejs/readable-stream/issues/283 +Peer.prototype.destroy = function (err) { + var self = this; + self._destroy(err, function () {}); +}; -},{"./sha":740,"./sha1":741,"./sha224":742,"./sha256":743,"./sha384":744,"./sha512":745}],740:[function(require,module,exports){ -'use strict'; +Peer.prototype._destroy = function (err, cb) { + var self = this; + if (self.destroyed) return; -/* - * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined - * in FIPS PUB 180-1 - * This source code is derived from sha1.js of the same repository. - * The difference between SHA-0 and SHA-1 is just a bitwise rotate left - * operation was added. - */ + self._debug('destroy (error: %s)', err && (err.message || err)); -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + self.readable = self.writable = false; -var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; + if (!self._readableState.ended) self.push(null); + if (!self._writableState.finished) self.end(); -var W = new Array(80); + self.destroyed = true; + self.connected = false; + self._pcReady = false; + self._channelReady = false; + self._remoteTracks = null; + self._remoteStreams = null; + self._senderMap = null; -function Sha() { - this.init(); - this._w = W; + clearInterval(self._interval); + self._interval = null; + self._chunk = null; + self._cb = null; - Hash.call(this, 64, 56); -} + if (self._onFinishBound) self.removeListener('finish', self._onFinishBound); + self._onFinishBound = null; -inherits(Sha, Hash); + if (self._channel) { + try { + self._channel.close(); + } catch (err) {} -Sha.prototype.init = function () { - this._a = 0x67452301; - this._b = 0xefcdab89; - this._c = 0x98badcfe; - this._d = 0x10325476; - this._e = 0xc3d2e1f0; + self._channel.onmessage = null; + self._channel.onopen = null; + self._channel.onclose = null; + self._channel.onerror = null; + } + if (self._pc) { + try { + self._pc.close(); + } catch (err) {} - return this; + self._pc.oniceconnectionstatechange = null; + self._pc.onicegatheringstatechange = null; + self._pc.onsignalingstatechange = null; + self._pc.onicecandidate = null; + if ('addTrack' in self._pc) { + self._pc.ontrack = null; + } + self._pc.ondatachannel = null; + } + self._pc = null; + self._channel = null; + + if (err) self.emit('error', err); + self.emit('close'); + cb(); }; -function rotl5(num) { - return num << 5 | num >>> 27; -} +Peer.prototype._setupData = function (event) { + var self = this; + if (!event.channel) { + // In some situations `pc.createDataChannel()` returns `undefined` (in wrtc), + // which is invalid behavior. Handle it gracefully. + // See: https://github.com/feross/simple-peer/issues/163 + return self.destroy(makeError('Data channel event is missing `channel` property', 'ERR_DATA_CHANNEL')); + } -function rotl30(num) { - return num << 30 | num >>> 2; -} + self._channel = event.channel; + self._channel.binaryType = 'arraybuffer'; -function ft(s, b, c, d) { - if (s === 0) return b & c | ~b & d; - if (s === 2) return b & c | b & d | c & d; - return b ^ c ^ d; -} + if (typeof self._channel.bufferedAmountLowThreshold === 'number') { + self._channel.bufferedAmountLowThreshold = MAX_BUFFERED_AMOUNT; + } -Sha.prototype._update = function (M) { - var W = this._w; + self.channelName = self._channel.label; - var a = this._a | 0; - var b = this._b | 0; - var c = this._c | 0; - var d = this._d | 0; - var e = this._e | 0; + self._channel.onmessage = function (event) { + self._onChannelMessage(event); + }; + self._channel.onbufferedamountlow = function () { + self._onChannelBufferedAmountLow(); + }; + self._channel.onopen = function () { + self._onChannelOpen(); + }; + self._channel.onclose = function () { + self._onChannelClose(); + }; + self._channel.onerror = function (err) { + self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); + }; +}; - for (var i = 0; i < 16; ++i) { - W[i] = M.readInt32BE(i * 4); - }for (; i < 80; ++i) { - W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; - }for (var j = 0; j < 80; ++j) { - var s = ~~(j / 20); - var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; +Peer.prototype._read = function () {}; - e = d; - d = c; - c = rotl30(b); - b = a; - a = t; - } +Peer.prototype._write = function (chunk, encoding, cb) { + var self = this; + if (self.destroyed) return cb(makeError('cannot write after peer is destroyed', 'ERR_DATA_CHANNEL')); - this._a = a + this._a | 0; - this._b = b + this._b | 0; - this._c = c + this._c | 0; - this._d = d + this._d | 0; - this._e = e + this._e | 0; + if (self.connected) { + try { + self.send(chunk); + } catch (err) { + return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); + } + if (self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { + self._debug('start backpressure: bufferedAmount %d', self._channel.bufferedAmount); + self._cb = cb; + } else { + cb(null); + } + } else { + self._debug('write before connect'); + self._chunk = chunk; + self._cb = cb; + } }; -Sha.prototype._hash = function () { - var H = Buffer.allocUnsafe(20); +// When stream finishes writing, close socket. Half open connections are not +// supported. +Peer.prototype._onFinish = function () { + var self = this; + if (self.destroyed) return; - H.writeInt32BE(this._a | 0, 0); - H.writeInt32BE(this._b | 0, 4); - H.writeInt32BE(this._c | 0, 8); - H.writeInt32BE(this._d | 0, 12); - H.writeInt32BE(this._e | 0, 16); + if (self.connected) { + destroySoon(); + } else { + self.once('connect', destroySoon); + } - return H; + // Wait a bit before destroying so the socket flushes. + // TODO: is there a more reliable way to accomplish this? + function destroySoon() { + setTimeout(function () { + self.destroy(); + }, 1000); + } }; -module.exports = Sha; - -},{"./hash":738,"inherits":671,"safe-buffer":729}],741:[function(require,module,exports){ -'use strict'; +Peer.prototype._createOffer = function () { + var self = this; + if (self.destroyed) return; -/* - * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined - * in FIPS PUB 180-1 - * Version 2.1a Copyright Paul Johnston 2000 - 2002. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for details. - */ + self._pc.createOffer(function (offer) { + if (self.destroyed) return; + offer.sdp = self.sdpTransform(offer.sdp); + self._pc.setLocalDescription(offer, onSuccess, onError); -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + function onSuccess() { + self._debug('createOffer success'); + if (self.destroyed) return; + if (self.trickle || self._iceComplete) sendOffer();else self.once('_iceComplete', sendOffer); // wait for candidates + } -var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0]; + function onError(err) { + self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); + } -var W = new Array(80); + function sendOffer() { + var signal = self._pc.localDescription || offer; + self._debug('signal'); + self.emit('signal', { + type: signal.type, + sdp: signal.sdp + }); + } + }, function (err) { + self.destroy(makeError(err, 'ERR_CREATE_OFFER')); + }, self.offerConstraints); +}; -function Sha1() { - this.init(); - this._w = W; +Peer.prototype._createAnswer = function () { + var self = this; + if (self.destroyed) return; - Hash.call(this, 64, 56); -} + self._pc.createAnswer(function (answer) { + if (self.destroyed) return; + answer.sdp = self.sdpTransform(answer.sdp); + self._pc.setLocalDescription(answer, onSuccess, onError); -inherits(Sha1, Hash); + function onSuccess() { + if (self.destroyed) return; + if (self.trickle || self._iceComplete) sendAnswer();else self.once('_iceComplete', sendAnswer); + } -Sha1.prototype.init = function () { - this._a = 0x67452301; - this._b = 0xefcdab89; - this._c = 0x98badcfe; - this._d = 0x10325476; - this._e = 0xc3d2e1f0; + function onError(err) { + self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); + } - return this; + function sendAnswer() { + var signal = self._pc.localDescription || answer; + self._debug('signal'); + self.emit('signal', { + type: signal.type, + sdp: signal.sdp + }); + } + }, function (err) { + self.destroy(makeError(err, 'ERR_CREATE_ANSWER')); + }, self.answerConstraints); }; -function rotl1(num) { - return num << 1 | num >>> 31; -} +Peer.prototype._onIceStateChange = function () { + var self = this; + if (self.destroyed) return; + var iceConnectionState = self._pc.iceConnectionState; + var iceGatheringState = self._pc.iceGatheringState; -function rotl5(num) { - return num << 5 | num >>> 27; -} + self._debug('iceStateChange (connection: %s) (gathering: %s)', iceConnectionState, iceGatheringState); + self.emit('iceStateChange', iceConnectionState, iceGatheringState); -function rotl30(num) { - return num << 30 | num >>> 2; -} + if (iceConnectionState === 'connected' || iceConnectionState === 'completed') { + self._pcReady = true; + self._maybeReady(); + } + if (iceConnectionState === 'failed') { + self.destroy(makeError('Ice connection failed.', 'ERR_ICE_CONNECTION_FAILURE')); + } + if (iceConnectionState === 'closed') { + self.destroy(new Error('Ice connection closed.')); + } +}; -function ft(s, b, c, d) { - if (s === 0) return b & c | ~b & d; - if (s === 2) return b & c | b & d | c & d; - return b ^ c ^ d; -} +Peer.prototype.getStats = function (cb) { + var self = this; -Sha1.prototype._update = function (M) { - var W = this._w; + // Promise-based getStats() (standard) + if (self._pc.getStats.length === 0) { + self._pc.getStats().then(function (res) { + var reports = []; + res.forEach(function (report) { + reports.push(report); + }); + cb(null, reports); + }, function (err) { + cb(err); + }); - var a = this._a | 0; - var b = this._b | 0; - var c = this._c | 0; - var d = this._d | 0; - var e = this._e | 0; + // Two-parameter callback-based getStats() (deprecated, former standard) + } else if (self._isReactNativeWebrtc) { + self._pc.getStats(null, function (res) { + var reports = []; + res.forEach(function (report) { + reports.push(report); + }); + cb(null, reports); + }, function (err) { + cb(err); + }); - for (var i = 0; i < 16; ++i) { - W[i] = M.readInt32BE(i * 4); - }for (; i < 80; ++i) { - W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]); - }for (var j = 0; j < 80; ++j) { - var s = ~~(j / 20); - var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0; + // Single-parameter callback-based getStats() (non-standard) + } else if (self._pc.getStats.length > 0) { + self._pc.getStats(function (res) { + // If we destroy connection in `connect` callback this code might happen to run when actual connection is already closed + if (self.destroyed) return; - e = d; - d = c; - c = rotl30(b); - b = a; - a = t; - } + var reports = []; + res.result().forEach(function (result) { + var report = {}; + result.names().forEach(function (name) { + report[name] = result.stat(name); + }); + report.id = result.id; + report.type = result.type; + report.timestamp = result.timestamp; + reports.push(report); + }); + cb(null, reports); + }, function (err) { + cb(err); + }); - this._a = a + this._a | 0; - this._b = b + this._b | 0; - this._c = c + this._c | 0; - this._d = d + this._d | 0; - this._e = e + this._e | 0; + // Unknown browser, skip getStats() since it's anyone's guess which style of + // getStats() they implement. + } else { + cb(null, []); + } }; -Sha1.prototype._hash = function () { - var H = Buffer.allocUnsafe(20); +Peer.prototype._maybeReady = function () { + var self = this; + self._debug('maybeReady pc %s channel %s', self._pcReady, self._channelReady); + if (self.connected || self._connecting || !self._pcReady || !self._channelReady) return; - H.writeInt32BE(this._a | 0, 0); - H.writeInt32BE(this._b | 0, 4); - H.writeInt32BE(this._c | 0, 8); - H.writeInt32BE(this._d | 0, 12); - H.writeInt32BE(this._e | 0, 16); + self._connecting = true; - return H; -}; + // HACK: We can't rely on order here, for details see https://github.com/js-platform/node-webrtc/issues/339 + function findCandidatePair() { + if (self.destroyed) return; -module.exports = Sha1; + self.getStats(function (err, items) { + if (self.destroyed) return; -},{"./hash":738,"inherits":671,"safe-buffer":729}],742:[function(require,module,exports){ -'use strict'; + // Treat getStats error as non-fatal. It's not essential. + if (err) items = []; -/** - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined - * in FIPS 180-2 - * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * - */ + var remoteCandidates = {}; + var localCandidates = {}; + var candidatePairs = {}; + var foundSelectedCandidatePair = false; -var inherits = require('inherits'); -var Sha256 = require('./sha256'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + items.forEach(function (item) { + // TODO: Once all browsers support the hyphenated stats report types, remove + // the non-hypenated ones + if (item.type === 'remotecandidate' || item.type === 'remote-candidate') { + remoteCandidates[item.id] = item; + } + if (item.type === 'localcandidate' || item.type === 'local-candidate') { + localCandidates[item.id] = item; + } + if (item.type === 'candidatepair' || item.type === 'candidate-pair') { + candidatePairs[item.id] = item; + } + }); -var W = new Array(64); + items.forEach(function (item) { + // Spec-compliant + if (item.type === 'transport' && item.selectedCandidatePairId) { + setSelectedCandidatePair(candidatePairs[item.selectedCandidatePairId]); + } -function Sha224() { - this.init(); + // Old implementations + if (item.type === 'googCandidatePair' && item.googActiveConnection === 'true' || (item.type === 'candidatepair' || item.type === 'candidate-pair') && item.selected) { + setSelectedCandidatePair(item); + } + }); - this._w = W; // new Array(64) + function setSelectedCandidatePair(selectedCandidatePair) { + foundSelectedCandidatePair = true; - Hash.call(this, 64, 56); -} + var local = localCandidates[selectedCandidatePair.localCandidateId]; -inherits(Sha224, Sha256); + if (local && local.ip) { + // Spec + self.localAddress = local.ip; + self.localPort = Number(local.port); + } else if (local && local.ipAddress) { + // Firefox + self.localAddress = local.ipAddress; + self.localPort = Number(local.portNumber); + } else if (typeof selectedCandidatePair.googLocalAddress === 'string') { + // TODO: remove this once Chrome 58 is released + local = selectedCandidatePair.googLocalAddress.split(':'); + self.localAddress = local[0]; + self.localPort = Number(local[1]); + } -Sha224.prototype.init = function () { - this._a = 0xc1059ed8; - this._b = 0x367cd507; - this._c = 0x3070dd17; - this._d = 0xf70e5939; - this._e = 0xffc00b31; - this._f = 0x68581511; - this._g = 0x64f98fa7; - this._h = 0xbefa4fa4; + var remote = remoteCandidates[selectedCandidatePair.remoteCandidateId]; - return this; -}; + if (remote && remote.ip) { + // Spec + self.remoteAddress = remote.ip; + self.remotePort = Number(remote.port); + } else if (remote && remote.ipAddress) { + // Firefox + self.remoteAddress = remote.ipAddress; + self.remotePort = Number(remote.portNumber); + } else if (typeof selectedCandidatePair.googRemoteAddress === 'string') { + // TODO: remove this once Chrome 58 is released + remote = selectedCandidatePair.googRemoteAddress.split(':'); + self.remoteAddress = remote[0]; + self.remotePort = Number(remote[1]); + } + self.remoteFamily = 'IPv4'; -Sha224.prototype._hash = function () { - var H = Buffer.allocUnsafe(28); + self._debug('connect local: %s:%s remote: %s:%s', self.localAddress, self.localPort, self.remoteAddress, self.remotePort); + } - H.writeInt32BE(this._a, 0); - H.writeInt32BE(this._b, 4); - H.writeInt32BE(this._c, 8); - H.writeInt32BE(this._d, 12); - H.writeInt32BE(this._e, 16); - H.writeInt32BE(this._f, 20); - H.writeInt32BE(this._g, 24); + // Ignore candidate pair selection in browsers like Safari 11 that do not have any local or remote candidates + // But wait until at least 1 candidate pair is available + if (!foundSelectedCandidatePair && (!Object.keys(candidatePairs).length || Object.keys(localCandidates).length)) { + setTimeout(findCandidatePair, 100); + return; + } else { + self._connecting = false; + self.connected = true; + } - return H; -}; + if (self._chunk) { + try { + self.send(self._chunk); + } catch (err) { + return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); + } + self._chunk = null; + self._debug('sent chunk from "write before connect"'); -module.exports = Sha224; + var cb = self._cb; + self._cb = null; + cb(null); + } -},{"./hash":738,"./sha256":743,"inherits":671,"safe-buffer":729}],743:[function(require,module,exports){ -'use strict'; + // If `bufferedAmountLowThreshold` and 'onbufferedamountlow' are unsupported, + // fallback to using setInterval to implement backpressure. + if (typeof self._channel.bufferedAmountLowThreshold !== 'number') { + self._interval = setInterval(function () { + self._onInterval(); + }, 150); + if (self._interval.unref) self._interval.unref(); + } -/** - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined - * in FIPS 180-2 - * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * - */ + self._debug('connect'); + self.emit('connect'); + }); + } + findCandidatePair(); +}; -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; +Peer.prototype._onInterval = function () { + var self = this; + if (!self._cb || !self._channel || self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { + return; + } + self._onChannelBufferedAmountLow(); +}; -var K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2]; +Peer.prototype._onSignalingStateChange = function () { + var self = this; + if (self.destroyed) return; -var W = new Array(64); - -function Sha256() { - this.init(); - - this._w = W; // new Array(64) + if (self._pc.signalingState === 'stable') { + self._isNegotiating = false; - Hash.call(this, 64, 56); -} + // HACK: Firefox doesn't yet support removing tracks when signalingState !== 'stable' + self._debug('flushing sender queue', self._sendersAwaitingStable); + self._sendersAwaitingStable.forEach(function (sender) { + self.removeTrack(sender); + self._queuedNegotiation = true; + }); + self._sendersAwaitingStable = []; -inherits(Sha256, Hash); + if (self._queuedNegotiation) { + self._debug('flushing negotiation queue'); + self._queuedNegotiation = false; + self._needsNegotiation(); // negotiate again + } -Sha256.prototype.init = function () { - this._a = 0x6a09e667; - this._b = 0xbb67ae85; - this._c = 0x3c6ef372; - this._d = 0xa54ff53a; - this._e = 0x510e527f; - this._f = 0x9b05688c; - this._g = 0x1f83d9ab; - this._h = 0x5be0cd19; + self._debug('negotiate'); + self.emit('negotiate'); + } - return this; + self._debug('signalingStateChange %s', self._pc.signalingState); + self.emit('signalingStateChange', self._pc.signalingState); }; -function ch(x, y, z) { - return z ^ x & (y ^ z); -} +Peer.prototype._onIceCandidate = function (event) { + var self = this; + if (self.destroyed) return; + if (event.candidate && self.trickle) { + self.emit('signal', { + candidate: { + candidate: event.candidate.candidate, + sdpMLineIndex: event.candidate.sdpMLineIndex, + sdpMid: event.candidate.sdpMid + } + }); + } else if (!event.candidate) { + self._iceComplete = true; + self.emit('_iceComplete'); + } +}; -function maj(x, y, z) { - return x & y | z & (x | y); -} +Peer.prototype._onChannelMessage = function (event) { + var self = this; + if (self.destroyed) return; + var data = event.data; + if (data instanceof ArrayBuffer) data = Buffer.from(data); + self.push(data); +}; -function sigma0(x) { - return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10); -} +Peer.prototype._onChannelBufferedAmountLow = function () { + var self = this; + if (self.destroyed || !self._cb) return; + self._debug('ending backpressure: bufferedAmount %d', self._channel.bufferedAmount); + var cb = self._cb; + self._cb = null; + cb(null); +}; -function sigma1(x) { - return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7); -} +Peer.prototype._onChannelOpen = function () { + var self = this; + if (self.connected || self.destroyed) return; + self._debug('on channel open'); + self._channelReady = true; + self._maybeReady(); +}; -function gamma0(x) { - return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3; -} +Peer.prototype._onChannelClose = function () { + var self = this; + if (self.destroyed) return; + self._debug('on channel close'); + self.destroy(); +}; -function gamma1(x) { - return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10; -} +Peer.prototype._onTrack = function (event) { + var self = this; + if (self.destroyed) return; -Sha256.prototype._update = function (M) { - var W = this._w; + event.streams.forEach(function (eventStream) { + self._debug('on track'); + self.emit('track', event.track, eventStream); - var a = this._a | 0; - var b = this._b | 0; - var c = this._c | 0; - var d = this._d | 0; - var e = this._e | 0; - var f = this._f | 0; - var g = this._g | 0; - var h = this._h | 0; + self._remoteTracks.push({ + track: event.track, + stream: eventStream + }); - for (var i = 0; i < 16; ++i) { - W[i] = M.readInt32BE(i * 4); - }for (; i < 64; ++i) { - W[i] = gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16] | 0; - }for (var j = 0; j < 64; ++j) { - var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W[j] | 0; - var T2 = sigma0(a) + maj(a, b, c) | 0; + if (self._remoteStreams.some(function (remoteStream) { + return remoteStream.id === eventStream.id; + })) return; // Only fire one 'stream' event, even though there may be multiple tracks per stream - h = g; - g = f; - f = e; - e = d + T1 | 0; - d = c; - c = b; - b = a; - a = T1 + T2 | 0; - } + self._remoteStreams.push(eventStream); + setTimeout(function () { + self.emit('stream', eventStream); // ensure all tracks have been added + }, 0); + }); +}; - this._a = a + this._a | 0; - this._b = b + this._b | 0; - this._c = c + this._c | 0; - this._d = d + this._d | 0; - this._e = e + this._e | 0; - this._f = f + this._f | 0; - this._g = g + this._g | 0; - this._h = h + this._h | 0; +Peer.prototype._debug = function () { + var self = this; + var args = [].slice.call(arguments); + args[0] = '[' + self._id + '] ' + args[0]; + debug.apply(null, args); }; -Sha256.prototype._hash = function () { - var H = Buffer.allocUnsafe(32); +// Transform constraints objects into the new format (unless Chromium) +// TODO: This can be removed when Chromium supports the new format +Peer.prototype._transformConstraints = function (constraints) { + var self = this; - H.writeInt32BE(this._a, 0); - H.writeInt32BE(this._b, 4); - H.writeInt32BE(this._c, 8); - H.writeInt32BE(this._d, 12); - H.writeInt32BE(this._e, 16); - H.writeInt32BE(this._f, 20); - H.writeInt32BE(this._g, 24); - H.writeInt32BE(this._h, 28); + if (Object.keys(constraints).length === 0) { + return constraints; + } - return H; -}; + if ((constraints.mandatory || constraints.optional) && !self._isChromium) { + // convert to new format -module.exports = Sha256; + // Merge mandatory and optional objects, prioritizing mandatory + var newConstraints = Object.assign({}, constraints.optional, constraints.mandatory); -},{"./hash":738,"inherits":671,"safe-buffer":729}],744:[function(require,module,exports){ -'use strict'; + // fix casing + if (newConstraints.OfferToReceiveVideo !== undefined) { + newConstraints.offerToReceiveVideo = newConstraints.OfferToReceiveVideo; + delete newConstraints['OfferToReceiveVideo']; + } -var inherits = require('inherits'); -var SHA512 = require('./sha512'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; + if (newConstraints.OfferToReceiveAudio !== undefined) { + newConstraints.offerToReceiveAudio = newConstraints.OfferToReceiveAudio; + delete newConstraints['OfferToReceiveAudio']; + } -var W = new Array(160); + return newConstraints; + } else if (!constraints.mandatory && !constraints.optional && self._isChromium) { + // convert to old format -function Sha384() { - this.init(); - this._w = W; + // fix casing + if (constraints.offerToReceiveVideo !== undefined) { + constraints.OfferToReceiveVideo = constraints.offerToReceiveVideo; + delete constraints['offerToReceiveVideo']; + } - Hash.call(this, 128, 112); -} + if (constraints.offerToReceiveAudio !== undefined) { + constraints.OfferToReceiveAudio = constraints.offerToReceiveAudio; + delete constraints['offerToReceiveAudio']; + } -inherits(Sha384, SHA512); + return { + mandatory: constraints // NOTE: All constraints are upgraded to mandatory + }; + } -Sha384.prototype.init = function () { - this._ah = 0xcbbb9d5d; - this._bh = 0x629a292a; - this._ch = 0x9159015a; - this._dh = 0x152fecd8; - this._eh = 0x67332667; - this._fh = 0x8eb44a87; - this._gh = 0xdb0c2e0d; - this._hh = 0x47b5481d; + return constraints; +}; - this._al = 0xc1059ed8; - this._bl = 0x367cd507; - this._cl = 0x3070dd17; - this._dl = 0xf70e5939; - this._el = 0xffc00b31; - this._fl = 0x68581511; - this._gl = 0x64f98fa7; - this._hl = 0xbefa4fa4; +function makeError(message, code) { + var err = new Error(message); + err.code = code; + return err; +} - return this; -}; +function noop() {} -Sha384.prototype._hash = function () { - var H = Buffer.allocUnsafe(48); +}).call(this,require("buffer").Buffer) +},{"buffer":256,"debug":746,"get-browser-rtc":648,"inherits":671,"randombytes":711,"readable-stream":723}],746:[function(require,module,exports){ +(function (process){ +"use strict"; - function writeInt64BE(h, l, offset) { - H.writeInt32BE(h, offset); - H.writeInt32BE(l, offset + 4); - } +var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - writeInt64BE(this._ah, this._al, 0); - writeInt64BE(this._bh, this._bl, 8); - writeInt64BE(this._ch, this._cl, 16); - writeInt64BE(this._dh, this._dl, 24); - writeInt64BE(this._eh, this._el, 32); - writeInt64BE(this._fh, this._fl, 40); +function _typeof(obj) { + if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { + _typeof = function _typeof(obj) { + return typeof obj === "undefined" ? "undefined" : _typeof2(obj); + }; + } else { + _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); + }; + }return _typeof(obj); +} - return H; -}; +/* eslint-env browser */ -module.exports = Sha384; +/** + * This is the web browser implementation of `debug()`. + */ +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +/** + * Colors. + */ -},{"./hash":738,"./sha512":745,"inherits":671,"safe-buffer":729}],745:[function(require,module,exports){ -'use strict'; +exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ +// eslint-disable-next-line complexity -var inherits = require('inherits'); -var Hash = require('./hash'); -var Buffer = require('safe-buffer').Buffer; +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } // Internet Explorer and Edge do not support colors. -var K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817]; -var W = new Array(160); + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 -function Sha512() { - this.init(); - this._w = W; - Hash.call(this, 128, 112); + return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); } +/** + * Colorize log arguments if enabled. + * + * @api public + */ -inherits(Sha512, Hash); +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); -Sha512.prototype.init = function () { - this._ah = 0x6a09e667; - this._bh = 0xbb67ae85; - this._ch = 0x3c6ef372; - this._dh = 0xa54ff53a; - this._eh = 0x510e527f; - this._fh = 0x9b05688c; - this._gh = 0x1f83d9ab; - this._hh = 0x5be0cd19; + if (!this.useColors) { + return; + } - this._al = 0xf3bcc908; - this._bl = 0x84caa73b; - this._cl = 0xfe94f82b; - this._dl = 0x5f1d36f1; - this._el = 0xade682d1; - this._fl = 0x2b3e6c1f; - this._gl = 0xfb41bd6b; - this._hl = 0x137e2179; + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into - return this; -}; + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function (match) { + if (match === '%%') { + return; + } -function Ch(x, y, z) { - return z ^ x & (y ^ z); -} + index++; -function maj(x, y, z) { - return x & y | z & (x | y); + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + args.splice(lastC, 0, c); } +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ -function sigma0(x, xl) { - return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25); -} +function log() { + var _console; -function sigma1(x, xl) { - return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23); + // This hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); } +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ -function Gamma0(x, xl) { - return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7; +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } } +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ -function Gamma0l(x, xl) { - return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25); -} +function load() { + var r; -function Gamma1(x, xl) { - return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6; -} + try { + r = exports.storage.getItem('debug'); + } catch (error) {} // Swallow + // XXX (@Qix-) should we be logging these? + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG -function Gamma1l(x, xl) { - return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26); -} -function getCarry(a, b) { - return a >>> 0 < b >>> 0 ? 1 : 0; -} + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } -Sha512.prototype._update = function (M) { - var W = this._w; + return r; +} +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ - var ah = this._ah | 0; - var bh = this._bh | 0; - var ch = this._ch | 0; - var dh = this._dh | 0; - var eh = this._eh | 0; - var fh = this._fh | 0; - var gh = this._gh | 0; - var hh = this._hh | 0; +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } +} - var al = this._al | 0; - var bl = this._bl | 0; - var cl = this._cl | 0; - var dl = this._dl | 0; - var el = this._el | 0; - var fl = this._fl | 0; - var gl = this._gl | 0; - var hl = this._hl | 0; +module.exports = require('./common')(exports); +var formatters = module.exports.formatters; +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ - for (var i = 0; i < 32; i += 2) { - W[i] = M.readInt32BE(i * 4); - W[i + 1] = M.readInt32BE(i * 4 + 4); +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; } - for (; i < 160; i += 2) { - var xh = W[i - 15 * 2]; - var xl = W[i - 15 * 2 + 1]; - var gamma0 = Gamma0(xh, xl); - var gamma0l = Gamma0l(xl, xh); +}; - xh = W[i - 2 * 2]; - xl = W[i - 2 * 2 + 1]; - var gamma1 = Gamma1(xh, xl); - var gamma1l = Gamma1l(xl, xh); +}).call(this,require('_process')) +},{"./common":747,"_process":704}],747:[function(require,module,exports){ +"use strict"; - // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] - var Wi7h = W[i - 7 * 2]; - var Wi7l = W[i - 7 * 2 + 1]; +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ - var Wi16h = W[i - 16 * 2]; - var Wi16l = W[i - 16 * 2 + 1]; - - var Wil = gamma0l + Wi7l | 0; - var Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0; - Wil = Wil + gamma1l | 0; - Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0; - Wil = Wil + Wi16l | 0; - Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0; - - W[i] = Wih; - W[i + 1] = Wil; - } - - for (var j = 0; j < 160; j += 2) { - Wih = W[j]; - Wil = W[j + 1]; - - var majh = maj(ah, bh, ch); - var majl = maj(al, bl, cl); +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + Object.keys(env).forEach(function (key) { + createDebug[key] = env[key]; + }); + /** + * Active `debug` instances. + */ - var sigma0h = sigma0(ah, al); - var sigma0l = sigma0(al, ah); - var sigma1h = sigma1(eh, el); - var sigma1l = sigma1(el, eh); + createDebug.instances = []; + /** + * The currently active debug mode names, and names to skip. + */ - // t1 = h + sigma1 + ch + K[j] + W[j] - var Kih = K[j]; - var Kil = K[j + 1]; + createDebug.names = []; + createDebug.skips = []; + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ - var chh = Ch(eh, fh, gh); - var chl = Ch(el, fl, gl); + createDebug.formatters = {}; + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ - var t1l = hl + sigma1l | 0; - var t1h = hh + sigma1h + getCarry(t1l, hl) | 0; - t1l = t1l + chl | 0; - t1h = t1h + chh + getCarry(t1l, chl) | 0; - t1l = t1l + Kil | 0; - t1h = t1h + Kih + getCarry(t1l, Kil) | 0; - t1l = t1l + Wil | 0; - t1h = t1h + Wih + getCarry(t1l, Wil) | 0; + function selectColor(namespace) { + var hash = 0; - // t2 = sigma0 + maj - var t2l = sigma0l + majl | 0; - var t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0; + for (var i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } - hh = gh; - hl = gl; - gh = fh; - gl = fl; - fh = eh; - fl = el; - el = dl + t1l | 0; - eh = dh + t1h + getCarry(el, dl) | 0; - dh = ch; - dl = cl; - ch = bh; - cl = bl; - bh = ah; - bl = al; - al = t1l + t2l | 0; - ah = t1h + t2h + getCarry(al, t1l) | 0; + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; } - this._al = this._al + al | 0; - this._bl = this._bl + bl | 0; - this._cl = this._cl + cl | 0; - this._dl = this._dl + dl | 0; - this._el = this._el + el | 0; - this._fl = this._fl + fl | 0; - this._gl = this._gl + gl | 0; - this._hl = this._hl + hl | 0; - - this._ah = this._ah + ah + getCarry(this._al, al) | 0; - this._bh = this._bh + bh + getCarry(this._bl, bl) | 0; - this._ch = this._ch + ch + getCarry(this._cl, cl) | 0; - this._dh = this._dh + dh + getCarry(this._dl, dl) | 0; - this._eh = this._eh + eh + getCarry(this._el, el) | 0; - this._fh = this._fh + fh + getCarry(this._fl, fl) | 0; - this._gh = this._gh + gh + getCarry(this._gl, gl) | 0; - this._hh = this._hh + hh + getCarry(this._hl, hl) | 0; -}; + createDebug.selectColor = selectColor; + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ -Sha512.prototype._hash = function () { - var H = Buffer.allocUnsafe(64); + function createDebug(namespace) { + var prevTime; - function writeInt64BE(h, l, offset) { - H.writeInt32BE(h, offset); - H.writeInt32BE(l, offset + 4); - } + function debug() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } - writeInt64BE(this._ah, this._al, 0); - writeInt64BE(this._bh, this._bl, 8); - writeInt64BE(this._ch, this._cl, 16); - writeInt64BE(this._dh, this._dl, 24); - writeInt64BE(this._eh, this._el, 32); - writeInt64BE(this._fh, this._fl, 40); - writeInt64BE(this._gh, this._gl, 48); - writeInt64BE(this._hh, this._hl, 56); + // Disabled? + if (!debug.enabled) { + return; + } - return H; -}; + var self = debug; // Set `diff` timestamp -module.exports = Sha512; + var curr = Number(new Date()); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); -},{"./hash":738,"inherits":671,"safe-buffer":729}],746:[function(require,module,exports){ -"use strict"; + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } // Apply any `formatters` transformations -var distance = require("leven"); -module.exports = function (a, b) { - if (!a || !b || !a.length || !b.length) return 0; - if (a === b) return 1; - var d = distance(a.toLowerCase(), b.toLowerCase()); - var longest = Math.max(a.length, b.length); - return (longest - d) / longest; -}; + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return match; + } -},{"leven":682}],747:[function(require,module,exports){ -(function (Buffer){ -'use strict'; + index++; + var formatter = createDebug.formatters[format]; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + if (typeof formatter === 'function') { + var val = args[index]; + match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` -module.exports = Peer; + args.splice(index, 1); + index--; + } -var debug = require('debug')('simple-peer'); -var getBrowserRTC = require('get-browser-rtc'); -var inherits = require('inherits'); -var randombytes = require('randombytes'); -var stream = require('readable-stream'); + return match; + }); // Apply env-specific formatting (colors, etc.) -var MAX_BUFFERED_AMOUNT = 64 * 1024; + createDebug.formatArgs.call(self, args); + var logFn = self.log || createDebug.log; + logFn.apply(self, args); + } -inherits(Peer, stream.Duplex); + debug.namespace = namespace; + debug.enabled = createDebug.enabled(namespace); + debug.useColors = createDebug.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + debug.extend = extend; // Debug.formatArgs = formatArgs; + // debug.rawLog = rawLog; + // env-specific initialization logic for debug instances -/** - * WebRTC peer connection. Same API as node core `net.Socket`, plus a few extra methods. - * Duplex stream. - * @param {Object} opts - */ -function Peer(opts) { - var self = this; - if (!(self instanceof Peer)) return new Peer(opts); + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } - self._id = randombytes(4).toString('hex').slice(0, 7); - self._debug('new peer %o', opts); + createDebug.instances.push(debug); + return debug; + } - opts = Object.assign({ - allowHalfOpen: false - }, opts); + function destroy() { + var index = createDebug.instances.indexOf(this); - stream.Duplex.call(self, opts); + if (index !== -1) { + createDebug.instances.splice(index, 1); + return true; + } - self.channelName = opts.initiator ? opts.channelName || randombytes(20).toString('hex') : null; + return false; + } - // Needed by _transformConstraints, so set this early - self._isChromium = typeof window !== 'undefined' && !!window.webkitRTCPeerConnection; + function extend(namespace, delimiter) { + return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + } + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ - self.initiator = opts.initiator || false; - self.channelConfig = opts.channelConfig || Peer.channelConfig; - self.config = opts.config || Peer.config; - self.constraints = self._transformConstraints(opts.constraints || Peer.constraints); - self.offerConstraints = self._transformConstraints(opts.offerConstraints || {}); - self.answerConstraints = self._transformConstraints(opts.answerConstraints || {}); - self.sdpTransform = opts.sdpTransform || function (sdp) { - return sdp; - }; - self.streams = opts.streams || (opts.stream ? [opts.stream] : []); // support old "stream" option - self.trickle = opts.trickle !== undefined ? opts.trickle : true; + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.names = []; + createDebug.skips = []; + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; - self.destroyed = false; - self.connected = false; + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } - self.remoteAddress = undefined; - self.remoteFamily = undefined; - self.remotePort = undefined; - self.localAddress = undefined; - self.localPort = undefined; + namespaces = split[i].replace(/\*/g, '.*?'); - self._wrtc = opts.wrtc && _typeof(opts.wrtc) === 'object' ? opts.wrtc : getBrowserRTC(); + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } - if (!self._wrtc) { - if (typeof window === 'undefined') { - throw makeError('No WebRTC support: Specify `opts.wrtc` option in this environment', 'ERR_WEBRTC_SUPPORT'); - } else { - throw makeError('No WebRTC support: Not a supported browser', 'ERR_WEBRTC_SUPPORT'); + for (i = 0; i < createDebug.instances.length; i++) { + var instance = createDebug.instances[i]; + instance.enabled = createDebug.enabled(instance.namespace); } } + /** + * Disable debug output. + * + * @api public + */ - self._pcReady = false; - self._channelReady = false; - self._iceComplete = false; // ice candidate trickle done (got null candidate) - self._channel = null; - self._pendingCandidates = []; - - self._isNegotiating = false; // is this peer waiting for negotiation to complete? - self._batchedNegotiation = false; // batch synchronous negotiations - self._queuedNegotiation = false; // is there a queued negotiation request? - self._sendersAwaitingStable = []; - self._senderMap = new WeakMap(); - - self._remoteTracks = []; - self._remoteStreams = []; - - self._chunk = null; - self._cb = null; - self._interval = null; + function disable() { + createDebug.enable(''); + } + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ - self._pc = new self._wrtc.RTCPeerConnection(self.config, self.constraints); + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } - // We prefer feature detection whenever possible, but sometimes that's not - // possible for certain implementations. - self._isReactNativeWebrtc = typeof self._pc._peerConnectionId === 'number'; + var i; + var len; - self._pc.oniceconnectionstatechange = function () { - self._onIceStateChange(); - }; - self._pc.onicegatheringstatechange = function () { - self._onIceStateChange(); - }; - self._pc.onsignalingstatechange = function () { - self._onSignalingStateChange(); - }; - self._pc.onicecandidate = function (event) { - self._onIceCandidate(event); - }; + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } - // Other spec events, unused by this implementation: - // - onconnectionstatechange - // - onicecandidateerror - // - onfingerprintfailure - // - onnegotiationneeded + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } - if (self.initiator) { - self._setupData({ - channel: self._pc.createDataChannel(self.channelName, self.channelConfig) - }); - } else { - self._pc.ondatachannel = function (event) { - self._setupData(event); - }; + return false; } + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ - if ('addTrack' in self._pc) { - if (self.streams) { - self.streams.forEach(function (stream) { - self.addStream(stream); - }); + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; } - self._pc.ontrack = function (event) { - self._onTrack(event); - }; - } - if (self.initiator) { - self._needsNegotiation(); + return val; } - self._onFinishBound = function () { - self._onFinish(); - }; - self.once('finish', self._onFinishBound); + createDebug.enable(createDebug.load()); + return createDebug; } -Peer.WEBRTC_SUPPORT = !!getBrowserRTC(); - -/** - * Expose config, constraints, and data channel config for overriding all Peer - * instances. Otherwise, just set opts.config, opts.constraints, or opts.channelConfig - * when constructing a Peer. - */ -Peer.config = { - iceServers: [{ - urls: 'stun:stun.l.google.com:19302' - }, { - urls: 'stun:global.stun.twilio.com:3478?transport=udp' - }] -}; -Peer.constraints = {}; -Peer.channelConfig = {}; - -Object.defineProperty(Peer.prototype, 'bufferSize', { - get: function get() { - var self = this; - return self._channel && self._channel.bufferedAmount || 0; - } -}); +module.exports = setup; -Peer.prototype.address = function () { - var self = this; - return { port: self.localPort, family: 'IPv4', address: self.localAddress }; -}; +},{"ms":748}],748:[function(require,module,exports){ +'use strict'; -Peer.prototype.signal = function (data) { - var self = this; - if (self.destroyed) throw makeError('cannot signal after peer is destroyed', 'ERR_SIGNALING'); - if (typeof data === 'string') { - try { - data = JSON.parse(data); - } catch (err) { - data = {}; - } - } - self._debug('signal()'); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - if (data.renegotiate) { - self._debug('got request to renegotiate'); - self._needsNegotiation(); - } - if (data.candidate) { - if (self._pc.remoteDescription && self._pc.remoteDescription.type) self._addIceCandidate(data.candidate);else self._pendingCandidates.push(data.candidate); - } - if (data.sdp) { - self._pc.setRemoteDescription(new self._wrtc.RTCSessionDescription(data), function () { - if (self.destroyed) return; +/** + * Helpers. + */ - self._pendingCandidates.forEach(function (candidate) { - self._addIceCandidate(candidate); - }); - self._pendingCandidates = []; +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; - if (self._pc.remoteDescription.type === 'offer') self._createAnswer(); - }, function (err) { - self.destroy(makeError(err, 'ERR_SET_REMOTE_DESCRIPTION')); - }); - } - if (!data.sdp && !data.candidate && !data.renegotiate) { - self.destroy(makeError('signal() called with invalid signal data', 'ERR_SIGNALING')); - } -}; +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ -Peer.prototype._addIceCandidate = function (candidate) { - var self = this; - try { - self._pc.addIceCandidate(new self._wrtc.RTCIceCandidate(candidate), noop, function (err) { - self.destroy(makeError(err, 'ERR_ADD_ICE_CANDIDATE')); - }); - } catch (err) { - self.destroy(makeError('error adding candidate: ' + err.message, 'ERR_ADD_ICE_CANDIDATE')); +module.exports = function (val, options) { + options = options || {}; + var type = typeof val === 'undefined' ? 'undefined' : _typeof(val); + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); } + throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)); }; /** - * Send text/binary data to the remote peer. - * @param {ArrayBufferView|ArrayBuffer|Buffer|string|Blob} chunk + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private */ -Peer.prototype.send = function (chunk) { - var self = this; - self._channel.send(chunk); -}; + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} /** - * Add a MediaStream to the connection. - * @param {MediaStream} stream + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private */ -Peer.prototype.addStream = function (stream) { - var self = this; - - self._debug('addStream()'); - stream.getTracks().forEach(function (track) { - self.addTrack(track, stream); - }); -}; +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} /** - * Add a MediaStreamTrack to the connection. - * @param {MediaStreamTrack} track - * @param {MediaStream} stream + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private */ -Peer.prototype.addTrack = function (track, stream) { - var self = this; - - self._debug('addTrack()'); - var sender = self._pc.addTrack(track, stream); - var submap = self._senderMap.get(track) || new WeakMap(); // nested WeakMaps map [track, stream] to sender - submap.set(stream, sender); - self._senderMap.set(track, submap); - self._needsNegotiation(); -}; +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} /** - * Remove a MediaStreamTrack from the connection. - * @param {MediaStreamTrack} track - * @param {MediaStream} stream + * Pluralization helper. */ -Peer.prototype.removeTrack = function (track, stream) { - var self = this; - self._debug('removeSender()'); +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} - var submap = self._senderMap.get(track); - var sender = submap ? submap.get(stream) : null; - if (!sender) { - self.destroy(new Error('Cannot remove track that was never added.')); - } - try { - self._pc.removeTrack(sender); - } catch (err) { - if (err.name === 'NS_ERROR_UNEXPECTED') { - self._sendersAwaitingStable.push(sender); // HACK: Firefox must wait until (signalingState === stable) https://bugzilla.mozilla.org/show_bug.cgi?id=1133874 - } else { - self.destroy(err); - } - } -}; +},{}],749:[function(require,module,exports){ +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /** - * Remove a MediaStream from the connection. - * @param {MediaStream} stream + * Module dependencies. */ -Peer.prototype.removeStream = function (stream) { - var self = this; - self._debug('removeSenders()'); +var url = require('./url'); +var parser = require('socket.io-parser'); +var Manager = require('./manager'); +var debug = require('debug')('socket.io-client'); - stream.getTracks().forEach(function (track) { - self.removeTrack(track, stream); - }); -}; +/** + * Module exports. + */ -Peer.prototype._needsNegotiation = function () { - var self = this; +module.exports = exports = lookup; - self._debug('_needsNegotiation'); - if (self._batchedNegotiation) return; // batch synchronous renegotiations - self._batchedNegotiation = true; - setTimeout(function () { - self._batchedNegotiation = false; - self._debug('starting batched negotiation'); - self.negotiate(); - }, 0); -}; +/** + * Managers cache. + */ -Peer.prototype.negotiate = function () { - var self = this; +var cache = exports.managers = {}; - if (self.initiator) { - if (self._isNegotiating) { - self._queuedNegotiation = true; - self._debug('already negotiating, queueing'); - } else { - self._debug('start negotiation'); - self._createOffer(); - } - } else { - self._debug('requesting negotiation from initiator'); - self.emit('signal', { // request initiator to renegotiate - renegotiate: true - }); +/** + * Looks up an existing `Manager` for multiplexing. + * If the user summons: + * + * `io('http://localhost/a');` + * `io('http://localhost/b');` + * + * We reuse the existing instance based on same scheme/port/host, + * and we initialize sockets for each namespace. + * + * @api public + */ + +function lookup(uri, opts) { + if ((typeof uri === 'undefined' ? 'undefined' : _typeof(uri)) === 'object') { + opts = uri; + uri = undefined; } - self._isNegotiating = true; -}; -// TODO: Delete this method once readable-stream is updated to contain a default -// implementation of destroy() that automatically calls _destroy() -// See: https://github.com/nodejs/readable-stream/issues/283 -Peer.prototype.destroy = function (err) { - var self = this; - self._destroy(err, function () {}); -}; + opts = opts || {}; -Peer.prototype._destroy = function (err, cb) { - var self = this; - if (self.destroyed) return; + var parsed = url(uri); + var source = parsed.source; + var id = parsed.id; + var path = parsed.path; + var sameNamespace = cache[id] && path in cache[id].nsps; + var newConnection = opts.forceNew || opts['force new connection'] || false === opts.multiplex || sameNamespace; - self._debug('destroy (error: %s)', err && (err.message || err)); + var io; - self.readable = self.writable = false; + if (newConnection) { + debug('ignoring socket cache for %s', source); + io = Manager(source, opts); + } else { + if (!cache[id]) { + debug('new io instance for %s', source); + cache[id] = Manager(source, opts); + } + io = cache[id]; + } + if (parsed.query && !opts.query) { + opts.query = parsed.query; + } + return io.socket(parsed.path, opts); +} - if (!self._readableState.ended) self.push(null); - if (!self._writableState.finished) self.end(); +/** + * Protocol version. + * + * @api public + */ - self.destroyed = true; - self.connected = false; - self._pcReady = false; - self._channelReady = false; - self._remoteTracks = null; - self._remoteStreams = null; - self._senderMap = null; +exports.protocol = parser.protocol; - clearInterval(self._interval); - self._interval = null; - self._chunk = null; - self._cb = null; +/** + * `connect`. + * + * @param {String} uri + * @api public + */ - if (self._onFinishBound) self.removeListener('finish', self._onFinishBound); - self._onFinishBound = null; +exports.connect = lookup; - if (self._channel) { - try { - self._channel.close(); - } catch (err) {} +/** + * Expose constructors for standalone build. + * + * @api public + */ - self._channel.onmessage = null; - self._channel.onopen = null; - self._channel.onclose = null; - self._channel.onerror = null; - } - if (self._pc) { - try { - self._pc.close(); - } catch (err) {} +exports.Manager = require('./manager'); +exports.Socket = require('./socket'); - self._pc.oniceconnectionstatechange = null; - self._pc.onicegatheringstatechange = null; - self._pc.onsignalingstatechange = null; - self._pc.onicecandidate = null; - if ('addTrack' in self._pc) { - self._pc.ontrack = null; - } - self._pc.ondatachannel = null; - } - self._pc = null; - self._channel = null; +},{"./manager":750,"./socket":752,"./url":753,"debug":754,"socket.io-parser":757}],750:[function(require,module,exports){ +'use strict'; - if (err) self.emit('error', err); - self.emit('close'); - cb(); -}; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -Peer.prototype._setupData = function (event) { - var self = this; - if (!event.channel) { - // In some situations `pc.createDataChannel()` returns `undefined` (in wrtc), - // which is invalid behavior. Handle it gracefully. - // See: https://github.com/feross/simple-peer/issues/163 - return self.destroy(makeError('Data channel event is missing `channel` property', 'ERR_DATA_CHANNEL')); - } +/** + * Module dependencies. + */ - self._channel = event.channel; - self._channel.binaryType = 'arraybuffer'; +var eio = require('engine.io-client'); +var Socket = require('./socket'); +var Emitter = require('component-emitter'); +var parser = require('socket.io-parser'); +var on = require('./on'); +var bind = require('component-bind'); +var debug = require('debug')('socket.io-client:manager'); +var indexOf = require('indexof'); +var Backoff = require('backo2'); - if (typeof self._channel.bufferedAmountLowThreshold === 'number') { - self._channel.bufferedAmountLowThreshold = MAX_BUFFERED_AMOUNT; - } +/** + * IE6+ hasOwnProperty + */ - self.channelName = self._channel.label; +var has = Object.prototype.hasOwnProperty; - self._channel.onmessage = function (event) { - self._onChannelMessage(event); - }; - self._channel.onbufferedamountlow = function () { - self._onChannelBufferedAmountLow(); - }; - self._channel.onopen = function () { - self._onChannelOpen(); - }; - self._channel.onclose = function () { - self._onChannelClose(); - }; - self._channel.onerror = function (err) { - self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); - }; -}; +/** + * Module exports + */ -Peer.prototype._read = function () {}; +module.exports = Manager; -Peer.prototype._write = function (chunk, encoding, cb) { - var self = this; - if (self.destroyed) return cb(makeError('cannot write after peer is destroyed', 'ERR_DATA_CHANNEL')); +/** + * `Manager` constructor. + * + * @param {String} engine instance or engine uri/opts + * @param {Object} options + * @api public + */ - if (self.connected) { - try { - self.send(chunk); - } catch (err) { - return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); - } - if (self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { - self._debug('start backpressure: bufferedAmount %d', self._channel.bufferedAmount); - self._cb = cb; - } else { - cb(null); - } - } else { - self._debug('write before connect'); - self._chunk = chunk; - self._cb = cb; +function Manager(uri, opts) { + if (!(this instanceof Manager)) return new Manager(uri, opts); + if (uri && 'object' === (typeof uri === 'undefined' ? 'undefined' : _typeof(uri))) { + opts = uri; + uri = undefined; } -}; + opts = opts || {}; -// When stream finishes writing, close socket. Half open connections are not -// supported. -Peer.prototype._onFinish = function () { - var self = this; - if (self.destroyed) return; + opts.path = opts.path || '/socket.io'; + this.nsps = {}; + this.subs = []; + this.opts = opts; + this.reconnection(opts.reconnection !== false); + this.reconnectionAttempts(opts.reconnectionAttempts || Infinity); + this.reconnectionDelay(opts.reconnectionDelay || 1000); + this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000); + this.randomizationFactor(opts.randomizationFactor || 0.5); + this.backoff = new Backoff({ + min: this.reconnectionDelay(), + max: this.reconnectionDelayMax(), + jitter: this.randomizationFactor() + }); + this.timeout(null == opts.timeout ? 20000 : opts.timeout); + this.readyState = 'closed'; + this.uri = uri; + this.connecting = []; + this.lastPing = null; + this.encoding = false; + this.packetBuffer = []; + var _parser = opts.parser || parser; + this.encoder = new _parser.Encoder(); + this.decoder = new _parser.Decoder(); + this.autoConnect = opts.autoConnect !== false; + if (this.autoConnect) this.open(); +} - if (self.connected) { - destroySoon(); - } else { - self.once('connect', destroySoon); - } +/** + * Propagate given event to sockets and emit on `this` + * + * @api private + */ - // Wait a bit before destroying so the socket flushes. - // TODO: is there a more reliable way to accomplish this? - function destroySoon() { - setTimeout(function () { - self.destroy(); - }, 1000); +Manager.prototype.emitAll = function () { + this.emit.apply(this, arguments); + for (var nsp in this.nsps) { + if (has.call(this.nsps, nsp)) { + this.nsps[nsp].emit.apply(this.nsps[nsp], arguments); + } } }; -Peer.prototype._createOffer = function () { - var self = this; - if (self.destroyed) return; - - self._pc.createOffer(function (offer) { - if (self.destroyed) return; - offer.sdp = self.sdpTransform(offer.sdp); - self._pc.setLocalDescription(offer, onSuccess, onError); +/** + * Update `socket.id` of all sockets + * + * @api private + */ - function onSuccess() { - self._debug('createOffer success'); - if (self.destroyed) return; - if (self.trickle || self._iceComplete) sendOffer();else self.once('_iceComplete', sendOffer); // wait for candidates +Manager.prototype.updateSocketIds = function () { + for (var nsp in this.nsps) { + if (has.call(this.nsps, nsp)) { + this.nsps[nsp].id = this.generateId(nsp); } + } +}; - function onError(err) { - self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); - } +/** + * generate `socket.id` for the given `nsp` + * + * @param {String} nsp + * @return {String} + * @api private + */ - function sendOffer() { - var signal = self._pc.localDescription || offer; - self._debug('signal'); - self.emit('signal', { - type: signal.type, - sdp: signal.sdp - }); - } - }, function (err) { - self.destroy(makeError(err, 'ERR_CREATE_OFFER')); - }, self.offerConstraints); +Manager.prototype.generateId = function (nsp) { + return (nsp === '/' ? '' : nsp + '#') + this.engine.id; }; -Peer.prototype._createAnswer = function () { - var self = this; - if (self.destroyed) return; +/** + * Mix in `Emitter`. + */ - self._pc.createAnswer(function (answer) { - if (self.destroyed) return; - answer.sdp = self.sdpTransform(answer.sdp); - self._pc.setLocalDescription(answer, onSuccess, onError); +Emitter(Manager.prototype); - function onSuccess() { - if (self.destroyed) return; - if (self.trickle || self._iceComplete) sendAnswer();else self.once('_iceComplete', sendAnswer); - } +/** + * Sets the `reconnection` config. + * + * @param {Boolean} true/false if it should automatically reconnect + * @return {Manager} self or value + * @api public + */ - function onError(err) { - self.destroy(makeError(err, 'ERR_SET_LOCAL_DESCRIPTION')); - } +Manager.prototype.reconnection = function (v) { + if (!arguments.length) return this._reconnection; + this._reconnection = !!v; + return this; +}; - function sendAnswer() { - var signal = self._pc.localDescription || answer; - self._debug('signal'); - self.emit('signal', { - type: signal.type, - sdp: signal.sdp - }); - } - }, function (err) { - self.destroy(makeError(err, 'ERR_CREATE_ANSWER')); - }, self.answerConstraints); +/** + * Sets the reconnection attempts config. + * + * @param {Number} max reconnection attempts before giving up + * @return {Manager} self or value + * @api public + */ + +Manager.prototype.reconnectionAttempts = function (v) { + if (!arguments.length) return this._reconnectionAttempts; + this._reconnectionAttempts = v; + return this; }; -Peer.prototype._onIceStateChange = function () { - var self = this; - if (self.destroyed) return; - var iceConnectionState = self._pc.iceConnectionState; - var iceGatheringState = self._pc.iceGatheringState; +/** + * Sets the delay between reconnections. + * + * @param {Number} delay + * @return {Manager} self or value + * @api public + */ - self._debug('iceStateChange (connection: %s) (gathering: %s)', iceConnectionState, iceGatheringState); - self.emit('iceStateChange', iceConnectionState, iceGatheringState); +Manager.prototype.reconnectionDelay = function (v) { + if (!arguments.length) return this._reconnectionDelay; + this._reconnectionDelay = v; + this.backoff && this.backoff.setMin(v); + return this; +}; - if (iceConnectionState === 'connected' || iceConnectionState === 'completed') { - self._pcReady = true; - self._maybeReady(); - } - if (iceConnectionState === 'failed') { - self.destroy(makeError('Ice connection failed.', 'ERR_ICE_CONNECTION_FAILURE')); - } - if (iceConnectionState === 'closed') { - self.destroy(new Error('Ice connection closed.')); - } +Manager.prototype.randomizationFactor = function (v) { + if (!arguments.length) return this._randomizationFactor; + this._randomizationFactor = v; + this.backoff && this.backoff.setJitter(v); + return this; }; -Peer.prototype.getStats = function (cb) { - var self = this; +/** + * Sets the maximum delay between reconnections. + * + * @param {Number} delay + * @return {Manager} self or value + * @api public + */ - // Promise-based getStats() (standard) - if (self._pc.getStats.length === 0) { - self._pc.getStats().then(function (res) { - var reports = []; - res.forEach(function (report) { - reports.push(report); - }); - cb(null, reports); - }, function (err) { - cb(err); - }); +Manager.prototype.reconnectionDelayMax = function (v) { + if (!arguments.length) return this._reconnectionDelayMax; + this._reconnectionDelayMax = v; + this.backoff && this.backoff.setMax(v); + return this; +}; - // Two-parameter callback-based getStats() (deprecated, former standard) - } else if (self._isReactNativeWebrtc) { - self._pc.getStats(null, function (res) { - var reports = []; - res.forEach(function (report) { - reports.push(report); - }); - cb(null, reports); - }, function (err) { - cb(err); - }); +/** + * Sets the connection timeout. `false` to disable + * + * @return {Manager} self or value + * @api public + */ - // Single-parameter callback-based getStats() (non-standard) - } else if (self._pc.getStats.length > 0) { - self._pc.getStats(function (res) { - // If we destroy connection in `connect` callback this code might happen to run when actual connection is already closed - if (self.destroyed) return; +Manager.prototype.timeout = function (v) { + if (!arguments.length) return this._timeout; + this._timeout = v; + return this; +}; - var reports = []; - res.result().forEach(function (result) { - var report = {}; - result.names().forEach(function (name) { - report[name] = result.stat(name); - }); - report.id = result.id; - report.type = result.type; - report.timestamp = result.timestamp; - reports.push(report); - }); - cb(null, reports); - }, function (err) { - cb(err); - }); +/** + * Starts trying to reconnect if reconnection is enabled and we have not + * started reconnecting yet + * + * @api private + */ - // Unknown browser, skip getStats() since it's anyone's guess which style of - // getStats() they implement. - } else { - cb(null, []); +Manager.prototype.maybeReconnectOnOpen = function () { + // Only try to reconnect if it's the first time we're connecting + if (!this.reconnecting && this._reconnection && this.backoff.attempts === 0) { + // keeps reconnection from firing twice for the same reconnection loop + this.reconnect(); } }; -Peer.prototype._maybeReady = function () { - var self = this; - self._debug('maybeReady pc %s channel %s', self._pcReady, self._channelReady); - if (self.connected || self._connecting || !self._pcReady || !self._channelReady) return; +/** + * Sets the current transport `socket`. + * + * @param {Function} optional, callback + * @return {Manager} self + * @api public + */ - self._connecting = true; +Manager.prototype.open = Manager.prototype.connect = function (fn, opts) { + debug('readyState %s', this.readyState); + if (~this.readyState.indexOf('open')) return this; - // HACK: We can't rely on order here, for details see https://github.com/js-platform/node-webrtc/issues/339 - function findCandidatePair() { - if (self.destroyed) return; + debug('opening %s', this.uri); + this.engine = eio(this.uri, this.opts); + var socket = this.engine; + var self = this; + this.readyState = 'opening'; + this.skipReconnect = false; - self.getStats(function (err, items) { - if (self.destroyed) return; + // emit `open` + var openSub = on(socket, 'open', function () { + self.onopen(); + fn && fn(); + }); - // Treat getStats error as non-fatal. It's not essential. - if (err) items = []; + // emit `connect_error` + var errorSub = on(socket, 'error', function (data) { + debug('connect_error'); + self.cleanup(); + self.readyState = 'closed'; + self.emitAll('connect_error', data); + if (fn) { + var err = new Error('Connection error'); + err.data = data; + fn(err); + } else { + // Only do this if there is no fn to handle the error + self.maybeReconnectOnOpen(); + } + }); - var remoteCandidates = {}; - var localCandidates = {}; - var candidatePairs = {}; - var foundSelectedCandidatePair = false; + // emit `connect_timeout` + if (false !== this._timeout) { + var timeout = this._timeout; + debug('connect attempt will timeout after %d', timeout); - items.forEach(function (item) { - // TODO: Once all browsers support the hyphenated stats report types, remove - // the non-hypenated ones - if (item.type === 'remotecandidate' || item.type === 'remote-candidate') { - remoteCandidates[item.id] = item; - } - if (item.type === 'localcandidate' || item.type === 'local-candidate') { - localCandidates[item.id] = item; - } - if (item.type === 'candidatepair' || item.type === 'candidate-pair') { - candidatePairs[item.id] = item; - } - }); + // set timer + var timer = setTimeout(function () { + debug('connect attempt timed out after %d', timeout); + openSub.destroy(); + socket.close(); + socket.emit('error', 'timeout'); + self.emitAll('connect_timeout', timeout); + }, timeout); - items.forEach(function (item) { - // Spec-compliant - if (item.type === 'transport' && item.selectedCandidatePairId) { - setSelectedCandidatePair(candidatePairs[item.selectedCandidatePairId]); - } + this.subs.push({ + destroy: function destroy() { + clearTimeout(timer); + } + }); + } - // Old implementations - if (item.type === 'googCandidatePair' && item.googActiveConnection === 'true' || (item.type === 'candidatepair' || item.type === 'candidate-pair') && item.selected) { - setSelectedCandidatePair(item); - } - }); + this.subs.push(openSub); + this.subs.push(errorSub); - function setSelectedCandidatePair(selectedCandidatePair) { - foundSelectedCandidatePair = true; + return this; +}; - var local = localCandidates[selectedCandidatePair.localCandidateId]; +/** + * Called upon transport open. + * + * @api private + */ - if (local && local.ip) { - // Spec - self.localAddress = local.ip; - self.localPort = Number(local.port); - } else if (local && local.ipAddress) { - // Firefox - self.localAddress = local.ipAddress; - self.localPort = Number(local.portNumber); - } else if (typeof selectedCandidatePair.googLocalAddress === 'string') { - // TODO: remove this once Chrome 58 is released - local = selectedCandidatePair.googLocalAddress.split(':'); - self.localAddress = local[0]; - self.localPort = Number(local[1]); - } +Manager.prototype.onopen = function () { + debug('open'); - var remote = remoteCandidates[selectedCandidatePair.remoteCandidateId]; + // clear old subs + this.cleanup(); - if (remote && remote.ip) { - // Spec - self.remoteAddress = remote.ip; - self.remotePort = Number(remote.port); - } else if (remote && remote.ipAddress) { - // Firefox - self.remoteAddress = remote.ipAddress; - self.remotePort = Number(remote.portNumber); - } else if (typeof selectedCandidatePair.googRemoteAddress === 'string') { - // TODO: remove this once Chrome 58 is released - remote = selectedCandidatePair.googRemoteAddress.split(':'); - self.remoteAddress = remote[0]; - self.remotePort = Number(remote[1]); - } - self.remoteFamily = 'IPv4'; + // mark as open + this.readyState = 'open'; + this.emit('open'); - self._debug('connect local: %s:%s remote: %s:%s', self.localAddress, self.localPort, self.remoteAddress, self.remotePort); - } + // add new subs + var socket = this.engine; + this.subs.push(on(socket, 'data', bind(this, 'ondata'))); + this.subs.push(on(socket, 'ping', bind(this, 'onping'))); + this.subs.push(on(socket, 'pong', bind(this, 'onpong'))); + this.subs.push(on(socket, 'error', bind(this, 'onerror'))); + this.subs.push(on(socket, 'close', bind(this, 'onclose'))); + this.subs.push(on(this.decoder, 'decoded', bind(this, 'ondecoded'))); +}; - // Ignore candidate pair selection in browsers like Safari 11 that do not have any local or remote candidates - // But wait until at least 1 candidate pair is available - if (!foundSelectedCandidatePair && (!Object.keys(candidatePairs).length || Object.keys(localCandidates).length)) { - setTimeout(findCandidatePair, 100); - return; - } else { - self._connecting = false; - self.connected = true; - } +/** + * Called upon a ping. + * + * @api private + */ - if (self._chunk) { - try { - self.send(self._chunk); - } catch (err) { - return self.destroy(makeError(err, 'ERR_DATA_CHANNEL')); - } - self._chunk = null; - self._debug('sent chunk from "write before connect"'); +Manager.prototype.onping = function () { + this.lastPing = new Date(); + this.emitAll('ping'); +}; - var cb = self._cb; - self._cb = null; - cb(null); - } +/** + * Called upon a packet. + * + * @api private + */ - // If `bufferedAmountLowThreshold` and 'onbufferedamountlow' are unsupported, - // fallback to using setInterval to implement backpressure. - if (typeof self._channel.bufferedAmountLowThreshold !== 'number') { - self._interval = setInterval(function () { - self._onInterval(); - }, 150); - if (self._interval.unref) self._interval.unref(); - } +Manager.prototype.onpong = function () { + this.emitAll('pong', new Date() - this.lastPing); +}; - self._debug('connect'); - self.emit('connect'); - }); - } - findCandidatePair(); +/** + * Called with data. + * + * @api private + */ + +Manager.prototype.ondata = function (data) { + this.decoder.add(data); }; -Peer.prototype._onInterval = function () { - var self = this; - if (!self._cb || !self._channel || self._channel.bufferedAmount > MAX_BUFFERED_AMOUNT) { - return; - } - self._onChannelBufferedAmountLow(); +/** + * Called when parser fully decodes a packet. + * + * @api private + */ + +Manager.prototype.ondecoded = function (packet) { + this.emit('packet', packet); }; -Peer.prototype._onSignalingStateChange = function () { - var self = this; - if (self.destroyed) return; +/** + * Called upon socket error. + * + * @api private + */ - if (self._pc.signalingState === 'stable') { - self._isNegotiating = false; +Manager.prototype.onerror = function (err) { + debug('error', err); + this.emitAll('error', err); +}; - // HACK: Firefox doesn't yet support removing tracks when signalingState !== 'stable' - self._debug('flushing sender queue', self._sendersAwaitingStable); - self._sendersAwaitingStable.forEach(function (sender) { - self.removeTrack(sender); - self._queuedNegotiation = true; +/** + * Creates a new socket for the given `nsp`. + * + * @return {Socket} + * @api public + */ + +Manager.prototype.socket = function (nsp, opts) { + var socket = this.nsps[nsp]; + if (!socket) { + socket = new Socket(this, nsp, opts); + this.nsps[nsp] = socket; + var self = this; + socket.on('connecting', onConnecting); + socket.on('connect', function () { + socket.id = self.generateId(nsp); }); - self._sendersAwaitingStable = []; - if (self._queuedNegotiation) { - self._debug('flushing negotiation queue'); - self._queuedNegotiation = false; - self._needsNegotiation(); // negotiate again + if (this.autoConnect) { + // manually call here since connecting event is fired before listening + onConnecting(); } + } - self._debug('negotiate'); - self.emit('negotiate'); + function onConnecting() { + if (!~indexOf(self.connecting, socket)) { + self.connecting.push(socket); + } } - self._debug('signalingStateChange %s', self._pc.signalingState); - self.emit('signalingStateChange', self._pc.signalingState); + return socket; }; -Peer.prototype._onIceCandidate = function (event) { +/** + * Called upon a socket close. + * + * @param {Socket} socket + */ + +Manager.prototype.destroy = function (socket) { + var index = indexOf(this.connecting, socket); + if (~index) this.connecting.splice(index, 1); + if (this.connecting.length) return; + + this.close(); +}; + +/** + * Writes a packet. + * + * @param {Object} packet + * @api private + */ + +Manager.prototype.packet = function (packet) { + debug('writing packet %j', packet); var self = this; - if (self.destroyed) return; - if (event.candidate && self.trickle) { - self.emit('signal', { - candidate: { - candidate: event.candidate.candidate, - sdpMLineIndex: event.candidate.sdpMLineIndex, - sdpMid: event.candidate.sdpMid + if (packet.query && packet.type === 0) packet.nsp += '?' + packet.query; + + if (!self.encoding) { + // encode, then write to engine with result + self.encoding = true; + this.encoder.encode(packet, function (encodedPackets) { + for (var i = 0; i < encodedPackets.length; i++) { + self.engine.write(encodedPackets[i], packet.options); } + self.encoding = false; + self.processPacketQueue(); }); - } else if (!event.candidate) { - self._iceComplete = true; - self.emit('_iceComplete'); + } else { + // add packet to the queue + self.packetBuffer.push(packet); } }; -Peer.prototype._onChannelMessage = function (event) { - var self = this; - if (self.destroyed) return; - var data = event.data; - if (data instanceof ArrayBuffer) data = Buffer.from(data); - self.push(data); -}; +/** + * If packet buffer is non-empty, begins encoding the + * next packet in line. + * + * @api private + */ -Peer.prototype._onChannelBufferedAmountLow = function () { - var self = this; - if (self.destroyed || !self._cb) return; - self._debug('ending backpressure: bufferedAmount %d', self._channel.bufferedAmount); - var cb = self._cb; - self._cb = null; - cb(null); +Manager.prototype.processPacketQueue = function () { + if (this.packetBuffer.length > 0 && !this.encoding) { + var pack = this.packetBuffer.shift(); + this.packet(pack); + } }; -Peer.prototype._onChannelOpen = function () { - var self = this; - if (self.connected || self.destroyed) return; - self._debug('on channel open'); - self._channelReady = true; - self._maybeReady(); -}; +/** + * Clean up transport subscriptions and packet buffer. + * + * @api private + */ -Peer.prototype._onChannelClose = function () { - var self = this; - if (self.destroyed) return; - self._debug('on channel close'); - self.destroy(); -}; +Manager.prototype.cleanup = function () { + debug('cleanup'); -Peer.prototype._onTrack = function (event) { - var self = this; - if (self.destroyed) return; + var subsLength = this.subs.length; + for (var i = 0; i < subsLength; i++) { + var sub = this.subs.shift(); + sub.destroy(); + } - event.streams.forEach(function (eventStream) { - self._debug('on track'); - self.emit('track', event.track, eventStream); + this.packetBuffer = []; + this.encoding = false; + this.lastPing = null; - self._remoteTracks.push({ - track: event.track, - stream: eventStream - }); + this.decoder.destroy(); +}; - if (self._remoteStreams.some(function (remoteStream) { - return remoteStream.id === eventStream.id; - })) return; // Only fire one 'stream' event, even though there may be multiple tracks per stream +/** + * Close the current socket. + * + * @api private + */ - self._remoteStreams.push(eventStream); - setTimeout(function () { - self.emit('stream', eventStream); // ensure all tracks have been added - }, 0); - }); +Manager.prototype.close = Manager.prototype.disconnect = function () { + debug('disconnect'); + this.skipReconnect = true; + this.reconnecting = false; + if ('opening' === this.readyState) { + // `onclose` will not fire because + // an open event never happened + this.cleanup(); + } + this.backoff.reset(); + this.readyState = 'closed'; + if (this.engine) this.engine.close(); }; -Peer.prototype._debug = function () { - var self = this; - var args = [].slice.call(arguments); - args[0] = '[' + self._id + '] ' + args[0]; - debug.apply(null, args); -}; +/** + * Called upon engine close. + * + * @api private + */ -// Transform constraints objects into the new format (unless Chromium) -// TODO: This can be removed when Chromium supports the new format -Peer.prototype._transformConstraints = function (constraints) { - var self = this; +Manager.prototype.onclose = function (reason) { + debug('onclose'); - if (Object.keys(constraints).length === 0) { - return constraints; + this.cleanup(); + this.backoff.reset(); + this.readyState = 'closed'; + this.emit('close', reason); + + if (this._reconnection && !this.skipReconnect) { + this.reconnect(); } +}; - if ((constraints.mandatory || constraints.optional) && !self._isChromium) { - // convert to new format +/** + * Attempt a reconnection. + * + * @api private + */ - // Merge mandatory and optional objects, prioritizing mandatory - var newConstraints = Object.assign({}, constraints.optional, constraints.mandatory); +Manager.prototype.reconnect = function () { + if (this.reconnecting || this.skipReconnect) return this; - // fix casing - if (newConstraints.OfferToReceiveVideo !== undefined) { - newConstraints.offerToReceiveVideo = newConstraints.OfferToReceiveVideo; - delete newConstraints['OfferToReceiveVideo']; - } + var self = this; - if (newConstraints.OfferToReceiveAudio !== undefined) { - newConstraints.offerToReceiveAudio = newConstraints.OfferToReceiveAudio; - delete newConstraints['OfferToReceiveAudio']; - } + if (this.backoff.attempts >= this._reconnectionAttempts) { + debug('reconnect failed'); + this.backoff.reset(); + this.emitAll('reconnect_failed'); + this.reconnecting = false; + } else { + var delay = this.backoff.duration(); + debug('will wait %dms before reconnect attempt', delay); - return newConstraints; - } else if (!constraints.mandatory && !constraints.optional && self._isChromium) { - // convert to old format + this.reconnecting = true; + var timer = setTimeout(function () { + if (self.skipReconnect) return; - // fix casing - if (constraints.offerToReceiveVideo !== undefined) { - constraints.OfferToReceiveVideo = constraints.offerToReceiveVideo; - delete constraints['offerToReceiveVideo']; - } + debug('attempting reconnect'); + self.emitAll('reconnect_attempt', self.backoff.attempts); + self.emitAll('reconnecting', self.backoff.attempts); - if (constraints.offerToReceiveAudio !== undefined) { - constraints.OfferToReceiveAudio = constraints.offerToReceiveAudio; - delete constraints['offerToReceiveAudio']; - } + // check again for the case socket closed in above events + if (self.skipReconnect) return; - return { - mandatory: constraints // NOTE: All constraints are upgraded to mandatory - }; - } + self.open(function (err) { + if (err) { + debug('reconnect attempt error'); + self.reconnecting = false; + self.reconnect(); + self.emitAll('reconnect_error', err.data); + } else { + debug('reconnect success'); + self.onreconnect(); + } + }); + }, delay); - return constraints; + this.subs.push({ + destroy: function destroy() { + clearTimeout(timer); + } + }); + } }; -function makeError(message, code) { - var err = new Error(message); - err.code = code; - return err; -} +/** + * Called upon successful reconnect. + * + * @api private + */ -function noop() {} +Manager.prototype.onreconnect = function () { + var attempt = this.backoff.attempts; + this.reconnecting = false; + this.backoff.reset(); + this.updateSocketIds(); + this.emitAll('reconnect', attempt); +}; -}).call(this,require("buffer").Buffer) -},{"buffer":256,"debug":748,"get-browser-rtc":648,"inherits":671,"randombytes":711,"readable-stream":723}],748:[function(require,module,exports){ -(function (process){ +},{"./on":751,"./socket":752,"backo2":210,"component-bind":264,"component-emitter":265,"debug":754,"engine.io-client":628,"indexof":670,"socket.io-parser":757}],751:[function(require,module,exports){ "use strict"; -var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +/** + * Module exports. + */ -function _typeof(obj) { - if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { - _typeof = function _typeof(obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); - }; - } else { - _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); - }; - }return _typeof(obj); +module.exports = on; + +/** + * Helper for subscriptions. + * + * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter` + * @param {String} event name + * @param {Function} callback + * @api public + */ + +function on(obj, ev, fn) { + obj.on(ev, fn); + return { + destroy: function destroy() { + obj.removeListener(ev, fn); + } + }; } -/* eslint-env browser */ +},{}],752:[function(require,module,exports){ +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /** - * This is the web browser implementation of `debug()`. + * Module dependencies. */ -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = localstorage(); + +var parser = require('socket.io-parser'); +var Emitter = require('component-emitter'); +var toArray = require('to-array'); +var on = require('./on'); +var bind = require('component-bind'); +var debug = require('debug')('socket.io-client:socket'); +var parseqs = require('parseqs'); +var hasBin = require('has-binary2'); + /** - * Colors. + * Module exports. */ -exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; +module.exports = exports = Socket; + /** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. + * Internal events (blacklisted). + * These events can't be emitted by the user. * - * TODO: add a `localStorage` variable to explicitly enable/disable colors + * @api private */ -// eslint-disable-next-line complexity - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { - return true; - } // Internet Explorer and Edge do not support colors. +var events = { + connect: 1, + connect_error: 1, + connect_timeout: 1, + connecting: 1, + disconnect: 1, + error: 1, + reconnect: 1, + reconnect_attempt: 1, + reconnect_failed: 1, + reconnect_error: 1, + reconnecting: 1, + ping: 1, + pong: 1 +}; - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } // Is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 +/** + * Shortcut to `Emitter#emit`. + */ +var emit = Emitter.prototype.emit; - return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 - typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker - typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); -} /** - * Colorize log arguments if enabled. + * `Socket` constructor. * * @api public */ -function formatArgs(args) { - args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); - - if (!this.useColors) { - return; +function Socket(io, nsp, opts) { + this.io = io; + this.nsp = nsp; + this.json = this; // compat + this.ids = 0; + this.acks = {}; + this.receiveBuffer = []; + this.sendBuffer = []; + this.connected = false; + this.disconnected = true; + this.flags = {}; + if (opts && opts.query) { + this.query = opts.query; } + if (this.io.autoConnect) this.open(); +} - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into +/** + * Mix in `Emitter`. + */ - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function (match) { - if (match === '%%') { - return; - } +Emitter(Socket.prototype); - index++; +/** + * Subscribe to open, close and packet events + * + * @api private + */ + +Socket.prototype.subEvents = function () { + if (this.subs) return; + + var io = this.io; + this.subs = [on(io, 'open', bind(this, 'onopen')), on(io, 'packet', bind(this, 'onpacket')), on(io, 'close', bind(this, 'onclose'))]; +}; - if (match === '%c') { - // We only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - args.splice(lastC, 0, c); -} /** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". + * "Opens" the socket. * * @api public */ -function log() { - var _console; +Socket.prototype.open = Socket.prototype.connect = function () { + if (this.connected) return this; + + this.subEvents(); + this.io.open(); // ensure open + if ('open' === this.io.readyState) this.onopen(); + this.emit('connecting'); + return this; +}; - // This hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); -} /** - * Save `namespaces`. + * Sends a `message` event. * - * @param {String} namespaces - * @api private + * @return {Socket} self + * @api public */ -function save(namespaces) { - try { - if (namespaces) { - exports.storage.setItem('debug', namespaces); - } else { - exports.storage.removeItem('debug'); - } - } catch (error) {// Swallow - // XXX (@Qix-) should we be logging these? - } -} +Socket.prototype.send = function () { + var args = toArray(arguments); + args.unshift('message'); + this.emit.apply(this, args); + return this; +}; + /** - * Load `namespaces`. + * Override `emit`. + * If the event is in `events`, it's emitted normally. * - * @return {String} returns the previously persisted debug modes - * @api private + * @param {String} event name + * @return {Socket} self + * @api public */ -function load() { - var r; +Socket.prototype.emit = function (ev) { + if (events.hasOwnProperty(ev)) { + emit.apply(this, arguments); + return this; + } - try { - r = exports.storage.getItem('debug'); - } catch (error) {} // Swallow - // XXX (@Qix-) should we be logging these? - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + var args = toArray(arguments); + var packet = { + type: (this.flags.binary !== undefined ? this.flags.binary : hasBin(args)) ? parser.BINARY_EVENT : parser.EVENT, + data: args + }; + packet.options = {}; + packet.options.compress = !this.flags || false !== this.flags.compress; - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; + // event ack callback + if ('function' === typeof args[args.length - 1]) { + debug('emitting packet with ack id %d', this.ids); + this.acks[this.ids] = args.pop(); + packet.id = this.ids++; } - return r; -} + if (this.connected) { + this.packet(packet); + } else { + this.sendBuffer.push(packet); + } + + this.flags = {}; + + return this; +}; + /** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. + * Sends a packet. * - * @return {LocalStorage} + * @param {Object} packet * @api private */ -function localstorage() { - try { - // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context - // The Browser also has localStorage in the global context. - return localStorage; - } catch (error) {// Swallow - // XXX (@Qix-) should we be logging these? - } -} +Socket.prototype.packet = function (packet) { + packet.nsp = this.nsp; + this.io.packet(packet); +}; -module.exports = require('./common')(exports); -var formatters = module.exports.formatters; /** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + * Called upon engine `open`. + * + * @api private */ -formatters.j = function (v) { - try { - return JSON.stringify(v); - } catch (error) { - return '[UnexpectedJSONParseError]: ' + error.message; +Socket.prototype.onopen = function () { + debug('transport is open - connecting'); + + // write connect packet if necessary + if ('/' !== this.nsp) { + if (this.query) { + var query = _typeof(this.query) === 'object' ? parseqs.encode(this.query) : this.query; + debug('sending connect packet with query %s', query); + this.packet({ type: parser.CONNECT, query: query }); + } else { + this.packet({ type: parser.CONNECT }); + } } }; -}).call(this,require('_process')) -},{"./common":749,"_process":704}],749:[function(require,module,exports){ -"use strict"; - /** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. + * Called upon engine `close`. + * + * @param {String} reason + * @api private */ -function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require('ms'); - Object.keys(env).forEach(function (key) { - createDebug[key] = env[key]; - }); - /** - * Active `debug` instances. - */ - - createDebug.instances = []; - /** - * The currently active debug mode names, and names to skip. - */ - - createDebug.names = []; - createDebug.skips = []; - /** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - - createDebug.formatters = {}; - /** - * Selects a color for a debug namespace - * @param {String} namespace The namespace string for the for the debug instance to be colored - * @return {Number|String} An ANSI color code for the given namespace - * @api private - */ - - function selectColor(namespace) { - var hash = 0; - - for (var i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - - createDebug.selectColor = selectColor; - /** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - - function createDebug(namespace) { - var prevTime; - - function debug() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - // Disabled? - if (!debug.enabled) { - return; - } - - var self = debug; // Set `diff` timestamp - - var curr = Number(new Date()); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - args[0] = createDebug.coerce(args[0]); - - if (typeof args[0] !== 'string') { - // Anything else let's inspect with %O - args.unshift('%O'); - } // Apply any `formatters` transformations +Socket.prototype.onclose = function (reason) { + debug('close (%s)', reason); + this.connected = false; + this.disconnected = true; + delete this.id; + this.emit('disconnect', reason); +}; +/** + * Called with socket packet. + * + * @param {Object} packet + * @api private + */ - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { - // If we encounter an escaped % then don't increase the array index - if (match === '%%') { - return match; - } +Socket.prototype.onpacket = function (packet) { + var sameNamespace = packet.nsp === this.nsp; + var rootNamespaceError = packet.type === parser.ERROR && packet.nsp === '/'; - index++; - var formatter = createDebug.formatters[format]; + if (!sameNamespace && !rootNamespaceError) return; - if (typeof formatter === 'function') { - var val = args[index]; - match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` + switch (packet.type) { + case parser.CONNECT: + this.onconnect(); + break; - args.splice(index, 1); - index--; - } + case parser.EVENT: + this.onevent(packet); + break; - return match; - }); // Apply env-specific formatting (colors, etc.) + case parser.BINARY_EVENT: + this.onevent(packet); + break; - createDebug.formatArgs.call(self, args); - var logFn = self.log || createDebug.log; - logFn.apply(self, args); - } + case parser.ACK: + this.onack(packet); + break; - debug.namespace = namespace; - debug.enabled = createDebug.enabled(namespace); - debug.useColors = createDebug.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - debug.extend = extend; // Debug.formatArgs = formatArgs; - // debug.rawLog = rawLog; - // env-specific initialization logic for debug instances + case parser.BINARY_ACK: + this.onack(packet); + break; - if (typeof createDebug.init === 'function') { - createDebug.init(debug); - } + case parser.DISCONNECT: + this.ondisconnect(); + break; - createDebug.instances.push(debug); - return debug; + case parser.ERROR: + this.emit('error', packet.data); + break; } +}; - function destroy() { - var index = createDebug.instances.indexOf(this); +/** + * Called upon a server event. + * + * @param {Object} packet + * @api private + */ - if (index !== -1) { - createDebug.instances.splice(index, 1); - return true; - } +Socket.prototype.onevent = function (packet) { + var args = packet.data || []; + debug('emitting event %j', args); - return false; + if (null != packet.id) { + debug('attaching ack callback to event'); + args.push(this.ack(packet.id)); } - function extend(namespace, delimiter) { - return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + if (this.connected) { + emit.apply(this, args); + } else { + this.receiveBuffer.push(args); } - /** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.names = []; - createDebug.skips = []; - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; +}; - for (i = 0; i < len; i++) { - if (!split[i]) { - // ignore empty strings - continue; - } +/** + * Produces an ack callback to emit with an event. + * + * @api private + */ - namespaces = split[i].replace(/\*/g, '.*?'); +Socket.prototype.ack = function (id) { + var self = this; + var sent = false; + return function () { + // prevent double callbacks + if (sent) return; + sent = true; + var args = toArray(arguments); + debug('sending ack %j', args); - if (namespaces[0] === '-') { - createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - createDebug.names.push(new RegExp('^' + namespaces + '$')); - } - } + self.packet({ + type: hasBin(args) ? parser.BINARY_ACK : parser.ACK, + id: id, + data: args + }); + }; +}; - for (i = 0; i < createDebug.instances.length; i++) { - var instance = createDebug.instances[i]; - instance.enabled = createDebug.enabled(instance.namespace); - } - } - /** - * Disable debug output. - * - * @api public - */ +/** + * Called upon a server acknowlegement. + * + * @param {Object} packet + * @api private + */ - function disable() { - createDebug.enable(''); +Socket.prototype.onack = function (packet) { + var ack = this.acks[packet.id]; + if ('function' === typeof ack) { + debug('calling ack %s with %j', packet.id, packet.data); + ack.apply(this, packet.data); + delete this.acks[packet.id]; + } else { + debug('bad ack %s', packet.id); } - /** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - - function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } +}; - var i; - var len; +/** + * Called upon server connect. + * + * @api private + */ - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } +Socket.prototype.onconnect = function () { + this.connected = true; + this.disconnected = false; + this.emit('connect'); + this.emitBuffered(); +}; - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } +/** + * Emit buffered events (received and emitted). + * + * @api private + */ - return false; +Socket.prototype.emitBuffered = function () { + var i; + for (i = 0; i < this.receiveBuffer.length; i++) { + emit.apply(this, this.receiveBuffer[i]); } - /** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } + this.receiveBuffer = []; - return val; + for (i = 0; i < this.sendBuffer.length; i++) { + this.packet(this.sendBuffer[i]); } - - createDebug.enable(createDebug.load()); - return createDebug; -} - -module.exports = setup; - -},{"ms":750}],750:[function(require,module,exports){ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + this.sendBuffer = []; +}; /** - * Helpers. + * Called upon server disconnect. + * + * @api private */ -var s = 1000; -var m = s * 60; -var h = m * 60; -var d = h * 24; -var w = d * 7; -var y = d * 365.25; +Socket.prototype.ondisconnect = function () { + debug('server disconnect (%s)', this.nsp); + this.destroy(); + this.onclose('io server disconnect'); +}; /** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] + * Called upon forced client/server side disconnections, + * this method ensures the manager stops tracking us and + * that reconnections don't get triggered for this. * - * @param {String|Number} val - * @param {Object} [options] - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public + * @api private. */ -module.exports = function (val, options) { - options = options || {}; - var type = typeof val === 'undefined' ? 'undefined' : _typeof(val); - if (type === 'string' && val.length > 0) { - return parse(val); - } else if (type === 'number' && isNaN(val) === false) { - return options.long ? fmtLong(val) : fmtShort(val); +Socket.prototype.destroy = function () { + if (this.subs) { + // clean subscriptions to avoid reconnections + for (var i = 0; i < this.subs.length; i++) { + this.subs[i].destroy(); + } + this.subs = null; } - throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)); + + this.io.destroy(this); }; /** - * Parse the given `str` and return milliseconds. + * Disconnects the socket manually. * - * @param {String} str - * @return {Number} - * @api private + * @return {Socket} self + * @api public */ -function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || 'ms').toLowerCase(); - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y; - case 'weeks': - case 'week': - case 'w': - return n * w; - case 'days': - case 'day': - case 'd': - return n * d; - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h; - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m; - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s; - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n; - default: - return undefined; +Socket.prototype.close = Socket.prototype.disconnect = function () { + if (this.connected) { + debug('performing disconnect (%s)', this.nsp); + this.packet({ type: parser.DISCONNECT }); } -} -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ + // remove socket from pool + this.destroy(); -function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + 'd'; - } - if (msAbs >= h) { - return Math.round(ms / h) + 'h'; - } - if (msAbs >= m) { - return Math.round(ms / m) + 'm'; - } - if (msAbs >= s) { - return Math.round(ms / s) + 's'; + if (this.connected) { + // fire events + this.onclose('io client disconnect'); } - return ms + 'ms'; -} + return this; +}; /** - * Long format for `ms`. + * Sets the compress flag. * - * @param {Number} ms - * @return {String} - * @api private + * @param {Boolean} if `true`, compresses the sending data + * @return {Socket} self + * @api public */ -function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural(ms, msAbs, d, 'day'); - } - if (msAbs >= h) { - return plural(ms, msAbs, h, 'hour'); - } - if (msAbs >= m) { - return plural(ms, msAbs, m, 'minute'); - } - if (msAbs >= s) { - return plural(ms, msAbs, s, 'second'); - } - return ms + ' ms'; -} +Socket.prototype.compress = function (compress) { + this.flags.compress = compress; + return this; +}; /** - * Pluralization helper. + * Sets the binary flag + * + * @param {Boolean} whether the emitted data contains binary + * @return {Socket} self + * @api public */ -function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); -} +Socket.prototype.binary = function (binary) { + this.flags.binary = binary; + return this; +}; -},{}],751:[function(require,module,exports){ +},{"./on":751,"component-bind":264,"component-emitter":265,"debug":754,"has-binary2":649,"parseqs":696,"socket.io-parser":757,"to-array":766}],753:[function(require,module,exports){ +(function (global){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - /** * Module dependencies. */ -var url = require('./url'); -var parser = require('socket.io-parser'); -var Manager = require('./manager'); -var debug = require('debug')('socket.io-client'); +var parseuri = require('parseuri'); +var debug = require('debug')('socket.io-client:url'); /** * Module exports. */ -module.exports = exports = lookup; +module.exports = url; /** - * Managers cache. + * URL parser. + * + * @param {String} url + * @param {Object} An object meant to mimic window.location. + * Defaults to window.location. + * @api public */ -var cache = exports.managers = {}; +function url(uri, loc) { + var obj = uri; -/** - * Looks up an existing `Manager` for multiplexing. - * If the user summons: - * - * `io('http://localhost/a');` - * `io('http://localhost/b');` - * - * We reuse the existing instance based on same scheme/port/host, - * and we initialize sockets for each namespace. - * - * @api public - */ - -function lookup(uri, opts) { - if ((typeof uri === 'undefined' ? 'undefined' : _typeof(uri)) === 'object') { - opts = uri; - uri = undefined; - } + // default to window.location + loc = loc || global.location; + if (null == uri) uri = loc.protocol + '//' + loc.host; - opts = opts || {}; + // relative path support + if ('string' === typeof uri) { + if ('/' === uri.charAt(0)) { + if ('/' === uri.charAt(1)) { + uri = loc.protocol + uri; + } else { + uri = loc.host + uri; + } + } - var parsed = url(uri); - var source = parsed.source; - var id = parsed.id; - var path = parsed.path; - var sameNamespace = cache[id] && path in cache[id].nsps; - var newConnection = opts.forceNew || opts['force new connection'] || false === opts.multiplex || sameNamespace; + if (!/^(https?|wss?):\/\//.test(uri)) { + debug('protocol-less url %s', uri); + if ('undefined' !== typeof loc) { + uri = loc.protocol + '//' + uri; + } else { + uri = 'https://' + uri; + } + } - var io; + // parse + debug('parse %s', uri); + obj = parseuri(uri); + } - if (newConnection) { - debug('ignoring socket cache for %s', source); - io = Manager(source, opts); - } else { - if (!cache[id]) { - debug('new io instance for %s', source); - cache[id] = Manager(source, opts); + // make sure we treat `localhost:80` and `localhost` equally + if (!obj.port) { + if (/^(http|ws)$/.test(obj.protocol)) { + obj.port = '80'; + } else if (/^(http|ws)s$/.test(obj.protocol)) { + obj.port = '443'; } - io = cache[id]; - } - if (parsed.query && !opts.query) { - opts.query = parsed.query; } - return io.socket(parsed.path, opts); -} - -/** - * Protocol version. - * - * @api public - */ - -exports.protocol = parser.protocol; -/** - * `connect`. - * - * @param {String} uri - * @api public - */ + obj.path = obj.path || '/'; -exports.connect = lookup; + var ipv6 = obj.host.indexOf(':') !== -1; + var host = ipv6 ? '[' + obj.host + ']' : obj.host; -/** - * Expose constructors for standalone build. - * - * @api public - */ + // define unique id + obj.id = obj.protocol + '://' + host + ':' + obj.port; + // define href + obj.href = obj.protocol + '://' + host + (loc && loc.port === obj.port ? '' : ':' + obj.port); -exports.Manager = require('./manager'); -exports.Socket = require('./socket'); + return obj; +} -},{"./manager":752,"./socket":754,"./url":755,"debug":756,"socket.io-parser":759}],752:[function(require,module,exports){ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"debug":754,"parseuri":697}],754:[function(require,module,exports){ +arguments[4][637][0].apply(exports,arguments) +},{"./debug":755,"_process":704,"dup":637}],755:[function(require,module,exports){ +arguments[4][638][0].apply(exports,arguments) +},{"dup":638,"ms":690}],756:[function(require,module,exports){ +(function (global){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +/*global Blob,File*/ + /** - * Module dependencies. + * Module requirements */ -var eio = require('engine.io-client'); -var Socket = require('./socket'); -var Emitter = require('component-emitter'); -var parser = require('socket.io-parser'); -var on = require('./on'); -var bind = require('component-bind'); -var debug = require('debug')('socket.io-client:manager'); -var indexOf = require('indexof'); -var Backoff = require('backo2'); +var isArray = require('isarray'); +var isBuf = require('./is-buffer'); +var toString = Object.prototype.toString; +var withNativeBlob = typeof global.Blob === 'function' || toString.call(global.Blob) === '[object BlobConstructor]'; +var withNativeFile = typeof global.File === 'function' || toString.call(global.File) === '[object FileConstructor]'; /** - * IE6+ hasOwnProperty + * Replaces every Buffer | ArrayBuffer in packet with a numbered placeholder. + * Anything with blobs or files should be fed through removeBlobs before coming + * here. + * + * @param {Object} packet - socket.io event packet + * @return {Object} with deconstructed packet and list of buffers + * @api public */ -var has = Object.prototype.hasOwnProperty; +exports.deconstructPacket = function (packet) { + var buffers = []; + var packetData = packet.data; + var pack = packet; + pack.data = _deconstructPacket(packetData, buffers); + pack.attachments = buffers.length; // number of binary 'attachments' + return { packet: pack, buffers: buffers }; +}; -/** - * Module exports - */ +function _deconstructPacket(data, buffers) { + if (!data) return data; -module.exports = Manager; + if (isBuf(data)) { + var placeholder = { _placeholder: true, num: buffers.length }; + buffers.push(data); + return placeholder; + } else if (isArray(data)) { + var newData = new Array(data.length); + for (var i = 0; i < data.length; i++) { + newData[i] = _deconstructPacket(data[i], buffers); + } + return newData; + } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && !(data instanceof Date)) { + var newData = {}; + for (var key in data) { + newData[key] = _deconstructPacket(data[key], buffers); + } + return newData; + } + return data; +} /** - * `Manager` constructor. + * Reconstructs a binary packet from its placeholder packet and buffers * - * @param {String} engine instance or engine uri/opts - * @param {Object} options + * @param {Object} packet - event packet with placeholders + * @param {Array} buffers - binary buffers to put in placeholder positions + * @return {Object} reconstructed packet * @api public */ -function Manager(uri, opts) { - if (!(this instanceof Manager)) return new Manager(uri, opts); - if (uri && 'object' === (typeof uri === 'undefined' ? 'undefined' : _typeof(uri))) { - opts = uri; - uri = undefined; +exports.reconstructPacket = function (packet, buffers) { + packet.data = _reconstructPacket(packet.data, buffers); + packet.attachments = undefined; // no longer useful + return packet; +}; + +function _reconstructPacket(data, buffers) { + if (!data) return data; + + if (data && data._placeholder) { + return buffers[data.num]; // appropriate buffer (should be natural order anyway) + } else if (isArray(data)) { + for (var i = 0; i < data.length; i++) { + data[i] = _reconstructPacket(data[i], buffers); + } + } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') { + for (var key in data) { + data[key] = _reconstructPacket(data[key], buffers); + } } - opts = opts || {}; - opts.path = opts.path || '/socket.io'; - this.nsps = {}; - this.subs = []; - this.opts = opts; - this.reconnection(opts.reconnection !== false); - this.reconnectionAttempts(opts.reconnectionAttempts || Infinity); - this.reconnectionDelay(opts.reconnectionDelay || 1000); - this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000); - this.randomizationFactor(opts.randomizationFactor || 0.5); - this.backoff = new Backoff({ - min: this.reconnectionDelay(), - max: this.reconnectionDelayMax(), - jitter: this.randomizationFactor() - }); - this.timeout(null == opts.timeout ? 20000 : opts.timeout); - this.readyState = 'closed'; - this.uri = uri; - this.connecting = []; - this.lastPing = null; - this.encoding = false; - this.packetBuffer = []; - var _parser = opts.parser || parser; - this.encoder = new _parser.Encoder(); - this.decoder = new _parser.Decoder(); - this.autoConnect = opts.autoConnect !== false; - if (this.autoConnect) this.open(); + return data; } /** - * Propagate given event to sockets and emit on `this` + * Asynchronously removes Blobs or Files from data via + * FileReader's readAsArrayBuffer method. Used before encoding + * data as msgpack. Calls callback with the blobless data. * + * @param {Object} data + * @param {Function} callback * @api private */ -Manager.prototype.emitAll = function () { - this.emit.apply(this, arguments); - for (var nsp in this.nsps) { - if (has.call(this.nsps, nsp)) { - this.nsps[nsp].emit.apply(this.nsps[nsp], arguments); - } - } -}; +exports.removeBlobs = function (data, callback) { + function _removeBlobs(obj, curKey, containingObject) { + if (!obj) return obj; -/** - * Update `socket.id` of all sockets - * - * @api private - */ + // convert any blob + if (withNativeBlob && obj instanceof Blob || withNativeFile && obj instanceof File) { + pendingBlobs++; -Manager.prototype.updateSocketIds = function () { - for (var nsp in this.nsps) { - if (has.call(this.nsps, nsp)) { - this.nsps[nsp].id = this.generateId(nsp); + // async filereader + var fileReader = new FileReader(); + fileReader.onload = function () { + // this.result == arraybuffer + if (containingObject) { + containingObject[curKey] = this.result; + } else { + bloblessData = this.result; + } + + // if nothing pending its callback time + if (! --pendingBlobs) { + callback(bloblessData); + } + }; + + fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer + } else if (isArray(obj)) { + // handle array + for (var i = 0; i < obj.length; i++) { + _removeBlobs(obj[i], i, obj); + } + } else if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && !isBuf(obj)) { + // and object + for (var key in obj) { + _removeBlobs(obj[key], key, obj); + } } } + + var pendingBlobs = 0; + var bloblessData = data; + _removeBlobs(bloblessData); + if (!pendingBlobs) { + callback(bloblessData); + } }; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./is-buffer":758,"isarray":761}],757:[function(require,module,exports){ +'use strict'; + /** - * generate `socket.id` for the given `nsp` - * - * @param {String} nsp - * @return {String} - * @api private + * Module dependencies. */ -Manager.prototype.generateId = function (nsp) { - return (nsp === '/' ? '' : nsp + '#') + this.engine.id; -}; +var debug = require('debug')('socket.io-parser'); +var Emitter = require('component-emitter'); +var binary = require('./binary'); +var isArray = require('isarray'); +var isBuf = require('./is-buffer'); /** - * Mix in `Emitter`. + * Protocol version. + * + * @api public */ -Emitter(Manager.prototype); +exports.protocol = 4; /** - * Sets the `reconnection` config. + * Packet types. * - * @param {Boolean} true/false if it should automatically reconnect - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnection = function (v) { - if (!arguments.length) return this._reconnection; - this._reconnection = !!v; - return this; -}; +exports.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']; /** - * Sets the reconnection attempts config. + * Packet type `connect`. * - * @param {Number} max reconnection attempts before giving up - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnectionAttempts = function (v) { - if (!arguments.length) return this._reconnectionAttempts; - this._reconnectionAttempts = v; - return this; -}; +exports.CONNECT = 0; /** - * Sets the delay between reconnections. + * Packet type `disconnect`. * - * @param {Number} delay - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnectionDelay = function (v) { - if (!arguments.length) return this._reconnectionDelay; - this._reconnectionDelay = v; - this.backoff && this.backoff.setMin(v); - return this; -}; - -Manager.prototype.randomizationFactor = function (v) { - if (!arguments.length) return this._randomizationFactor; - this._randomizationFactor = v; - this.backoff && this.backoff.setJitter(v); - return this; -}; +exports.DISCONNECT = 1; /** - * Sets the maximum delay between reconnections. + * Packet type `event`. * - * @param {Number} delay - * @return {Manager} self or value * @api public */ -Manager.prototype.reconnectionDelayMax = function (v) { - if (!arguments.length) return this._reconnectionDelayMax; - this._reconnectionDelayMax = v; - this.backoff && this.backoff.setMax(v); - return this; -}; +exports.EVENT = 2; /** - * Sets the connection timeout. `false` to disable + * Packet type `ack`. * - * @return {Manager} self or value * @api public */ -Manager.prototype.timeout = function (v) { - if (!arguments.length) return this._timeout; - this._timeout = v; - return this; -}; +exports.ACK = 3; /** - * Starts trying to reconnect if reconnection is enabled and we have not - * started reconnecting yet + * Packet type `error`. * - * @api private + * @api public */ -Manager.prototype.maybeReconnectOnOpen = function () { - // Only try to reconnect if it's the first time we're connecting - if (!this.reconnecting && this._reconnection && this.backoff.attempts === 0) { - // keeps reconnection from firing twice for the same reconnection loop - this.reconnect(); - } -}; +exports.ERROR = 4; /** - * Sets the current transport `socket`. + * Packet type 'binary event' * - * @param {Function} optional, callback - * @return {Manager} self * @api public */ -Manager.prototype.open = Manager.prototype.connect = function (fn, opts) { - debug('readyState %s', this.readyState); - if (~this.readyState.indexOf('open')) return this; - - debug('opening %s', this.uri); - this.engine = eio(this.uri, this.opts); - var socket = this.engine; - var self = this; - this.readyState = 'opening'; - this.skipReconnect = false; - - // emit `open` - var openSub = on(socket, 'open', function () { - self.onopen(); - fn && fn(); - }); - - // emit `connect_error` - var errorSub = on(socket, 'error', function (data) { - debug('connect_error'); - self.cleanup(); - self.readyState = 'closed'; - self.emitAll('connect_error', data); - if (fn) { - var err = new Error('Connection error'); - err.data = data; - fn(err); - } else { - // Only do this if there is no fn to handle the error - self.maybeReconnectOnOpen(); - } - }); - - // emit `connect_timeout` - if (false !== this._timeout) { - var timeout = this._timeout; - debug('connect attempt will timeout after %d', timeout); - - // set timer - var timer = setTimeout(function () { - debug('connect attempt timed out after %d', timeout); - openSub.destroy(); - socket.close(); - socket.emit('error', 'timeout'); - self.emitAll('connect_timeout', timeout); - }, timeout); - - this.subs.push({ - destroy: function destroy() { - clearTimeout(timer); - } - }); - } - - this.subs.push(openSub); - this.subs.push(errorSub); - - return this; -}; +exports.BINARY_EVENT = 5; /** - * Called upon transport open. + * Packet type `binary ack`. For acks with binary arguments. * - * @api private + * @api public */ -Manager.prototype.onopen = function () { - debug('open'); - - // clear old subs - this.cleanup(); - - // mark as open - this.readyState = 'open'; - this.emit('open'); - - // add new subs - var socket = this.engine; - this.subs.push(on(socket, 'data', bind(this, 'ondata'))); - this.subs.push(on(socket, 'ping', bind(this, 'onping'))); - this.subs.push(on(socket, 'pong', bind(this, 'onpong'))); - this.subs.push(on(socket, 'error', bind(this, 'onerror'))); - this.subs.push(on(socket, 'close', bind(this, 'onclose'))); - this.subs.push(on(this.decoder, 'decoded', bind(this, 'ondecoded'))); -}; +exports.BINARY_ACK = 6; /** - * Called upon a ping. + * Encoder constructor. * - * @api private + * @api public */ -Manager.prototype.onping = function () { - this.lastPing = new Date(); - this.emitAll('ping'); -}; +exports.Encoder = Encoder; /** - * Called upon a packet. + * Decoder constructor. * - * @api private + * @api public */ -Manager.prototype.onpong = function () { - this.emitAll('pong', new Date() - this.lastPing); -}; +exports.Decoder = Decoder; /** - * Called with data. + * A socket.io Encoder instance * - * @api private + * @api public */ -Manager.prototype.ondata = function (data) { - this.decoder.add(data); -}; +function Encoder() {} + +var ERROR_PACKET = exports.ERROR + '"encode error"'; /** - * Called when parser fully decodes a packet. + * Encode a packet as a single string if non-binary, or as a + * buffer sequence, depending on packet type. * - * @api private + * @param {Object} obj - packet object + * @param {Function} callback - function to handle encodings (likely engine.write) + * @return Calls callback with Array of encodings + * @api public */ -Manager.prototype.ondecoded = function (packet) { - this.emit('packet', packet); +Encoder.prototype.encode = function (obj, callback) { + debug('encoding packet %j', obj); + + if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { + encodeAsBinary(obj, callback); + } else { + var encoding = encodeAsString(obj); + callback([encoding]); + } }; /** - * Called upon socket error. + * Encode packet as string. * + * @param {Object} packet + * @return {String} encoded * @api private */ -Manager.prototype.onerror = function (err) { - debug('error', err); - this.emitAll('error', err); -}; - -/** - * Creates a new socket for the given `nsp`. - * - * @return {Socket} - * @api public - */ +function encodeAsString(obj) { -Manager.prototype.socket = function (nsp, opts) { - var socket = this.nsps[nsp]; - if (!socket) { - socket = new Socket(this, nsp, opts); - this.nsps[nsp] = socket; - var self = this; - socket.on('connecting', onConnecting); - socket.on('connect', function () { - socket.id = self.generateId(nsp); - }); + // first is type + var str = '' + obj.type; - if (this.autoConnect) { - // manually call here since connecting event is fired before listening - onConnecting(); - } + // attachments if we have them + if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { + str += obj.attachments + '-'; } - function onConnecting() { - if (!~indexOf(self.connecting, socket)) { - self.connecting.push(socket); - } + // if we have a namespace other than `/` + // we append it followed by a comma `,` + if (obj.nsp && '/' !== obj.nsp) { + str += obj.nsp + ','; } - return socket; -}; + // immediately followed by the id + if (null != obj.id) { + str += obj.id; + } -/** - * Called upon a socket close. - * - * @param {Socket} socket - */ + // json data + if (null != obj.data) { + var payload = tryStringify(obj.data); + if (payload !== false) { + str += payload; + } else { + return ERROR_PACKET; + } + } -Manager.prototype.destroy = function (socket) { - var index = indexOf(this.connecting, socket); - if (~index) this.connecting.splice(index, 1); - if (this.connecting.length) return; + debug('encoded %j as %s', obj, str); + return str; +} - this.close(); -}; +function tryStringify(str) { + try { + return JSON.stringify(str); + } catch (e) { + return false; + } +} /** - * Writes a packet. + * Encode packet as 'buffer sequence' by removing blobs, and + * deconstructing packet into object with placeholders and + * a list of buffers. * * @param {Object} packet + * @return {Buffer} encoded * @api private */ -Manager.prototype.packet = function (packet) { - debug('writing packet %j', packet); - var self = this; - if (packet.query && packet.type === 0) packet.nsp += '?' + packet.query; - - if (!self.encoding) { - // encode, then write to engine with result - self.encoding = true; - this.encoder.encode(packet, function (encodedPackets) { - for (var i = 0; i < encodedPackets.length; i++) { - self.engine.write(encodedPackets[i], packet.options); - } - self.encoding = false; - self.processPacketQueue(); - }); - } else { - // add packet to the queue - self.packetBuffer.push(packet); - } -}; +function encodeAsBinary(obj, callback) { -/** - * If packet buffer is non-empty, begins encoding the - * next packet in line. - * - * @api private - */ + function writeEncoding(bloblessData) { + var deconstruction = binary.deconstructPacket(bloblessData); + var pack = encodeAsString(deconstruction.packet); + var buffers = deconstruction.buffers; -Manager.prototype.processPacketQueue = function () { - if (this.packetBuffer.length > 0 && !this.encoding) { - var pack = this.packetBuffer.shift(); - this.packet(pack); + buffers.unshift(pack); // add packet info to beginning of data list + callback(buffers); // write all the buffers } -}; + + binary.removeBlobs(obj, writeEncoding); +} /** - * Clean up transport subscriptions and packet buffer. + * A socket.io Decoder instance * - * @api private + * @return {Object} decoder + * @api public */ -Manager.prototype.cleanup = function () { - debug('cleanup'); - - var subsLength = this.subs.length; - for (var i = 0; i < subsLength; i++) { - var sub = this.subs.shift(); - sub.destroy(); - } - - this.packetBuffer = []; - this.encoding = false; - this.lastPing = null; - - this.decoder.destroy(); -}; +function Decoder() { + this.reconstructor = null; +} /** - * Close the current socket. - * - * @api private + * Mix in `Emitter` with Decoder. */ -Manager.prototype.close = Manager.prototype.disconnect = function () { - debug('disconnect'); - this.skipReconnect = true; - this.reconnecting = false; - if ('opening' === this.readyState) { - // `onclose` will not fire because - // an open event never happened - this.cleanup(); - } - this.backoff.reset(); - this.readyState = 'closed'; - if (this.engine) this.engine.close(); -}; +Emitter(Decoder.prototype); /** - * Called upon engine close. + * Decodes an ecoded packet string into packet JSON. * - * @api private + * @param {String} obj - encoded packet + * @return {Object} packet + * @api public */ -Manager.prototype.onclose = function (reason) { - debug('onclose'); - - this.cleanup(); - this.backoff.reset(); - this.readyState = 'closed'; - this.emit('close', reason); +Decoder.prototype.add = function (obj) { + var packet; + if (typeof obj === 'string') { + packet = decodeString(obj); + if (exports.BINARY_EVENT === packet.type || exports.BINARY_ACK === packet.type) { + // binary packet's json + this.reconstructor = new BinaryReconstructor(packet); - if (this._reconnection && !this.skipReconnect) { - this.reconnect(); + // no attachments, labeled binary but no binary data to follow + if (this.reconstructor.reconPack.attachments === 0) { + this.emit('decoded', packet); + } + } else { + // non-binary full packet + this.emit('decoded', packet); + } + } else if (isBuf(obj) || obj.base64) { + // raw binary data + if (!this.reconstructor) { + throw new Error('got binary data when not reconstructing a packet'); + } else { + packet = this.reconstructor.takeBinaryData(obj); + if (packet) { + // received final buffer + this.reconstructor = null; + this.emit('decoded', packet); + } + } + } else { + throw new Error('Unknown type: ' + obj); } }; /** - * Attempt a reconnection. + * Decode a packet String (JSON data) * + * @param {String} str + * @return {Object} packet * @api private */ -Manager.prototype.reconnect = function () { - if (this.reconnecting || this.skipReconnect) return this; +function decodeString(str) { + var i = 0; + // look up type + var p = { + type: Number(str.charAt(0)) + }; - var self = this; + if (null == exports.types[p.type]) { + return error('unknown packet type ' + p.type); + } - if (this.backoff.attempts >= this._reconnectionAttempts) { - debug('reconnect failed'); - this.backoff.reset(); - this.emitAll('reconnect_failed'); - this.reconnecting = false; + // look up attachments if type binary + if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) { + var buf = ''; + while (str.charAt(++i) !== '-') { + buf += str.charAt(i); + if (i == str.length) break; + } + if (buf != Number(buf) || str.charAt(i) !== '-') { + throw new Error('Illegal attachments'); + } + p.attachments = Number(buf); + } + + // look up namespace (if any) + if ('/' === str.charAt(i + 1)) { + p.nsp = ''; + while (++i) { + var c = str.charAt(i); + if (',' === c) break; + p.nsp += c; + if (i === str.length) break; + } } else { - var delay = this.backoff.duration(); - debug('will wait %dms before reconnect attempt', delay); + p.nsp = '/'; + } - this.reconnecting = true; - var timer = setTimeout(function () { - if (self.skipReconnect) return; + // look up id + var next = str.charAt(i + 1); + if ('' !== next && Number(next) == next) { + p.id = ''; + while (++i) { + var c = str.charAt(i); + if (null == c || Number(c) != c) { + --i; + break; + } + p.id += str.charAt(i); + if (i === str.length) break; + } + p.id = Number(p.id); + } - debug('attempting reconnect'); - self.emitAll('reconnect_attempt', self.backoff.attempts); - self.emitAll('reconnecting', self.backoff.attempts); + // look up json data + if (str.charAt(++i)) { + var payload = tryParse(str.substr(i)); + var isPayloadValid = payload !== false && (p.type === exports.ERROR || isArray(payload)); + if (isPayloadValid) { + p.data = payload; + } else { + return error('invalid payload'); + } + } - // check again for the case socket closed in above events - if (self.skipReconnect) return; + debug('decoded %s as %j', str, p); + return p; +} - self.open(function (err) { - if (err) { - debug('reconnect attempt error'); - self.reconnecting = false; - self.reconnect(); - self.emitAll('reconnect_error', err.data); - } else { - debug('reconnect success'); - self.onreconnect(); - } - }); - }, delay); +function tryParse(str) { + try { + return JSON.parse(str); + } catch (e) { + return false; + } +} - this.subs.push({ - destroy: function destroy() { - clearTimeout(timer); - } - }); +/** + * Deallocates a parser's resources + * + * @api public + */ + +Decoder.prototype.destroy = function () { + if (this.reconstructor) { + this.reconstructor.finishedReconstruction(); } }; /** - * Called upon successful reconnect. + * A manager of a binary event's 'buffer sequence'. Should + * be constructed whenever a packet of type BINARY_EVENT is + * decoded. * + * @param {Object} packet + * @return {BinaryReconstructor} initialized reconstructor * @api private */ -Manager.prototype.onreconnect = function () { - var attempt = this.backoff.attempts; - this.reconnecting = false; - this.backoff.reset(); - this.updateSocketIds(); - this.emitAll('reconnect', attempt); -}; - -},{"./on":753,"./socket":754,"backo2":210,"component-bind":264,"component-emitter":265,"debug":756,"engine.io-client":628,"indexof":670,"socket.io-parser":759}],753:[function(require,module,exports){ -"use strict"; +function BinaryReconstructor(packet) { + this.reconPack = packet; + this.buffers = []; +} /** - * Module exports. + * Method to be called when binary data received from connection + * after a BINARY_EVENT packet. + * + * @param {Buffer | ArrayBuffer} binData - the raw binary data received + * @return {null | Object} returns null if more binary data is expected or + * a reconstructed packet object if all buffers have been received. + * @api private */ -module.exports = on; +BinaryReconstructor.prototype.takeBinaryData = function (binData) { + this.buffers.push(binData); + if (this.buffers.length === this.reconPack.attachments) { + // done with buffer list + var packet = binary.reconstructPacket(this.reconPack, this.buffers); + this.finishedReconstruction(); + return packet; + } + return null; +}; /** - * Helper for subscriptions. + * Cleans up binary packet reconstruction variables. * - * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter` - * @param {String} event name - * @param {Function} callback - * @api public + * @api private */ -function on(obj, ev, fn) { - obj.on(ev, fn); +BinaryReconstructor.prototype.finishedReconstruction = function () { + this.reconPack = null; + this.buffers = []; +}; + +function error(msg) { return { - destroy: function destroy() { - obj.removeListener(ev, fn); - } + type: exports.ERROR, + data: 'parser error: ' + msg }; } -},{}],754:[function(require,module,exports){ +},{"./binary":756,"./is-buffer":758,"component-emitter":265,"debug":759,"isarray":761}],758:[function(require,module,exports){ +(function (global){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/** - * Module dependencies. - */ - -var parser = require('socket.io-parser'); -var Emitter = require('component-emitter'); -var toArray = require('to-array'); -var on = require('./on'); -var bind = require('component-bind'); -var debug = require('debug')('socket.io-client:socket'); -var parseqs = require('parseqs'); -var hasBin = require('has-binary2'); +module.exports = isBuf; -/** - * Module exports. - */ +var withNativeBuffer = typeof global.Buffer === 'function' && typeof global.Buffer.isBuffer === 'function'; +var withNativeArrayBuffer = typeof global.ArrayBuffer === 'function'; -module.exports = exports = Socket; +var isView = function () { + if (withNativeArrayBuffer && typeof global.ArrayBuffer.isView === 'function') { + return global.ArrayBuffer.isView; + } else { + return function (obj) { + return obj.buffer instanceof global.ArrayBuffer; + }; + } +}(); /** - * Internal events (blacklisted). - * These events can't be emitted by the user. + * Returns true if obj is a buffer or an arraybuffer. * * @api private */ -var events = { - connect: 1, - connect_error: 1, - connect_timeout: 1, - connecting: 1, - disconnect: 1, - error: 1, - reconnect: 1, - reconnect_attempt: 1, - reconnect_failed: 1, - reconnect_error: 1, - reconnecting: 1, - ping: 1, - pong: 1 -}; +function isBuf(obj) { + return withNativeBuffer && global.Buffer.isBuffer(obj) || withNativeArrayBuffer && (obj instanceof global.ArrayBuffer || isView(obj)); +} -/** - * Shortcut to `Emitter#emit`. - */ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],759:[function(require,module,exports){ +arguments[4][637][0].apply(exports,arguments) +},{"./debug":760,"_process":704,"dup":637}],760:[function(require,module,exports){ +arguments[4][638][0].apply(exports,arguments) +},{"dup":638,"ms":690}],761:[function(require,module,exports){ +arguments[4][650][0].apply(exports,arguments) +},{"dup":650}],762:[function(require,module,exports){ +'use strict'; -var emit = Emitter.prototype.emit; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -/** - * `Socket` constructor. - * - * @api public - */ +module.exports = Stream; -function Socket(io, nsp, opts) { - this.io = io; - this.nsp = nsp; - this.json = this; // compat - this.ids = 0; - this.acks = {}; - this.receiveBuffer = []; - this.sendBuffer = []; - this.connected = false; - this.disconnected = true; - this.flags = {}; - if (opts && opts.query) { - this.query = opts.query; - } - if (this.io.autoConnect) this.open(); -} +var EE = require('events').EventEmitter; +var inherits = require('inherits'); -/** - * Mix in `Emitter`. - */ +inherits(Stream, EE); +Stream.Readable = require('readable-stream/readable.js'); +Stream.Writable = require('readable-stream/writable.js'); +Stream.Duplex = require('readable-stream/duplex.js'); +Stream.Transform = require('readable-stream/transform.js'); +Stream.PassThrough = require('readable-stream/passthrough.js'); -Emitter(Socket.prototype); +// Backwards-compat with node 0.4.x +Stream.Stream = Stream; -/** - * Subscribe to open, close and packet events - * - * @api private - */ +// old-style streams. Note that the pipe method (the only relevant +// part of this class) is overridden in the Readable class. -Socket.prototype.subEvents = function () { - if (this.subs) return; +function Stream() { + EE.call(this); +} - var io = this.io; - this.subs = [on(io, 'open', bind(this, 'onopen')), on(io, 'packet', bind(this, 'onpacket')), on(io, 'close', bind(this, 'onclose'))]; -}; +Stream.prototype.pipe = function (dest, options) { + var source = this; -/** - * "Opens" the socket. - * - * @api public - */ + function ondata(chunk) { + if (dest.writable) { + if (false === dest.write(chunk) && source.pause) { + source.pause(); + } + } + } -Socket.prototype.open = Socket.prototype.connect = function () { - if (this.connected) return this; + source.on('data', ondata); - this.subEvents(); - this.io.open(); // ensure open - if ('open' === this.io.readyState) this.onopen(); - this.emit('connecting'); - return this; -}; + function ondrain() { + if (source.readable && source.resume) { + source.resume(); + } + } -/** - * Sends a `message` event. - * - * @return {Socket} self - * @api public - */ + dest.on('drain', ondrain); -Socket.prototype.send = function () { - var args = toArray(arguments); - args.unshift('message'); - this.emit.apply(this, args); - return this; -}; + // If the 'end' option is not supplied, dest.end() will be called when + // source gets the 'end' or 'close' events. Only dest.end() once. + if (!dest._isStdio && (!options || options.end !== false)) { + source.on('end', onend); + source.on('close', onclose); + } -/** - * Override `emit`. - * If the event is in `events`, it's emitted normally. - * - * @param {String} event name - * @return {Socket} self - * @api public - */ + var didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; -Socket.prototype.emit = function (ev) { - if (events.hasOwnProperty(ev)) { - emit.apply(this, arguments); - return this; + dest.end(); } - var args = toArray(arguments); - var packet = { - type: (this.flags.binary !== undefined ? this.flags.binary : hasBin(args)) ? parser.BINARY_EVENT : parser.EVENT, - data: args - }; - - packet.options = {}; - packet.options.compress = !this.flags || false !== this.flags.compress; + function onclose() { + if (didOnEnd) return; + didOnEnd = true; - // event ack callback - if ('function' === typeof args[args.length - 1]) { - debug('emitting packet with ack id %d', this.ids); - this.acks[this.ids] = args.pop(); - packet.id = this.ids++; + if (typeof dest.destroy === 'function') dest.destroy(); } - if (this.connected) { - this.packet(packet); - } else { - this.sendBuffer.push(packet); + // don't leave dangling pipes when there are errors. + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, 'error') === 0) { + throw er; // Unhandled stream error in pipe. + } } - this.flags = {}; - - return this; -}; + source.on('error', onerror); + dest.on('error', onerror); -/** - * Sends a packet. - * - * @param {Object} packet - * @api private - */ + // remove all the event listeners that were added. + function cleanup() { + source.removeListener('data', ondata); + dest.removeListener('drain', ondrain); -Socket.prototype.packet = function (packet) { - packet.nsp = this.nsp; - this.io.packet(packet); -}; + source.removeListener('end', onend); + source.removeListener('close', onclose); -/** - * Called upon engine `open`. - * - * @api private - */ + source.removeListener('error', onerror); + dest.removeListener('error', onerror); -Socket.prototype.onopen = function () { - debug('transport is open - connecting'); + source.removeListener('end', cleanup); + source.removeListener('close', cleanup); - // write connect packet if necessary - if ('/' !== this.nsp) { - if (this.query) { - var query = _typeof(this.query) === 'object' ? parseqs.encode(this.query) : this.query; - debug('sending connect packet with query %s', query); - this.packet({ type: parser.CONNECT, query: query }); - } else { - this.packet({ type: parser.CONNECT }); - } + dest.removeListener('close', cleanup); } -}; -/** - * Called upon engine `close`. - * - * @param {String} reason - * @api private - */ + source.on('end', cleanup); + source.on('close', cleanup); -Socket.prototype.onclose = function (reason) { - debug('close (%s)', reason); - this.connected = false; - this.disconnected = true; - delete this.id; - this.emit('disconnect', reason); + dest.on('close', cleanup); + + dest.emit('pipe', source); + + // Allow for unix-like usage: A.pipe(B).pipe(C) + return dest; }; -/** - * Called with socket packet. - * - * @param {Object} packet - * @api private - */ +},{"events":646,"inherits":671,"readable-stream/duplex.js":713,"readable-stream/passthrough.js":722,"readable-stream/readable.js":723,"readable-stream/transform.js":724,"readable-stream/writable.js":725}],763:[function(require,module,exports){ +'use strict'; -Socket.prototype.onpacket = function (packet) { - var sameNamespace = packet.nsp === this.nsp; - var rootNamespaceError = packet.type === parser.ERROR && packet.nsp === '/'; +// Generated by CoffeeScript 1.8.0 +(function () { + var ValueError, + create, + explicitToImplicit, + format, + implicitToExplicit, + lookup, + resolve, + __hasProp = {}.hasOwnProperty, + __extends = function __extends(child, parent) { + for (var key in parent) { + if (__hasProp.call(parent, key)) child[key] = parent[key]; + }function ctor() { + this.constructor = child; + }ctor.prototype = parent.prototype;child.prototype = new ctor();child.__super__ = parent.prototype;return child; + }, + __slice = [].slice; - if (!sameNamespace && !rootNamespaceError) return; + ValueError = function (_super) { + __extends(ValueError, _super); - switch (packet.type) { - case parser.CONNECT: - this.onconnect(); - break; + function ValueError(message) { + this.message = message; + } - case parser.EVENT: - this.onevent(packet); - break; + ValueError.prototype.name = 'ValueError'; - case parser.BINARY_EVENT: - this.onevent(packet); - break; + return ValueError; + }(Error); - case parser.ACK: - this.onack(packet); - break; + implicitToExplicit = 'cannot switch from implicit to explicit numbering'; - case parser.BINARY_ACK: - this.onack(packet); - break; + explicitToImplicit = 'cannot switch from explicit to implicit numbering'; - case parser.DISCONNECT: - this.ondisconnect(); - break; + create = function create(transformers) { + if (transformers == null) { + transformers = {}; + } + return function () { + var args, explicit, idx, implicit, message, template; + template = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + idx = 0; + explicit = implicit = false; + message = 'cannot switch from {} to {} numbering'; + return template.replace(/([{}])\1|[{](.*?)(?:!(.+?))?[}]/g, function (match, literal, key, transformer) { + var value, _ref, _ref1; + if (literal) { + return literal; + } + if (key.length) { + if (implicit) { + throw new ValueError(implicitToExplicit); + } + explicit = true; + value = (_ref = lookup(args, key)) != null ? _ref : ''; + } else { + if (explicit) { + throw new ValueError(explicitToImplicit); + } + implicit = true; + value = (_ref1 = args[idx++]) != null ? _ref1 : ''; + } + if (Object.prototype.hasOwnProperty.call(transformers, transformer)) { + return transformers[transformer](value); + } else { + return value; + } + }); + }; + }; - case parser.ERROR: - this.emit('error', packet.data); - break; - } -}; + lookup = function lookup(object, key) { + var match; + if (!/^(\d+)([.]|$)/.test(key)) { + key = '0.' + key; + } + while (match = /(.+?)[.](.+)/.exec(key)) { + object = resolve(object, match[1]); + key = match[2]; + } + return resolve(object, key); + }; -/** - * Called upon a server event. - * - * @param {Object} packet - * @api private - */ + resolve = function resolve(object, key) { + var value; + value = object[key]; + if (typeof value === 'function') { + return value.call(object); + } else { + return value; + } + }; -Socket.prototype.onevent = function (packet) { - var args = packet.data || []; - debug('emitting event %j', args); + format = create({}); - if (null != packet.id) { - debug('attaching ack callback to event'); - args.push(this.ack(packet.id)); - } + format.create = create; - if (this.connected) { - emit.apply(this, args); + format.extend = function (prototype, transformers) { + var $format; + $format = create(transformers); + prototype.format = function () { + return $format.apply(null, [this].concat(__slice.call(arguments))); + }; + }; + + if (typeof module !== 'undefined') { + module.exports = format; + } else if (typeof define === 'function' && define.amd) { + define(format); } else { - this.receiveBuffer.push(args); + window.format = format; } -}; +}).call(undefined); -/** - * Produces an ack callback to emit with an event. - * - * @api private - */ +},{}],764:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -Socket.prototype.ack = function (id) { - var self = this; - var sent = false; - return function () { - // prevent double callbacks - if (sent) return; - sent = true; - var args = toArray(arguments); - debug('sending ack %j', args); +'use strict'; - self.packet({ - type: hasBin(args) ? parser.BINARY_ACK : parser.ACK, - id: id, - data: args - }); - }; -}; +/**/ -/** - * Called upon a server acknowlegement. - * - * @param {Object} packet - * @api private - */ +var Buffer = require('safe-buffer').Buffer; +/**/ -Socket.prototype.onack = function (packet) { - var ack = this.acks[packet.id]; - if ('function' === typeof ack) { - debug('calling ack %s with %j', packet.id, packet.data); - ack.apply(this, packet.data); - delete this.acks[packet.id]; - } else { - debug('bad ack %s', packet.id); +var isEncoding = Buffer.isEncoding || function (encoding) { + encoding = '' + encoding; + switch (encoding && encoding.toLowerCase()) { + case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': + return true; + default: + return false; } }; -/** - * Called upon server connect. - * - * @api private - */ - -Socket.prototype.onconnect = function () { - this.connected = true; - this.disconnected = false; - this.emit('connect'); - this.emitBuffered(); +function _normalizeEncoding(enc) { + if (!enc) return 'utf8'; + var retried; + while (true) { + switch (enc) { + case 'utf8': + case 'utf-8': + return 'utf8'; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 'utf16le'; + case 'latin1': + case 'binary': + return 'latin1'; + case 'base64': + case 'ascii': + case 'hex': + return enc; + default: + if (retried) return; // undefined + enc = ('' + enc).toLowerCase(); + retried = true; + } + } }; -/** - * Emit buffered events (received and emitted). - * - * @api private - */ +// Do not cache `Buffer.isEncoding` when checking encoding names as some +// modules monkey-patch it to support additional encodings +function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); + return nenc || enc; +} -Socket.prototype.emitBuffered = function () { - var i; - for (i = 0; i < this.receiveBuffer.length; i++) { - emit.apply(this, this.receiveBuffer[i]); +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. +exports.StringDecoder = StringDecoder; +function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case 'utf16le': + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case 'utf8': + this.fillLast = utf8FillLast; + nb = 4; + break; + case 'base64': + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; } - this.receiveBuffer = []; + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); +} - for (i = 0; i < this.sendBuffer.length; i++) { - this.packet(this.sendBuffer[i]); +StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ''; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ''; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; } - this.sendBuffer = []; + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ''; }; -/** - * Called upon server disconnect. - * - * @api private - */ - -Socket.prototype.ondisconnect = function () { - debug('server disconnect (%s)', this.nsp); - this.destroy(); - this.onclose('io server disconnect'); -}; +StringDecoder.prototype.end = utf8End; -/** - * Called upon forced client/server side disconnections, - * this method ensures the manager stops tracking us and - * that reconnections don't get triggered for this. - * - * @api private. - */ +// Returns only complete characters in a Buffer +StringDecoder.prototype.text = utf8Text; -Socket.prototype.destroy = function () { - if (this.subs) { - // clean subscriptions to avoid reconnections - for (var i = 0; i < this.subs.length; i++) { - this.subs[i].destroy(); - } - this.subs = null; +// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer +StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); } - - this.io.destroy(this); + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; }; -/** - * Disconnects the socket manually. - * - * @return {Socket} self - * @api public - */ +// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a +// continuation byte. If an invalid byte is detected, -2 is returned. +function utf8CheckByte(byte) { + if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; + return byte >> 6 === 0x02 ? -1 : -2; +} -Socket.prototype.close = Socket.prototype.disconnect = function () { - if (this.connected) { - debug('performing disconnect (%s)', this.nsp); - this.packet({ type: parser.DISCONNECT }); +// Checks at most 3 bytes at the end of a Buffer in order to detect an +// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) +// needed to complete the UTF-8 character (if applicable) are returned. +function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; } - - // remove socket from pool - this.destroy(); - - if (this.connected) { - // fire events - this.onclose('io client disconnect'); + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; } - return this; -}; - -/** - * Sets the compress flag. - * - * @param {Boolean} if `true`, compresses the sending data - * @return {Socket} self - * @api public - */ - -Socket.prototype.compress = function (compress) { - this.flags.compress = compress; - return this; -}; - -/** - * Sets the binary flag - * - * @param {Boolean} whether the emitted data contains binary - * @return {Socket} self - * @api public - */ - -Socket.prototype.binary = function (binary) { - this.flags.binary = binary; - return this; -}; - -},{"./on":753,"component-bind":264,"component-emitter":265,"debug":756,"has-binary2":649,"parseqs":696,"socket.io-parser":759,"to-array":768}],755:[function(require,module,exports){ -(function (global){ -'use strict'; - -/** - * Module dependencies. - */ - -var parseuri = require('parseuri'); -var debug = require('debug')('socket.io-client:url'); - -/** - * Module exports. - */ - -module.exports = url; + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0;else self.lastNeed = nb - 3; + } + return nb; + } + return 0; +} -/** - * URL parser. - * - * @param {String} url - * @param {Object} An object meant to mimic window.location. - * Defaults to window.location. - * @api public - */ +// Validates as many continuation bytes for a multi-byte UTF-8 character as +// needed or are available. If we see a non-continuation byte where we expect +// one, we "replace" the validated continuation bytes we've seen so far with +// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding +// behavior. The continuation byte check is included three times in the case +// where all of the continuation bytes for a character exist in the same buffer. +// It is also done this way as a slight performance increase instead of using a +// loop. +function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xC0) !== 0x80) { + self.lastNeed = 0; + return '\uFFFD'; + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xC0) !== 0x80) { + self.lastNeed = 1; + return '\uFFFD'; + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xC0) !== 0x80) { + self.lastNeed = 2; + return '\uFFFD'; + } + } + } +} -function url(uri, loc) { - var obj = uri; +// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. +function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; +} - // default to window.location - loc = loc || global.location; - if (null == uri) uri = loc.protocol + '//' + loc.host; +// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a +// partial character, the character's bytes are buffered until the required +// number of bytes are available. +function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString('utf8', i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString('utf8', i, end); +} - // relative path support - if ('string' === typeof uri) { - if ('/' === uri.charAt(0)) { - if ('/' === uri.charAt(1)) { - uri = loc.protocol + uri; - } else { - uri = loc.host + uri; - } - } +// For UTF-8, a replacement character is added when ending on a partial +// character. +function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + '\uFFFD'; + return r; +} - if (!/^(https?|wss?):\/\//.test(uri)) { - debug('protocol-less url %s', uri); - if ('undefined' !== typeof loc) { - uri = loc.protocol + '//' + uri; - } else { - uri = 'https://' + uri; +// UTF-16LE typically needs two bytes per character, but even if we have an even +// number of bytes available, we need to check if we end on a leading/high +// surrogate. In that case, we need to wait for the next two bytes in order to +// decode the last character properly. +function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString('utf16le', i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xD800 && c <= 0xDBFF) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); } } - - // parse - debug('parse %s', uri); - obj = parseuri(uri); + return r; } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString('utf16le', i, buf.length - 1); +} - // make sure we treat `localhost:80` and `localhost` equally - if (!obj.port) { - if (/^(http|ws)$/.test(obj.protocol)) { - obj.port = '80'; - } else if (/^(http|ws)s$/.test(obj.protocol)) { - obj.port = '443'; - } +// For UTF-16LE we do not explicitly append special replacement characters if we +// end on a partial character, we simply let v8 handle that. +function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString('utf16le', 0, end); } + return r; +} - obj.path = obj.path || '/'; +function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString('base64', i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString('base64', i, buf.length - n); +} - var ipv6 = obj.host.indexOf(':') !== -1; - var host = ipv6 ? '[' + obj.host + ']' : obj.host; +function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); + return r; +} - // define unique id - obj.id = obj.protocol + '://' + host + ':' + obj.port; - // define href - obj.href = obj.protocol + '://' + host + (loc && loc.port === obj.port ? '' : ':' + obj.port); +// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) +function simpleWrite(buf) { + return buf.toString(this.encoding); +} - return obj; +function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ''; } -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"debug":756,"parseuri":697}],756:[function(require,module,exports){ -arguments[4][637][0].apply(exports,arguments) -},{"./debug":757,"_process":704,"dup":637}],757:[function(require,module,exports){ -arguments[4][638][0].apply(exports,arguments) -},{"dup":638,"ms":690}],758:[function(require,module,exports){ -(function (global){ +},{"safe-buffer":728}],765:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/*global Blob,File*/ - -/** - * Module requirements - */ - -var isArray = require('isarray'); -var isBuf = require('./is-buffer'); -var toString = Object.prototype.toString; -var withNativeBlob = typeof global.Blob === 'function' || toString.call(global.Blob) === '[object BlobConstructor]'; -var withNativeFile = typeof global.File === 'function' || toString.call(global.File) === '[object FileConstructor]'; +var isHexPrefixed = require('is-hex-prefixed'); /** - * Replaces every Buffer | ArrayBuffer in packet with a numbered placeholder. - * Anything with blobs or files should be fed through removeBlobs before coming - * here. - * - * @param {Object} packet - socket.io event packet - * @return {Object} with deconstructed packet and list of buffers - * @api public + * Removes '0x' from a given `String` is present + * @param {String} str the string value + * @return {String|Optional} a string by pass if necessary */ +module.exports = function stripHexPrefix(str) { + if (typeof str !== 'string') { + return str; + } -exports.deconstructPacket = function (packet) { - var buffers = []; - var packetData = packet.data; - var pack = packet; - pack.data = _deconstructPacket(packetData, buffers); - pack.attachments = buffers.length; // number of binary 'attachments' - return { packet: pack, buffers: buffers }; + return isHexPrefixed(str) ? str.slice(2) : str; }; -function _deconstructPacket(data, buffers) { - if (!data) return data; - - if (isBuf(data)) { - var placeholder = { _placeholder: true, num: buffers.length }; - buffers.push(data); - return placeholder; - } else if (isArray(data)) { - var newData = new Array(data.length); - for (var i = 0; i < data.length; i++) { - newData[i] = _deconstructPacket(data[i], buffers); - } - return newData; - } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && !(data instanceof Date)) { - var newData = {}; - for (var key in data) { - newData[key] = _deconstructPacket(data[key], buffers); - } - return newData; - } - return data; -} +},{"is-hex-prefixed":673}],766:[function(require,module,exports){ +"use strict"; -/** - * Reconstructs a binary packet from its placeholder packet and buffers - * - * @param {Object} packet - event packet with placeholders - * @param {Array} buffers - binary buffers to put in placeholder positions - * @return {Object} reconstructed packet - * @api public - */ +module.exports = toArray; -exports.reconstructPacket = function (packet, buffers) { - packet.data = _reconstructPacket(packet.data, buffers); - packet.attachments = undefined; // no longer useful - return packet; -}; +function toArray(list, index) { + var array = []; -function _reconstructPacket(data, buffers) { - if (!data) return data; + index = index || 0; - if (data && data._placeholder) { - return buffers[data.num]; // appropriate buffer (should be natural order anyway) - } else if (isArray(data)) { - for (var i = 0; i < data.length; i++) { - data[i] = _reconstructPacket(data[i], buffers); - } - } else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') { - for (var key in data) { - data[key] = _reconstructPacket(data[key], buffers); + for (var i = index || 0; i < list.length; i++) { + array[i - index] = list[i]; } - } - return data; + return array; } -/** - * Asynchronously removes Blobs or Files from data via - * FileReader's readAsArrayBuffer method. Used before encoding - * data as msgpack. Calls callback with the blobless data. - * - * @param {Object} data - * @param {Function} callback - * @api private - */ - -exports.removeBlobs = function (data, callback) { - function _removeBlobs(obj, curKey, containingObject) { - if (!obj) return obj; +},{}],767:[function(require,module,exports){ +"use strict"; - // convert any blob - if (withNativeBlob && obj instanceof Blob || withNativeFile && obj instanceof File) { - pendingBlobs++; +module.exports = { 97: { "value": "0061", "name": "LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0041", "lowercase_mapping": "", "titlecase_mapping": "0041", "symbol": "\x61" }, 98: { "value": "0062", "name": "LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0042", "lowercase_mapping": "", "titlecase_mapping": "0042", "symbol": "\x62" }, 99: { "value": "0063", "name": "LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0043", "lowercase_mapping": "", "titlecase_mapping": "0043", "symbol": "\x63" }, 100: { "value": "0064", "name": "LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0044", "lowercase_mapping": "", "titlecase_mapping": "0044", "symbol": "\x64" }, 101: { "value": "0065", "name": "LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0045", "lowercase_mapping": "", "titlecase_mapping": "0045", "symbol": "\x65" }, 102: { "value": "0066", "name": "LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0046", "lowercase_mapping": "", "titlecase_mapping": "0046", "symbol": "\x66" }, 103: { "value": "0067", "name": "LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0047", "lowercase_mapping": "", "titlecase_mapping": "0047", "symbol": "\x67" }, 104: { "value": "0068", "name": "LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0048", "lowercase_mapping": "", "titlecase_mapping": "0048", "symbol": "\x68" }, 105: { "value": "0069", "name": "LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\x69" }, 106: { "value": "006A", "name": "LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004A", "lowercase_mapping": "", "titlecase_mapping": "004A", "symbol": "\x6A" }, 107: { "value": "006B", "name": "LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004B", "lowercase_mapping": "", "titlecase_mapping": "004B", "symbol": "\x6B" }, 108: { "value": "006C", "name": "LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004C", "lowercase_mapping": "", "titlecase_mapping": "004C", "symbol": "\x6C" }, 109: { "value": "006D", "name": "LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004D", "lowercase_mapping": "", "titlecase_mapping": "004D", "symbol": "\x6D" }, 110: { "value": "006E", "name": "LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004E", "lowercase_mapping": "", "titlecase_mapping": "004E", "symbol": "\x6E" }, 111: { "value": "006F", "name": "LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004F", "lowercase_mapping": "", "titlecase_mapping": "004F", "symbol": "\x6F" }, 112: { "value": "0070", "name": "LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0050", "lowercase_mapping": "", "titlecase_mapping": "0050", "symbol": "\x70" }, 113: { "value": "0071", "name": "LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0051", "lowercase_mapping": "", "titlecase_mapping": "0051", "symbol": "\x71" }, 114: { "value": "0072", "name": "LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0052", "lowercase_mapping": "", "titlecase_mapping": "0052", "symbol": "\x72" }, 115: { "value": "0073", "name": "LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\x73" }, 116: { "value": "0074", "name": "LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0054", "lowercase_mapping": "", "titlecase_mapping": "0054", "symbol": "\x74" }, 117: { "value": "0075", "name": "LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0055", "lowercase_mapping": "", "titlecase_mapping": "0055", "symbol": "\x75" }, 118: { "value": "0076", "name": "LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0056", "lowercase_mapping": "", "titlecase_mapping": "0056", "symbol": "\x76" }, 119: { "value": "0077", "name": "LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0057", "lowercase_mapping": "", "titlecase_mapping": "0057", "symbol": "\x77" }, 120: { "value": "0078", "name": "LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0058", "lowercase_mapping": "", "titlecase_mapping": "0058", "symbol": "\x78" }, 121: { "value": "0079", "name": "LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0059", "lowercase_mapping": "", "titlecase_mapping": "0059", "symbol": "\x79" }, 122: { "value": "007A", "name": "LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "005A", "lowercase_mapping": "", "titlecase_mapping": "005A", "symbol": "\x7A" }, 181: { "value": "00B5", "name": "MICRO SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\xB5" }, 223: { "value": "00DF", "name": "LATIN SMALL LETTER SHARP S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\xDF" }, 224: { "value": "00E0", "name": "LATIN SMALL LETTER A WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A GRAVE", "comment": "", "uppercase_mapping": "00C0", "lowercase_mapping": "", "titlecase_mapping": "00C0", "symbol": "\xE0" }, 225: { "value": "00E1", "name": "LATIN SMALL LETTER A WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A ACUTE", "comment": "", "uppercase_mapping": "00C1", "lowercase_mapping": "", "titlecase_mapping": "00C1", "symbol": "\xE1" }, 226: { "value": "00E2", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A CIRCUMFLEX", "comment": "", "uppercase_mapping": "00C2", "lowercase_mapping": "", "titlecase_mapping": "00C2", "symbol": "\xE2" }, 227: { "value": "00E3", "name": "LATIN SMALL LETTER A WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A TILDE", "comment": "", "uppercase_mapping": "00C3", "lowercase_mapping": "", "titlecase_mapping": "00C3", "symbol": "\xE3" }, 228: { "value": "00E4", "name": "LATIN SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS", "comment": "", "uppercase_mapping": "00C4", "lowercase_mapping": "", "titlecase_mapping": "00C4", "symbol": "\xE4" }, 229: { "value": "00E5", "name": "LATIN SMALL LETTER A WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A RING", "comment": "", "uppercase_mapping": "00C5", "lowercase_mapping": "", "titlecase_mapping": "00C5", "symbol": "\xE5" }, 230: { "value": "00E6", "name": "LATIN SMALL LETTER AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E", "comment": "", "uppercase_mapping": "00C6", "lowercase_mapping": "", "titlecase_mapping": "00C6", "symbol": "\xE6" }, 231: { "value": "00E7", "name": "LATIN SMALL LETTER C WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CEDILLA", "comment": "", "uppercase_mapping": "00C7", "lowercase_mapping": "", "titlecase_mapping": "00C7", "symbol": "\xE7" }, 232: { "value": "00E8", "name": "LATIN SMALL LETTER E WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E GRAVE", "comment": "", "uppercase_mapping": "00C8", "lowercase_mapping": "", "titlecase_mapping": "00C8", "symbol": "\xE8" }, 233: { "value": "00E9", "name": "LATIN SMALL LETTER E WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E ACUTE", "comment": "", "uppercase_mapping": "00C9", "lowercase_mapping": "", "titlecase_mapping": "00C9", "symbol": "\xE9" }, 234: { "value": "00EA", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CA", "lowercase_mapping": "", "titlecase_mapping": "00CA", "symbol": "\xEA" }, 235: { "value": "00EB", "name": "LATIN SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DIAERESIS", "comment": "", "uppercase_mapping": "00CB", "lowercase_mapping": "", "titlecase_mapping": "00CB", "symbol": "\xEB" }, 236: { "value": "00EC", "name": "LATIN SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I GRAVE", "comment": "", "uppercase_mapping": "00CC", "lowercase_mapping": "", "titlecase_mapping": "00CC", "symbol": "\xEC" }, 237: { "value": "00ED", "name": "LATIN SMALL LETTER I WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I ACUTE", "comment": "", "uppercase_mapping": "00CD", "lowercase_mapping": "", "titlecase_mapping": "00CD", "symbol": "\xED" }, 238: { "value": "00EE", "name": "LATIN SMALL LETTER I WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CE", "lowercase_mapping": "", "titlecase_mapping": "00CE", "symbol": "\xEE" }, 239: { "value": "00EF", "name": "LATIN SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I DIAERESIS", "comment": "", "uppercase_mapping": "00CF", "lowercase_mapping": "", "titlecase_mapping": "00CF", "symbol": "\xEF" }, 240: { "value": "00F0", "name": "LATIN SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00D0", "lowercase_mapping": "", "titlecase_mapping": "00D0", "symbol": "\xF0" }, 241: { "value": "00F1", "name": "LATIN SMALL LETTER N WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N TILDE", "comment": "", "uppercase_mapping": "00D1", "lowercase_mapping": "", "titlecase_mapping": "00D1", "symbol": "\xF1" }, 242: { "value": "00F2", "name": "LATIN SMALL LETTER O WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O GRAVE", "comment": "", "uppercase_mapping": "00D2", "lowercase_mapping": "", "titlecase_mapping": "00D2", "symbol": "\xF2" }, 243: { "value": "00F3", "name": "LATIN SMALL LETTER O WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O ACUTE", "comment": "", "uppercase_mapping": "00D3", "lowercase_mapping": "", "titlecase_mapping": "00D3", "symbol": "\xF3" }, 244: { "value": "00F4", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O CIRCUMFLEX", "comment": "", "uppercase_mapping": "00D4", "lowercase_mapping": "", "titlecase_mapping": "00D4", "symbol": "\xF4" }, 245: { "value": "00F5", "name": "LATIN SMALL LETTER O WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O TILDE", "comment": "", "uppercase_mapping": "00D5", "lowercase_mapping": "", "titlecase_mapping": "00D5", "symbol": "\xF5" }, 246: { "value": "00F6", "name": "LATIN SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DIAERESIS", "comment": "", "uppercase_mapping": "00D6", "lowercase_mapping": "", "titlecase_mapping": "00D6", "symbol": "\xF6" }, 248: { "value": "00F8", "name": "LATIN SMALL LETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O SLASH", "comment": "", "uppercase_mapping": "00D8", "lowercase_mapping": "", "titlecase_mapping": "00D8", "symbol": "\xF8" }, 249: { "value": "00F9", "name": "LATIN SMALL LETTER U WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U GRAVE", "comment": "", "uppercase_mapping": "00D9", "lowercase_mapping": "", "titlecase_mapping": "00D9", "symbol": "\xF9" }, 250: { "value": "00FA", "name": "LATIN SMALL LETTER U WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U ACUTE", "comment": "", "uppercase_mapping": "00DA", "lowercase_mapping": "", "titlecase_mapping": "00DA", "symbol": "\xFA" }, 251: { "value": "00FB", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U CIRCUMFLEX", "comment": "", "uppercase_mapping": "00DB", "lowercase_mapping": "", "titlecase_mapping": "00DB", "symbol": "\xFB" }, 252: { "value": "00FC", "name": "LATIN SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS", "comment": "", "uppercase_mapping": "00DC", "lowercase_mapping": "", "titlecase_mapping": "00DC", "symbol": "\xFC" }, 253: { "value": "00FD", "name": "LATIN SMALL LETTER Y WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y ACUTE", "comment": "", "uppercase_mapping": "00DD", "lowercase_mapping": "", "titlecase_mapping": "00DD", "symbol": "\xFD" }, 254: { "value": "00FE", "name": "LATIN SMALL LETTER THORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00DE", "lowercase_mapping": "", "titlecase_mapping": "00DE", "symbol": "\xFE" }, 255: { "value": "00FF", "name": "LATIN SMALL LETTER Y WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y DIAERESIS", "comment": "", "uppercase_mapping": "0178", "lowercase_mapping": "", "titlecase_mapping": "0178", "symbol": "\xFF" }, 257: { "value": "0101", "name": "LATIN SMALL LETTER A WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A MACRON", "comment": "", "uppercase_mapping": "0100", "lowercase_mapping": "", "titlecase_mapping": "0100", "symbol": "\u0101" }, 259: { "value": "0103", "name": "LATIN SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A BREVE", "comment": "", "uppercase_mapping": "0102", "lowercase_mapping": "", "titlecase_mapping": "0102", "symbol": "\u0103" }, 261: { "value": "0105", "name": "LATIN SMALL LETTER A WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A OGONEK", "comment": "", "uppercase_mapping": "0104", "lowercase_mapping": "", "titlecase_mapping": "0104", "symbol": "\u0105" }, 263: { "value": "0107", "name": "LATIN SMALL LETTER C WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C ACUTE", "comment": "", "uppercase_mapping": "0106", "lowercase_mapping": "", "titlecase_mapping": "0106", "symbol": "\u0107" }, 265: { "value": "0109", "name": "LATIN SMALL LETTER C WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CIRCUMFLEX", "comment": "", "uppercase_mapping": "0108", "lowercase_mapping": "", "titlecase_mapping": "0108", "symbol": "\u0109" }, 267: { "value": "010B", "name": "LATIN SMALL LETTER C WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C DOT", "comment": "", "uppercase_mapping": "010A", "lowercase_mapping": "", "titlecase_mapping": "010A", "symbol": "\u010B" }, 269: { "value": "010D", "name": "LATIN SMALL LETTER C WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HACEK", "comment": "", "uppercase_mapping": "010C", "lowercase_mapping": "", "titlecase_mapping": "010C", "symbol": "\u010D" }, 271: { "value": "010F", "name": "LATIN SMALL LETTER D WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HACEK", "comment": "", "uppercase_mapping": "010E", "lowercase_mapping": "", "titlecase_mapping": "010E", "symbol": "\u010F" }, 273: { "value": "0111", "name": "LATIN SMALL LETTER D WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D BAR", "comment": "", "uppercase_mapping": "0110", "lowercase_mapping": "", "titlecase_mapping": "0110", "symbol": "\u0111" }, 275: { "value": "0113", "name": "LATIN SMALL LETTER E WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E MACRON", "comment": "", "uppercase_mapping": "0112", "lowercase_mapping": "", "titlecase_mapping": "0112", "symbol": "\u0113" }, 277: { "value": "0115", "name": "LATIN SMALL LETTER E WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E BREVE", "comment": "", "uppercase_mapping": "0114", "lowercase_mapping": "", "titlecase_mapping": "0114", "symbol": "\u0115" }, 279: { "value": "0117", "name": "LATIN SMALL LETTER E WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DOT", "comment": "", "uppercase_mapping": "0116", "lowercase_mapping": "", "titlecase_mapping": "0116", "symbol": "\u0117" }, 281: { "value": "0119", "name": "LATIN SMALL LETTER E WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E OGONEK", "comment": "", "uppercase_mapping": "0118", "lowercase_mapping": "", "titlecase_mapping": "0118", "symbol": "\u0119" }, 283: { "value": "011B", "name": "LATIN SMALL LETTER E WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E HACEK", "comment": "", "uppercase_mapping": "011A", "lowercase_mapping": "", "titlecase_mapping": "011A", "symbol": "\u011B" }, 285: { "value": "011D", "name": "LATIN SMALL LETTER G WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CIRCUMFLEX", "comment": "", "uppercase_mapping": "011C", "lowercase_mapping": "", "titlecase_mapping": "011C", "symbol": "\u011D" }, 287: { "value": "011F", "name": "LATIN SMALL LETTER G WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BREVE", "comment": "", "uppercase_mapping": "011E", "lowercase_mapping": "", "titlecase_mapping": "011E", "symbol": "\u011F" }, 289: { "value": "0121", "name": "LATIN SMALL LETTER G WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G DOT", "comment": "", "uppercase_mapping": "0120", "lowercase_mapping": "", "titlecase_mapping": "0120", "symbol": "\u0121" }, 291: { "value": "0123", "name": "LATIN SMALL LETTER G WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CEDILLA", "comment": "", "uppercase_mapping": "0122", "lowercase_mapping": "", "titlecase_mapping": "0122", "symbol": "\u0123" }, 293: { "value": "0125", "name": "LATIN SMALL LETTER H WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H CIRCUMFLEX", "comment": "", "uppercase_mapping": "0124", "lowercase_mapping": "", "titlecase_mapping": "0124", "symbol": "\u0125" }, 295: { "value": "0127", "name": "LATIN SMALL LETTER H WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H BAR", "comment": "", "uppercase_mapping": "0126", "lowercase_mapping": "", "titlecase_mapping": "0126", "symbol": "\u0127" }, 297: { "value": "0129", "name": "LATIN SMALL LETTER I WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I TILDE", "comment": "", "uppercase_mapping": "0128", "lowercase_mapping": "", "titlecase_mapping": "0128", "symbol": "\u0129" }, 299: { "value": "012B", "name": "LATIN SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I MACRON", "comment": "", "uppercase_mapping": "012A", "lowercase_mapping": "", "titlecase_mapping": "012A", "symbol": "\u012B" }, 301: { "value": "012D", "name": "LATIN SMALL LETTER I WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I BREVE", "comment": "", "uppercase_mapping": "012C", "lowercase_mapping": "", "titlecase_mapping": "012C", "symbol": "\u012D" }, 303: { "value": "012F", "name": "LATIN SMALL LETTER I WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I OGONEK", "comment": "", "uppercase_mapping": "012E", "lowercase_mapping": "", "titlecase_mapping": "012E", "symbol": "\u012F" }, 305: { "value": "0131", "name": "LATIN SMALL LETTER DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\u0131" }, 307: { "value": "0133", "name": "LATIN SMALL LIGATURE IJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I J", "comment": "", "uppercase_mapping": "0132", "lowercase_mapping": "", "titlecase_mapping": "0132", "symbol": "\u0133" }, 309: { "value": "0135", "name": "LATIN SMALL LETTER J WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J CIRCUMFLEX", "comment": "", "uppercase_mapping": "0134", "lowercase_mapping": "", "titlecase_mapping": "0134", "symbol": "\u0135" }, 311: { "value": "0137", "name": "LATIN SMALL LETTER K WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K CEDILLA", "comment": "", "uppercase_mapping": "0136", "lowercase_mapping": "", "titlecase_mapping": "0136", "symbol": "\u0137" }, 312: { "value": "0138", "name": "LATIN SMALL LETTER KRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0138" }, 314: { "value": "013A", "name": "LATIN SMALL LETTER L WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L ACUTE", "comment": "", "uppercase_mapping": "0139", "lowercase_mapping": "", "titlecase_mapping": "0139", "symbol": "\u013A" }, 316: { "value": "013C", "name": "LATIN SMALL LETTER L WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L CEDILLA", "comment": "", "uppercase_mapping": "013B", "lowercase_mapping": "", "titlecase_mapping": "013B", "symbol": "\u013C" }, 318: { "value": "013E", "name": "LATIN SMALL LETTER L WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L HACEK", "comment": "", "uppercase_mapping": "013D", "lowercase_mapping": "", "titlecase_mapping": "013D", "symbol": "\u013E" }, 320: { "value": "0140", "name": "LATIN SMALL LETTER L WITH MIDDLE DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 00B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "013F", "lowercase_mapping": "", "titlecase_mapping": "013F", "symbol": "\u0140" }, 322: { "value": "0142", "name": "LATIN SMALL LETTER L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L SLASH", "comment": "", "uppercase_mapping": "0141", "lowercase_mapping": "", "titlecase_mapping": "0141", "symbol": "\u0142" }, 324: { "value": "0144", "name": "LATIN SMALL LETTER N WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N ACUTE", "comment": "", "uppercase_mapping": "0143", "lowercase_mapping": "", "titlecase_mapping": "0143", "symbol": "\u0144" }, 326: { "value": "0146", "name": "LATIN SMALL LETTER N WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N CEDILLA", "comment": "", "uppercase_mapping": "0145", "lowercase_mapping": "", "titlecase_mapping": "0145", "symbol": "\u0146" }, 328: { "value": "0148", "name": "LATIN SMALL LETTER N WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HACEK", "comment": "", "uppercase_mapping": "0147", "lowercase_mapping": "", "titlecase_mapping": "0147", "symbol": "\u0148" }, 329: { "value": "0149", "name": "LATIN SMALL LETTER N PRECEDED BY APOSTROPHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 02BC 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER APOSTROPHE N", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0149" }, 331: { "value": "014B", "name": "LATIN SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "014A", "lowercase_mapping": "", "titlecase_mapping": "014A", "symbol": "\u014B" }, 333: { "value": "014D", "name": "LATIN SMALL LETTER O WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O MACRON", "comment": "", "uppercase_mapping": "014C", "lowercase_mapping": "", "titlecase_mapping": "014C", "symbol": "\u014D" }, 335: { "value": "014F", "name": "LATIN SMALL LETTER O WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O BREVE", "comment": "", "uppercase_mapping": "014E", "lowercase_mapping": "", "titlecase_mapping": "014E", "symbol": "\u014F" }, 337: { "value": "0151", "name": "LATIN SMALL LETTER O WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0150", "lowercase_mapping": "", "titlecase_mapping": "0150", "symbol": "\u0151" }, 339: { "value": "0153", "name": "LATIN SMALL LIGATURE OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O E", "comment": "", "uppercase_mapping": "0152", "lowercase_mapping": "", "titlecase_mapping": "0152", "symbol": "\u0153" }, 341: { "value": "0155", "name": "LATIN SMALL LETTER R WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R ACUTE", "comment": "", "uppercase_mapping": "0154", "lowercase_mapping": "", "titlecase_mapping": "0154", "symbol": "\u0155" }, 343: { "value": "0157", "name": "LATIN SMALL LETTER R WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R CEDILLA", "comment": "", "uppercase_mapping": "0156", "lowercase_mapping": "", "titlecase_mapping": "0156", "symbol": "\u0157" }, 345: { "value": "0159", "name": "LATIN SMALL LETTER R WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HACEK", "comment": "", "uppercase_mapping": "0158", "lowercase_mapping": "", "titlecase_mapping": "0158", "symbol": "\u0159" }, 347: { "value": "015B", "name": "LATIN SMALL LETTER S WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S ACUTE", "comment": "", "uppercase_mapping": "015A", "lowercase_mapping": "", "titlecase_mapping": "015A", "symbol": "\u015B" }, 349: { "value": "015D", "name": "LATIN SMALL LETTER S WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CIRCUMFLEX", "comment": "", "uppercase_mapping": "015C", "lowercase_mapping": "", "titlecase_mapping": "015C", "symbol": "\u015D" }, 351: { "value": "015F", "name": "LATIN SMALL LETTER S WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CEDILLA", "comment": "", "uppercase_mapping": "015E", "lowercase_mapping": "", "titlecase_mapping": "015E", "symbol": "\u015F" }, 353: { "value": "0161", "name": "LATIN SMALL LETTER S WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HACEK", "comment": "", "uppercase_mapping": "0160", "lowercase_mapping": "", "titlecase_mapping": "0160", "symbol": "\u0161" }, 355: { "value": "0163", "name": "LATIN SMALL LETTER T WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T CEDILLA", "comment": "", "uppercase_mapping": "0162", "lowercase_mapping": "", "titlecase_mapping": "0162", "symbol": "\u0163" }, 357: { "value": "0165", "name": "LATIN SMALL LETTER T WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HACEK", "comment": "", "uppercase_mapping": "0164", "lowercase_mapping": "", "titlecase_mapping": "0164", "symbol": "\u0165" }, 359: { "value": "0167", "name": "LATIN SMALL LETTER T WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T BAR", "comment": "", "uppercase_mapping": "0166", "lowercase_mapping": "", "titlecase_mapping": "0166", "symbol": "\u0167" }, 361: { "value": "0169", "name": "LATIN SMALL LETTER U WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U TILDE", "comment": "", "uppercase_mapping": "0168", "lowercase_mapping": "", "titlecase_mapping": "0168", "symbol": "\u0169" }, 363: { "value": "016B", "name": "LATIN SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U MACRON", "comment": "", "uppercase_mapping": "016A", "lowercase_mapping": "", "titlecase_mapping": "016A", "symbol": "\u016B" }, 365: { "value": "016D", "name": "LATIN SMALL LETTER U WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U BREVE", "comment": "", "uppercase_mapping": "016C", "lowercase_mapping": "", "titlecase_mapping": "016C", "symbol": "\u016D" }, 367: { "value": "016F", "name": "LATIN SMALL LETTER U WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U RING", "comment": "", "uppercase_mapping": "016E", "lowercase_mapping": "", "titlecase_mapping": "016E", "symbol": "\u016F" }, 369: { "value": "0171", "name": "LATIN SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0170", "lowercase_mapping": "", "titlecase_mapping": "0170", "symbol": "\u0171" }, 371: { "value": "0173", "name": "LATIN SMALL LETTER U WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U OGONEK", "comment": "", "uppercase_mapping": "0172", "lowercase_mapping": "", "titlecase_mapping": "0172", "symbol": "\u0173" }, 373: { "value": "0175", "name": "LATIN SMALL LETTER W WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER W CIRCUMFLEX", "comment": "", "uppercase_mapping": "0174", "lowercase_mapping": "", "titlecase_mapping": "0174", "symbol": "\u0175" }, 375: { "value": "0177", "name": "LATIN SMALL LETTER Y WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y CIRCUMFLEX", "comment": "", "uppercase_mapping": "0176", "lowercase_mapping": "", "titlecase_mapping": "0176", "symbol": "\u0177" }, 378: { "value": "017A", "name": "LATIN SMALL LETTER Z WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z ACUTE", "comment": "", "uppercase_mapping": "0179", "lowercase_mapping": "", "titlecase_mapping": "0179", "symbol": "\u017A" }, 380: { "value": "017C", "name": "LATIN SMALL LETTER Z WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z DOT", "comment": "", "uppercase_mapping": "017B", "lowercase_mapping": "", "titlecase_mapping": "017B", "symbol": "\u017C" }, 382: { "value": "017E", "name": "LATIN SMALL LETTER Z WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z HACEK", "comment": "", "uppercase_mapping": "017D", "lowercase_mapping": "", "titlecase_mapping": "017D", "symbol": "\u017E" }, 383: { "value": "017F", "name": "LATIN SMALL LETTER LONG S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\u017F" }, 384: { "value": "0180", "name": "LATIN SMALL LETTER B WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B BAR", "comment": "", "uppercase_mapping": "0243", "lowercase_mapping": "", "titlecase_mapping": "0243", "symbol": "\u0180" }, 387: { "value": "0183", "name": "LATIN SMALL LETTER B WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B TOPBAR", "comment": "", "uppercase_mapping": "0182", "lowercase_mapping": "", "titlecase_mapping": "0182", "symbol": "\u0183" }, 389: { "value": "0185", "name": "LATIN SMALL LETTER TONE SIX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0184", "lowercase_mapping": "", "titlecase_mapping": "0184", "symbol": "\u0185" }, 392: { "value": "0188", "name": "LATIN SMALL LETTER C WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HOOK", "comment": "", "uppercase_mapping": "0187", "lowercase_mapping": "", "titlecase_mapping": "0187", "symbol": "\u0188" }, 396: { "value": "018C", "name": "LATIN SMALL LETTER D WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D TOPBAR", "comment": "", "uppercase_mapping": "018B", "lowercase_mapping": "", "titlecase_mapping": "018B", "symbol": "\u018C" }, 397: { "value": "018D", "name": "LATIN SMALL LETTER TURNED DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u018D" }, 402: { "value": "0192", "name": "LATIN SMALL LETTER F WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT F", "comment": "", "uppercase_mapping": "0191", "lowercase_mapping": "", "titlecase_mapping": "0191", "symbol": "\u0192" }, 405: { "value": "0195", "name": "LATIN SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H V", "comment": "", "uppercase_mapping": "01F6", "lowercase_mapping": "", "titlecase_mapping": "01F6", "symbol": "\u0195" }, 409: { "value": "0199", "name": "LATIN SMALL LETTER K WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HOOK", "comment": "", "uppercase_mapping": "0198", "lowercase_mapping": "", "titlecase_mapping": "0198", "symbol": "\u0199" }, 410: { "value": "019A", "name": "LATIN SMALL LETTER L WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED L", "comment": "", "uppercase_mapping": "023D", "lowercase_mapping": "", "titlecase_mapping": "023D", "symbol": "\u019A" }, 411: { "value": "019B", "name": "LATIN SMALL LETTER LAMBDA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED LAMBDA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u019B" }, 414: { "value": "019E", "name": "LATIN SMALL LETTER N WITH LONG RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0220", "lowercase_mapping": "", "titlecase_mapping": "0220", "symbol": "\u019E" }, 417: { "value": "01A1", "name": "LATIN SMALL LETTER O WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HORN", "comment": "", "uppercase_mapping": "01A0", "lowercase_mapping": "", "titlecase_mapping": "01A0", "symbol": "\u01A1" }, 419: { "value": "01A3", "name": "LATIN SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O I", "comment": "", "uppercase_mapping": "01A2", "lowercase_mapping": "", "titlecase_mapping": "01A2", "symbol": "\u01A3" }, 421: { "value": "01A5", "name": "LATIN SMALL LETTER P WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER P HOOK", "comment": "", "uppercase_mapping": "01A4", "lowercase_mapping": "", "titlecase_mapping": "01A4", "symbol": "\u01A5" }, 424: { "value": "01A8", "name": "LATIN SMALL LETTER TONE TWO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A7", "lowercase_mapping": "", "titlecase_mapping": "01A7", "symbol": "\u01A8" }, 426: { "value": "01AA", "name": "LATIN LETTER REVERSED ESH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AA" }, 427: { "value": "01AB", "name": "LATIN SMALL LETTER T WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T PALATAL HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AB" }, 429: { "value": "01AD", "name": "LATIN SMALL LETTER T WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HOOK", "comment": "", "uppercase_mapping": "01AC", "lowercase_mapping": "", "titlecase_mapping": "01AC", "symbol": "\u01AD" }, 432: { "value": "01B0", "name": "LATIN SMALL LETTER U WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HORN", "comment": "", "uppercase_mapping": "01AF", "lowercase_mapping": "", "titlecase_mapping": "01AF", "symbol": "\u01B0" }, 436: { "value": "01B4", "name": "LATIN SMALL LETTER Y WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y HOOK", "comment": "", "uppercase_mapping": "01B3", "lowercase_mapping": "", "titlecase_mapping": "01B3", "symbol": "\u01B4" }, 438: { "value": "01B6", "name": "LATIN SMALL LETTER Z WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z BAR", "comment": "", "uppercase_mapping": "01B5", "lowercase_mapping": "", "titlecase_mapping": "01B5", "symbol": "\u01B6" }, 441: { "value": "01B9", "name": "LATIN SMALL LETTER EZH REVERSED", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED YOGH", "comment": "", "uppercase_mapping": "01B8", "lowercase_mapping": "", "titlecase_mapping": "01B8", "symbol": "\u01B9" }, 442: { "value": "01BA", "name": "LATIN SMALL LETTER EZH WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH WITH TAIL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BA" }, 445: { "value": "01BD", "name": "LATIN SMALL LETTER TONE FIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01BC", "lowercase_mapping": "", "titlecase_mapping": "01BC", "symbol": "\u01BD" }, 446: { "value": "01BE", "name": "LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER INVERTED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BE" }, 447: { "value": "01BF", "name": "LATIN LETTER WYNN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F7", "lowercase_mapping": "", "titlecase_mapping": "01F7", "symbol": "\u01BF" }, 454: { "value": "01C6", "name": "LATIN SMALL LETTER DZ WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 017E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z HACEK", "comment": "", "uppercase_mapping": "01C4", "lowercase_mapping": "", "titlecase_mapping": "01C5", "symbol": "\u01C6" }, 457: { "value": "01C9", "name": "LATIN SMALL LETTER LJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L J", "comment": "", "uppercase_mapping": "01C7", "lowercase_mapping": "", "titlecase_mapping": "01C8", "symbol": "\u01C9" }, 460: { "value": "01CC", "name": "LATIN SMALL LETTER NJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N J", "comment": "", "uppercase_mapping": "01CA", "lowercase_mapping": "", "titlecase_mapping": "01CB", "symbol": "\u01CC" }, 462: { "value": "01CE", "name": "LATIN SMALL LETTER A WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A HACEK", "comment": "", "uppercase_mapping": "01CD", "lowercase_mapping": "", "titlecase_mapping": "01CD", "symbol": "\u01CE" }, 464: { "value": "01D0", "name": "LATIN SMALL LETTER I WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I HACEK", "comment": "", "uppercase_mapping": "01CF", "lowercase_mapping": "", "titlecase_mapping": "01CF", "symbol": "\u01D0" }, 466: { "value": "01D2", "name": "LATIN SMALL LETTER O WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HACEK", "comment": "", "uppercase_mapping": "01D1", "lowercase_mapping": "", "titlecase_mapping": "01D1", "symbol": "\u01D2" }, 468: { "value": "01D4", "name": "LATIN SMALL LETTER U WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HACEK", "comment": "", "uppercase_mapping": "01D3", "lowercase_mapping": "", "titlecase_mapping": "01D3", "symbol": "\u01D4" }, 470: { "value": "01D6", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01D5", "lowercase_mapping": "", "titlecase_mapping": "01D5", "symbol": "\u01D6" }, 472: { "value": "01D8", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS ACUTE", "comment": "", "uppercase_mapping": "01D7", "lowercase_mapping": "", "titlecase_mapping": "01D7", "symbol": "\u01D8" }, 474: { "value": "01DA", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS HACEK", "comment": "", "uppercase_mapping": "01D9", "lowercase_mapping": "", "titlecase_mapping": "01D9", "symbol": "\u01DA" }, 476: { "value": "01DC", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS GRAVE", "comment": "", "uppercase_mapping": "01DB", "lowercase_mapping": "", "titlecase_mapping": "01DB", "symbol": "\u01DC" }, 477: { "value": "01DD", "name": "LATIN SMALL LETTER TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018E", "lowercase_mapping": "", "titlecase_mapping": "018E", "symbol": "\u01DD" }, 479: { "value": "01DF", "name": "LATIN SMALL LETTER A WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E4 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01DE", "lowercase_mapping": "", "titlecase_mapping": "01DE", "symbol": "\u01DF" }, 481: { "value": "01E1", "name": "LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0227 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DOT MACRON", "comment": "", "uppercase_mapping": "01E0", "lowercase_mapping": "", "titlecase_mapping": "01E0", "symbol": "\u01E1" }, 483: { "value": "01E3", "name": "LATIN SMALL LETTER AE WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E MACRON", "comment": "", "uppercase_mapping": "01E2", "lowercase_mapping": "", "titlecase_mapping": "01E2", "symbol": "\u01E3" }, 485: { "value": "01E5", "name": "LATIN SMALL LETTER G WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BAR", "comment": "", "uppercase_mapping": "01E4", "lowercase_mapping": "", "titlecase_mapping": "01E4", "symbol": "\u01E5" }, 487: { "value": "01E7", "name": "LATIN SMALL LETTER G WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HACEK", "comment": "", "uppercase_mapping": "01E6", "lowercase_mapping": "", "titlecase_mapping": "01E6", "symbol": "\u01E7" }, 489: { "value": "01E9", "name": "LATIN SMALL LETTER K WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HACEK", "comment": "", "uppercase_mapping": "01E8", "lowercase_mapping": "", "titlecase_mapping": "01E8", "symbol": "\u01E9" }, 491: { "value": "01EB", "name": "LATIN SMALL LETTER O WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK", "comment": "", "uppercase_mapping": "01EA", "lowercase_mapping": "", "titlecase_mapping": "01EA", "symbol": "\u01EB" }, 493: { "value": "01ED", "name": "LATIN SMALL LETTER O WITH OGONEK AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01EB 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK MACRON", "comment": "", "uppercase_mapping": "01EC", "lowercase_mapping": "", "titlecase_mapping": "01EC", "symbol": "\u01ED" }, 495: { "value": "01EF", "name": "LATIN SMALL LETTER EZH WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0292 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH HACEK", "comment": "", "uppercase_mapping": "01EE", "lowercase_mapping": "", "titlecase_mapping": "01EE", "symbol": "\u01EF" }, 496: { "value": "01F0", "name": "LATIN SMALL LETTER J WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J HACEK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01F0" }, 499: { "value": "01F3", "name": "LATIN SMALL LETTER DZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F1", "lowercase_mapping": "", "titlecase_mapping": "01F2", "symbol": "\u01F3" }, 501: { "value": "01F5", "name": "LATIN SMALL LETTER G WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F4", "lowercase_mapping": "", "titlecase_mapping": "01F4", "symbol": "\u01F5" }, 505: { "value": "01F9", "name": "LATIN SMALL LETTER N WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F8", "lowercase_mapping": "", "titlecase_mapping": "01F8", "symbol": "\u01F9" }, 507: { "value": "01FB", "name": "LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FA", "lowercase_mapping": "", "titlecase_mapping": "01FA", "symbol": "\u01FB" }, 509: { "value": "01FD", "name": "LATIN SMALL LETTER AE WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FC", "lowercase_mapping": "", "titlecase_mapping": "01FC", "symbol": "\u01FD" }, 511: { "value": "01FF", "name": "LATIN SMALL LETTER O WITH STROKE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F8 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FE", "lowercase_mapping": "", "titlecase_mapping": "01FE", "symbol": "\u01FF" }, 513: { "value": "0201", "name": "LATIN SMALL LETTER A WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0200", "lowercase_mapping": "", "titlecase_mapping": "0200", "symbol": "\u0201" }, 515: { "value": "0203", "name": "LATIN SMALL LETTER A WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0202", "lowercase_mapping": "", "titlecase_mapping": "0202", "symbol": "\u0203" }, 517: { "value": "0205", "name": "LATIN SMALL LETTER E WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0204", "lowercase_mapping": "", "titlecase_mapping": "0204", "symbol": "\u0205" }, 519: { "value": "0207", "name": "LATIN SMALL LETTER E WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0206", "lowercase_mapping": "", "titlecase_mapping": "0206", "symbol": "\u0207" }, 521: { "value": "0209", "name": "LATIN SMALL LETTER I WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0208", "lowercase_mapping": "", "titlecase_mapping": "0208", "symbol": "\u0209" }, 523: { "value": "020B", "name": "LATIN SMALL LETTER I WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020A", "lowercase_mapping": "", "titlecase_mapping": "020A", "symbol": "\u020B" }, 525: { "value": "020D", "name": "LATIN SMALL LETTER O WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020C", "lowercase_mapping": "", "titlecase_mapping": "020C", "symbol": "\u020D" }, 527: { "value": "020F", "name": "LATIN SMALL LETTER O WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020E", "lowercase_mapping": "", "titlecase_mapping": "020E", "symbol": "\u020F" }, 529: { "value": "0211", "name": "LATIN SMALL LETTER R WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0210", "lowercase_mapping": "", "titlecase_mapping": "0210", "symbol": "\u0211" }, 531: { "value": "0213", "name": "LATIN SMALL LETTER R WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0212", "lowercase_mapping": "", "titlecase_mapping": "0212", "symbol": "\u0213" }, 533: { "value": "0215", "name": "LATIN SMALL LETTER U WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0214", "lowercase_mapping": "", "titlecase_mapping": "0214", "symbol": "\u0215" }, 535: { "value": "0217", "name": "LATIN SMALL LETTER U WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0216", "lowercase_mapping": "", "titlecase_mapping": "0216", "symbol": "\u0217" }, 537: { "value": "0219", "name": "LATIN SMALL LETTER S WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0218", "lowercase_mapping": "", "titlecase_mapping": "0218", "symbol": "\u0219" }, 539: { "value": "021B", "name": "LATIN SMALL LETTER T WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021A", "lowercase_mapping": "", "titlecase_mapping": "021A", "symbol": "\u021B" }, 541: { "value": "021D", "name": "LATIN SMALL LETTER YOGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021C", "lowercase_mapping": "", "titlecase_mapping": "021C", "symbol": "\u021D" }, 543: { "value": "021F", "name": "LATIN SMALL LETTER H WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021E", "lowercase_mapping": "", "titlecase_mapping": "021E", "symbol": "\u021F" }, 545: { "value": "0221", "name": "LATIN SMALL LETTER D WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0221" }, 547: { "value": "0223", "name": "LATIN SMALL LETTER OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0222", "lowercase_mapping": "", "titlecase_mapping": "0222", "symbol": "\u0223" }, 549: { "value": "0225", "name": "LATIN SMALL LETTER Z WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0224", "lowercase_mapping": "", "titlecase_mapping": "0224", "symbol": "\u0225" }, 551: { "value": "0227", "name": "LATIN SMALL LETTER A WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0226", "lowercase_mapping": "", "titlecase_mapping": "0226", "symbol": "\u0227" }, 553: { "value": "0229", "name": "LATIN SMALL LETTER E WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0228", "lowercase_mapping": "", "titlecase_mapping": "0228", "symbol": "\u0229" }, 555: { "value": "022B", "name": "LATIN SMALL LETTER O WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022A", "lowercase_mapping": "", "titlecase_mapping": "022A", "symbol": "\u022B" }, 557: { "value": "022D", "name": "LATIN SMALL LETTER O WITH TILDE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022C", "lowercase_mapping": "", "titlecase_mapping": "022C", "symbol": "\u022D" }, 559: { "value": "022F", "name": "LATIN SMALL LETTER O WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022E", "lowercase_mapping": "", "titlecase_mapping": "022E", "symbol": "\u022F" }, 561: { "value": "0231", "name": "LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "022F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0230", "lowercase_mapping": "", "titlecase_mapping": "0230", "symbol": "\u0231" }, 563: { "value": "0233", "name": "LATIN SMALL LETTER Y WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0232", "lowercase_mapping": "", "titlecase_mapping": "0232", "symbol": "\u0233" }, 564: { "value": "0234", "name": "LATIN SMALL LETTER L WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0234" }, 565: { "value": "0235", "name": "LATIN SMALL LETTER N WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0235" }, 566: { "value": "0236", "name": "LATIN SMALL LETTER T WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0236" }, 567: { "value": "0237", "name": "LATIN SMALL LETTER DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0237" }, 568: { "value": "0238", "name": "LATIN SMALL LETTER DB DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0238" }, 569: { "value": "0239", "name": "LATIN SMALL LETTER QP DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0239" }, 572: { "value": "023C", "name": "LATIN SMALL LETTER C WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023B", "lowercase_mapping": "", "titlecase_mapping": "023B", "symbol": "\u023C" }, 575: { "value": "023F", "name": "LATIN SMALL LETTER S WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7E", "lowercase_mapping": "", "titlecase_mapping": "2C7E", "symbol": "\u023F" }, 576: { "value": "0240", "name": "LATIN SMALL LETTER Z WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7F", "lowercase_mapping": "", "titlecase_mapping": "2C7F", "symbol": "\u0240" }, 578: { "value": "0242", "name": "LATIN SMALL LETTER GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0241", "lowercase_mapping": "", "titlecase_mapping": "0241", "symbol": "\u0242" }, 583: { "value": "0247", "name": "LATIN SMALL LETTER E WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0246", "lowercase_mapping": "", "titlecase_mapping": "0246", "symbol": "\u0247" }, 585: { "value": "0249", "name": "LATIN SMALL LETTER J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0248", "lowercase_mapping": "", "titlecase_mapping": "0248", "symbol": "\u0249" }, 587: { "value": "024B", "name": "LATIN SMALL LETTER Q WITH HOOK TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024A", "lowercase_mapping": "", "titlecase_mapping": "024A", "symbol": "\u024B" }, 589: { "value": "024D", "name": "LATIN SMALL LETTER R WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024C", "lowercase_mapping": "", "titlecase_mapping": "024C", "symbol": "\u024D" }, 591: { "value": "024F", "name": "LATIN SMALL LETTER Y WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024E", "lowercase_mapping": "", "titlecase_mapping": "024E", "symbol": "\u024F" }, 592: { "value": "0250", "name": "LATIN SMALL LETTER TURNED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6F", "lowercase_mapping": "", "titlecase_mapping": "2C6F", "symbol": "\u0250" }, 593: { "value": "0251", "name": "LATIN SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT A", "comment": "", "uppercase_mapping": "2C6D", "lowercase_mapping": "", "titlecase_mapping": "2C6D", "symbol": "\u0251" }, 594: { "value": "0252", "name": "LATIN SMALL LETTER TURNED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED SCRIPT A", "comment": "", "uppercase_mapping": "2C70", "lowercase_mapping": "", "titlecase_mapping": "2C70", "symbol": "\u0252" }, 595: { "value": "0253", "name": "LATIN SMALL LETTER B WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B HOOK", "comment": "", "uppercase_mapping": "0181", "lowercase_mapping": "", "titlecase_mapping": "0181", "symbol": "\u0253" }, 596: { "value": "0254", "name": "LATIN SMALL LETTER OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0186", "lowercase_mapping": "", "titlecase_mapping": "0186", "symbol": "\u0254" }, 597: { "value": "0255", "name": "LATIN SMALL LETTER C WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0255" }, 598: { "value": "0256", "name": "LATIN SMALL LETTER D WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D RETROFLEX HOOK", "comment": "", "uppercase_mapping": "0189", "lowercase_mapping": "", "titlecase_mapping": "0189", "symbol": "\u0256" }, 599: { "value": "0257", "name": "LATIN SMALL LETTER D WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HOOK", "comment": "", "uppercase_mapping": "018A", "lowercase_mapping": "", "titlecase_mapping": "018A", "symbol": "\u0257" }, 600: { "value": "0258", "name": "LATIN SMALL LETTER REVERSED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0258" }, 601: { "value": "0259", "name": "LATIN SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018F", "lowercase_mapping": "", "titlecase_mapping": "018F", "symbol": "\u0259" }, 602: { "value": "025A", "name": "LATIN SMALL LETTER SCHWA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCHWA HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025A" }, 603: { "value": "025B", "name": "LATIN SMALL LETTER OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER EPSILON", "comment": "", "uppercase_mapping": "0190", "lowercase_mapping": "", "titlecase_mapping": "0190", "symbol": "\u025B" }, 604: { "value": "025C", "name": "LATIN SMALL LETTER REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON", "comment": "", "uppercase_mapping": "A7AB", "lowercase_mapping": "", "titlecase_mapping": "A7AB", "symbol": "\u025C" }, 605: { "value": "025D", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025D" }, 606: { "value": "025E", "name": "LATIN SMALL LETTER CLOSED REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED REVERSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025E" }, 607: { "value": "025F", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025F" }, 608: { "value": "0260", "name": "LATIN SMALL LETTER G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HOOK", "comment": "", "uppercase_mapping": "0193", "lowercase_mapping": "", "titlecase_mapping": "0193", "symbol": "\u0260" }, 609: { "value": "0261", "name": "LATIN SMALL LETTER SCRIPT G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AC", "lowercase_mapping": "", "titlecase_mapping": "A7AC", "symbol": "\u0261" }, 610: { "value": "0262", "name": "LATIN LETTER SMALL CAPITAL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0262" }, 611: { "value": "0263", "name": "LATIN SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0194", "lowercase_mapping": "", "titlecase_mapping": "0194", "symbol": "\u0263" }, 612: { "value": "0264", "name": "LATIN SMALL LETTER RAMS HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BABY GAMMA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0264" }, 613: { "value": "0265", "name": "LATIN SMALL LETTER TURNED H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78D", "lowercase_mapping": "", "titlecase_mapping": "A78D", "symbol": "\u0265" }, 614: { "value": "0266", "name": "LATIN SMALL LETTER H WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H HOOK", "comment": "", "uppercase_mapping": "A7AA", "lowercase_mapping": "", "titlecase_mapping": "A7AA", "symbol": "\u0266" }, 615: { "value": "0267", "name": "LATIN SMALL LETTER HENG WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER HENG HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0267" }, 616: { "value": "0268", "name": "LATIN SMALL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED I", "comment": "", "uppercase_mapping": "0197", "lowercase_mapping": "", "titlecase_mapping": "0197", "symbol": "\u0268" }, 617: { "value": "0269", "name": "LATIN SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0196", "lowercase_mapping": "", "titlecase_mapping": "0196", "symbol": "\u0269" }, 618: { "value": "026A", "name": "LATIN LETTER SMALL CAPITAL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AE", "lowercase_mapping": "", "titlecase_mapping": "A7AE", "symbol": "\u026A" }, 619: { "value": "026B", "name": "LATIN SMALL LETTER L WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C62", "lowercase_mapping": "", "titlecase_mapping": "2C62", "symbol": "\u026B" }, 620: { "value": "026C", "name": "LATIN SMALL LETTER L WITH BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L BELT", "comment": "", "uppercase_mapping": "A7AD", "lowercase_mapping": "", "titlecase_mapping": "A7AD", "symbol": "\u026C" }, 621: { "value": "026D", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026D" }, 622: { "value": "026E", "name": "LATIN SMALL LETTER LEZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026E" }, 623: { "value": "026F", "name": "LATIN SMALL LETTER TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019C", "lowercase_mapping": "", "titlecase_mapping": "019C", "symbol": "\u026F" }, 624: { "value": "0270", "name": "LATIN SMALL LETTER TURNED M WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0270" }, 625: { "value": "0271", "name": "LATIN SMALL LETTER M WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER M HOOK", "comment": "", "uppercase_mapping": "2C6E", "lowercase_mapping": "", "titlecase_mapping": "2C6E", "symbol": "\u0271" }, 626: { "value": "0272", "name": "LATIN SMALL LETTER N WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HOOK", "comment": "", "uppercase_mapping": "019D", "lowercase_mapping": "", "titlecase_mapping": "019D", "symbol": "\u0272" }, 627: { "value": "0273", "name": "LATIN SMALL LETTER N WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0273" }, 628: { "value": "0274", "name": "LATIN LETTER SMALL CAPITAL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0274" }, 629: { "value": "0275", "name": "LATIN SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019F", "lowercase_mapping": "", "titlecase_mapping": "019F", "symbol": "\u0275" }, 630: { "value": "0276", "name": "LATIN LETTER SMALL CAPITAL OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL O E", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0276" }, 631: { "value": "0277", "name": "LATIN SMALL LETTER CLOSED OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0277" }, 632: { "value": "0278", "name": "LATIN SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0278" }, 633: { "value": "0279", "name": "LATIN SMALL LETTER TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0279" }, 634: { "value": "027A", "name": "LATIN SMALL LETTER TURNED R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027A" }, 635: { "value": "027B", "name": "LATIN SMALL LETTER TURNED R WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED R HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027B" }, 636: { "value": "027C", "name": "LATIN SMALL LETTER R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027C" }, 637: { "value": "027D", "name": "LATIN SMALL LETTER R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HOOK", "comment": "", "uppercase_mapping": "2C64", "lowercase_mapping": "", "titlecase_mapping": "2C64", "symbol": "\u027D" }, 638: { "value": "027E", "name": "LATIN SMALL LETTER R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027E" }, 639: { "value": "027F", "name": "LATIN SMALL LETTER REVERSED R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027F" }, 640: { "value": "0280", "name": "LATIN LETTER SMALL CAPITAL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A6", "lowercase_mapping": "", "titlecase_mapping": "01A6", "symbol": "\u0280" }, 641: { "value": "0281", "name": "LATIN LETTER SMALL CAPITAL INVERTED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0281" }, 642: { "value": "0282", "name": "LATIN SMALL LETTER S WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0282" }, 643: { "value": "0283", "name": "LATIN SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A9", "lowercase_mapping": "", "titlecase_mapping": "01A9", "symbol": "\u0283" }, 644: { "value": "0284", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0284" }, 645: { "value": "0285", "name": "LATIN SMALL LETTER SQUAT REVERSED ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0285" }, 646: { "value": "0286", "name": "LATIN SMALL LETTER ESH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER ESH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0286" }, 647: { "value": "0287", "name": "LATIN SMALL LETTER TURNED T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B1", "lowercase_mapping": "", "titlecase_mapping": "A7B1", "symbol": "\u0287" }, 648: { "value": "0288", "name": "LATIN SMALL LETTER T WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T RETROFLEX HOOK", "comment": "", "uppercase_mapping": "01AE", "lowercase_mapping": "", "titlecase_mapping": "01AE", "symbol": "\u0288" }, 649: { "value": "0289", "name": "LATIN SMALL LETTER U BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0244", "lowercase_mapping": "", "titlecase_mapping": "0244", "symbol": "\u0289" }, 650: { "value": "028A", "name": "LATIN SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01B1", "lowercase_mapping": "", "titlecase_mapping": "01B1", "symbol": "\u028A" }, 651: { "value": "028B", "name": "LATIN SMALL LETTER V WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT V", "comment": "", "uppercase_mapping": "01B2", "lowercase_mapping": "", "titlecase_mapping": "01B2", "symbol": "\u028B" }, 652: { "value": "028C", "name": "LATIN SMALL LETTER TURNED V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0245", "lowercase_mapping": "", "titlecase_mapping": "0245", "symbol": "\u028C" }, 653: { "value": "028D", "name": "LATIN SMALL LETTER TURNED W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028D" }, 654: { "value": "028E", "name": "LATIN SMALL LETTER TURNED Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028E" }, 655: { "value": "028F", "name": "LATIN LETTER SMALL CAPITAL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028F" }, 656: { "value": "0290", "name": "LATIN SMALL LETTER Z WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0290" }, 657: { "value": "0291", "name": "LATIN SMALL LETTER Z WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0291" }, 658: { "value": "0292", "name": "LATIN SMALL LETTER EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH", "comment": "", "uppercase_mapping": "01B7", "lowercase_mapping": "", "titlecase_mapping": "01B7", "symbol": "\u0292" }, 659: { "value": "0293", "name": "LATIN SMALL LETTER EZH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0293" }, 661: { "value": "0295", "name": "LATIN LETTER PHARYNGEAL VOICED FRICATIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0295" }, 662: { "value": "0296", "name": "LATIN LETTER INVERTED GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0296" }, 663: { "value": "0297", "name": "LATIN LETTER STRETCHED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0297" }, 664: { "value": "0298", "name": "LATIN LETTER BILABIAL CLICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER BULLSEYE", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0298" }, 665: { "value": "0299", "name": "LATIN LETTER SMALL CAPITAL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0299" }, 666: { "value": "029A", "name": "LATIN SMALL LETTER CLOSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029A" }, 667: { "value": "029B", "name": "LATIN LETTER SMALL CAPITAL G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL G HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029B" }, 668: { "value": "029C", "name": "LATIN LETTER SMALL CAPITAL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029C" }, 669: { "value": "029D", "name": "LATIN SMALL LETTER J WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CROSSED-TAIL J", "comment": "", "uppercase_mapping": "A7B2", "lowercase_mapping": "", "titlecase_mapping": "A7B2", "symbol": "\u029D" }, 670: { "value": "029E", "name": "LATIN SMALL LETTER TURNED K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B0", "lowercase_mapping": "", "titlecase_mapping": "A7B0", "symbol": "\u029E" }, 671: { "value": "029F", "name": "LATIN LETTER SMALL CAPITAL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029F" }, 672: { "value": "02A0", "name": "LATIN SMALL LETTER Q WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Q HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A0" }, 673: { "value": "02A1", "name": "LATIN LETTER GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A1" }, 674: { "value": "02A2", "name": "LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A2" }, 675: { "value": "02A3", "name": "LATIN SMALL LETTER DZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A3" }, 676: { "value": "02A4", "name": "LATIN SMALL LETTER DEZH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A4" }, 677: { "value": "02A5", "name": "LATIN SMALL LETTER DZ DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A5" }, 678: { "value": "02A6", "name": "LATIN SMALL LETTER TS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T S", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A6" }, 679: { "value": "02A7", "name": "LATIN SMALL LETTER TESH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T ESH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A7" }, 680: { "value": "02A8", "name": "LATIN SMALL LETTER TC DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A8" }, 681: { "value": "02A9", "name": "LATIN SMALL LETTER FENG DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A9" }, 682: { "value": "02AA", "name": "LATIN SMALL LETTER LS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AA" }, 683: { "value": "02AB", "name": "LATIN SMALL LETTER LZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AB" }, 684: { "value": "02AC", "name": "LATIN LETTER BILABIAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AC" }, 685: { "value": "02AD", "name": "LATIN LETTER BIDENTAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AD" }, 686: { "value": "02AE", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AE" }, 687: { "value": "02AF", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AF" }, 881: { "value": "0371", "name": "GREEK SMALL LETTER HETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0370", "lowercase_mapping": "", "titlecase_mapping": "0370", "symbol": "\u0371" }, 883: { "value": "0373", "name": "GREEK SMALL LETTER ARCHAIC SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0372", "lowercase_mapping": "", "titlecase_mapping": "0372", "symbol": "\u0373" }, 887: { "value": "0377", "name": "GREEK SMALL LETTER PAMPHYLIAN DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0376", "lowercase_mapping": "", "titlecase_mapping": "0376", "symbol": "\u0377" }, 891: { "value": "037B", "name": "GREEK SMALL REVERSED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FD", "lowercase_mapping": "", "titlecase_mapping": "03FD", "symbol": "\u037B" }, 892: { "value": "037C", "name": "GREEK SMALL DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FE", "lowercase_mapping": "", "titlecase_mapping": "03FE", "symbol": "\u037C" }, 893: { "value": "037D", "name": "GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FF", "lowercase_mapping": "", "titlecase_mapping": "03FF", "symbol": "\u037D" }, 912: { "value": "0390", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0390" }, 940: { "value": "03AC", "name": "GREEK SMALL LETTER ALPHA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ALPHA TONOS", "comment": "", "uppercase_mapping": "0386", "lowercase_mapping": "", "titlecase_mapping": "0386", "symbol": "\u03AC" }, 941: { "value": "03AD", "name": "GREEK SMALL LETTER EPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER EPSILON TONOS", "comment": "", "uppercase_mapping": "0388", "lowercase_mapping": "", "titlecase_mapping": "0388", "symbol": "\u03AD" }, 942: { "value": "03AE", "name": "GREEK SMALL LETTER ETA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ETA TONOS", "comment": "", "uppercase_mapping": "0389", "lowercase_mapping": "", "titlecase_mapping": "0389", "symbol": "\u03AE" }, 943: { "value": "03AF", "name": "GREEK SMALL LETTER IOTA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA TONOS", "comment": "", "uppercase_mapping": "038A", "lowercase_mapping": "", "titlecase_mapping": "038A", "symbol": "\u03AF" }, 944: { "value": "03B0", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03B0" }, 945: { "value": "03B1", "name": "GREEK SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0391", "lowercase_mapping": "", "titlecase_mapping": "0391", "symbol": "\u03B1" }, 946: { "value": "03B2", "name": "GREEK SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03B2" }, 947: { "value": "03B3", "name": "GREEK SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0393", "lowercase_mapping": "", "titlecase_mapping": "0393", "symbol": "\u03B3" }, 948: { "value": "03B4", "name": "GREEK SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0394", "lowercase_mapping": "", "titlecase_mapping": "0394", "symbol": "\u03B4" }, 949: { "value": "03B5", "name": "GREEK SMALL LETTER EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03B5" }, 950: { "value": "03B6", "name": "GREEK SMALL LETTER ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0396", "lowercase_mapping": "", "titlecase_mapping": "0396", "symbol": "\u03B6" }, 951: { "value": "03B7", "name": "GREEK SMALL LETTER ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0397", "lowercase_mapping": "", "titlecase_mapping": "0397", "symbol": "\u03B7" }, 952: { "value": "03B8", "name": "GREEK SMALL LETTER THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03B8" }, 953: { "value": "03B9", "name": "GREEK SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u03B9" }, 954: { "value": "03BA", "name": "GREEK SMALL LETTER KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03BA" }, 955: { "value": "03BB", "name": "GREEK SMALL LETTER LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LAMBDA", "comment": "", "uppercase_mapping": "039B", "lowercase_mapping": "", "titlecase_mapping": "039B", "symbol": "\u03BB" }, 956: { "value": "03BC", "name": "GREEK SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\u03BC" }, 957: { "value": "03BD", "name": "GREEK SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039D", "lowercase_mapping": "", "titlecase_mapping": "039D", "symbol": "\u03BD" }, 958: { "value": "03BE", "name": "GREEK SMALL LETTER XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039E", "lowercase_mapping": "", "titlecase_mapping": "039E", "symbol": "\u03BE" }, 959: { "value": "03BF", "name": "GREEK SMALL LETTER OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039F", "lowercase_mapping": "", "titlecase_mapping": "039F", "symbol": "\u03BF" }, 960: { "value": "03C0", "name": "GREEK SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03C0" }, 961: { "value": "03C1", "name": "GREEK SMALL LETTER RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03C1" }, 962: { "value": "03C2", "name": "GREEK SMALL LETTER FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C2" }, 963: { "value": "03C3", "name": "GREEK SMALL LETTER SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C3" }, 964: { "value": "03C4", "name": "GREEK SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A4", "lowercase_mapping": "", "titlecase_mapping": "03A4", "symbol": "\u03C4" }, 965: { "value": "03C5", "name": "GREEK SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A5", "lowercase_mapping": "", "titlecase_mapping": "03A5", "symbol": "\u03C5" }, 966: { "value": "03C6", "name": "GREEK SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03C6" }, 967: { "value": "03C7", "name": "GREEK SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A7", "lowercase_mapping": "", "titlecase_mapping": "03A7", "symbol": "\u03C7" }, 968: { "value": "03C8", "name": "GREEK SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A8", "lowercase_mapping": "", "titlecase_mapping": "03A8", "symbol": "\u03C8" }, 969: { "value": "03C9", "name": "GREEK SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A9", "lowercase_mapping": "", "titlecase_mapping": "03A9", "symbol": "\u03C9" }, 970: { "value": "03CA", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS", "comment": "", "uppercase_mapping": "03AA", "lowercase_mapping": "", "titlecase_mapping": "03AA", "symbol": "\u03CA" }, 971: { "value": "03CB", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS", "comment": "", "uppercase_mapping": "03AB", "lowercase_mapping": "", "titlecase_mapping": "03AB", "symbol": "\u03CB" }, 972: { "value": "03CC", "name": "GREEK SMALL LETTER OMICRON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMICRON TONOS", "comment": "", "uppercase_mapping": "038C", "lowercase_mapping": "", "titlecase_mapping": "038C", "symbol": "\u03CC" }, 973: { "value": "03CD", "name": "GREEK SMALL LETTER UPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON TONOS", "comment": "", "uppercase_mapping": "038E", "lowercase_mapping": "", "titlecase_mapping": "038E", "symbol": "\u03CD" }, 974: { "value": "03CE", "name": "GREEK SMALL LETTER OMEGA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA TONOS", "comment": "", "uppercase_mapping": "038F", "lowercase_mapping": "", "titlecase_mapping": "038F", "symbol": "\u03CE" }, 976: { "value": "03D0", "name": "GREEK BETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER CURLED BETA", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03D0" }, 977: { "value": "03D1", "name": "GREEK THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT THETA", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03D1" }, 981: { "value": "03D5", "name": "GREEK PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT PHI", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03D5" }, 982: { "value": "03D6", "name": "GREEK PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA PI", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03D6" }, 983: { "value": "03D7", "name": "GREEK KAI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03CF", "lowercase_mapping": "", "titlecase_mapping": "03CF", "symbol": "\u03D7" }, 985: { "value": "03D9", "name": "GREEK SMALL LETTER ARCHAIC KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03D8", "lowercase_mapping": "", "titlecase_mapping": "03D8", "symbol": "\u03D9" }, 987: { "value": "03DB", "name": "GREEK SMALL LETTER STIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DA", "lowercase_mapping": "", "titlecase_mapping": "03DA", "symbol": "\u03DB" }, 989: { "value": "03DD", "name": "GREEK SMALL LETTER DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DC", "lowercase_mapping": "", "titlecase_mapping": "03DC", "symbol": "\u03DD" }, 991: { "value": "03DF", "name": "GREEK SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DE", "lowercase_mapping": "", "titlecase_mapping": "03DE", "symbol": "\u03DF" }, 993: { "value": "03E1", "name": "GREEK SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03E0", "lowercase_mapping": "", "titlecase_mapping": "03E0", "symbol": "\u03E1" }, 995: { "value": "03E3", "name": "COPTIC SMALL LETTER SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHEI", "comment": "", "uppercase_mapping": "03E2", "lowercase_mapping": "", "titlecase_mapping": "03E2", "symbol": "\u03E3" }, 997: { "value": "03E5", "name": "COPTIC SMALL LETTER FEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER FEI", "comment": "", "uppercase_mapping": "03E4", "lowercase_mapping": "", "titlecase_mapping": "03E4", "symbol": "\u03E5" }, 999: { "value": "03E7", "name": "COPTIC SMALL LETTER KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER KHEI", "comment": "", "uppercase_mapping": "03E6", "lowercase_mapping": "", "titlecase_mapping": "03E6", "symbol": "\u03E7" }, 1001: { "value": "03E9", "name": "COPTIC SMALL LETTER HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER HORI", "comment": "", "uppercase_mapping": "03E8", "lowercase_mapping": "", "titlecase_mapping": "03E8", "symbol": "\u03E9" }, 1003: { "value": "03EB", "name": "COPTIC SMALL LETTER GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER GANGIA", "comment": "", "uppercase_mapping": "03EA", "lowercase_mapping": "", "titlecase_mapping": "03EA", "symbol": "\u03EB" }, 1005: { "value": "03ED", "name": "COPTIC SMALL LETTER SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHIMA", "comment": "", "uppercase_mapping": "03EC", "lowercase_mapping": "", "titlecase_mapping": "03EC", "symbol": "\u03ED" }, 1007: { "value": "03EF", "name": "COPTIC SMALL LETTER DEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER DEI", "comment": "", "uppercase_mapping": "03EE", "lowercase_mapping": "", "titlecase_mapping": "03EE", "symbol": "\u03EF" }, 1008: { "value": "03F0", "name": "GREEK KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT KAPPA", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03F0" }, 1009: { "value": "03F1", "name": "GREEK RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER TAILED RHO", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03F1" }, 1010: { "value": "03F2", "name": "GREEK LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LUNATE SIGMA", "comment": "", "uppercase_mapping": "03F9", "lowercase_mapping": "", "titlecase_mapping": "03F9", "symbol": "\u03F2" }, 1011: { "value": "03F3", "name": "GREEK LETTER YOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "037F", "lowercase_mapping": "", "titlecase_mapping": "037F", "symbol": "\u03F3" }, 1013: { "value": "03F5", "name": "GREEK LUNATE EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03F5" }, 1016: { "value": "03F8", "name": "GREEK SMALL LETTER SHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03F7", "lowercase_mapping": "", "titlecase_mapping": "03F7", "symbol": "\u03F8" }, 1019: { "value": "03FB", "name": "GREEK SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FA", "lowercase_mapping": "", "titlecase_mapping": "03FA", "symbol": "\u03FB" }, 1020: { "value": "03FC", "name": "GREEK RHO WITH STROKE SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03FC" }, 1072: { "value": "0430", "name": "CYRILLIC SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0410", "lowercase_mapping": "", "titlecase_mapping": "0410", "symbol": "\u0430" }, 1073: { "value": "0431", "name": "CYRILLIC SMALL LETTER BE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0411", "lowercase_mapping": "", "titlecase_mapping": "0411", "symbol": "\u0431" }, 1074: { "value": "0432", "name": "CYRILLIC SMALL LETTER VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u0432" }, 1075: { "value": "0433", "name": "CYRILLIC SMALL LETTER GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE", "comment": "", "uppercase_mapping": "0413", "lowercase_mapping": "", "titlecase_mapping": "0413", "symbol": "\u0433" }, 1076: { "value": "0434", "name": "CYRILLIC SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u0434" }, 1077: { "value": "0435", "name": "CYRILLIC SMALL LETTER IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0415", "lowercase_mapping": "", "titlecase_mapping": "0415", "symbol": "\u0435" }, 1078: { "value": "0436", "name": "CYRILLIC SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0416", "lowercase_mapping": "", "titlecase_mapping": "0416", "symbol": "\u0436" }, 1079: { "value": "0437", "name": "CYRILLIC SMALL LETTER ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0417", "lowercase_mapping": "", "titlecase_mapping": "0417", "symbol": "\u0437" }, 1080: { "value": "0438", "name": "CYRILLIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER II", "comment": "", "uppercase_mapping": "0418", "lowercase_mapping": "", "titlecase_mapping": "0418", "symbol": "\u0438" }, 1081: { "value": "0439", "name": "CYRILLIC SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT II", "comment": "", "uppercase_mapping": "0419", "lowercase_mapping": "", "titlecase_mapping": "0419", "symbol": "\u0439" }, 1082: { "value": "043A", "name": "CYRILLIC SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041A", "lowercase_mapping": "", "titlecase_mapping": "041A", "symbol": "\u043A" }, 1083: { "value": "043B", "name": "CYRILLIC SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041B", "lowercase_mapping": "", "titlecase_mapping": "041B", "symbol": "\u043B" }, 1084: { "value": "043C", "name": "CYRILLIC SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041C", "lowercase_mapping": "", "titlecase_mapping": "041C", "symbol": "\u043C" }, 1085: { "value": "043D", "name": "CYRILLIC SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041D", "lowercase_mapping": "", "titlecase_mapping": "041D", "symbol": "\u043D" }, 1086: { "value": "043E", "name": "CYRILLIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u043E" }, 1087: { "value": "043F", "name": "CYRILLIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041F", "lowercase_mapping": "", "titlecase_mapping": "041F", "symbol": "\u043F" }, 1088: { "value": "0440", "name": "CYRILLIC SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0420", "lowercase_mapping": "", "titlecase_mapping": "0420", "symbol": "\u0440" }, 1089: { "value": "0441", "name": "CYRILLIC SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u0441" }, 1090: { "value": "0442", "name": "CYRILLIC SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u0442" }, 1091: { "value": "0443", "name": "CYRILLIC SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0423", "lowercase_mapping": "", "titlecase_mapping": "0423", "symbol": "\u0443" }, 1092: { "value": "0444", "name": "CYRILLIC SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0424", "lowercase_mapping": "", "titlecase_mapping": "0424", "symbol": "\u0444" }, 1093: { "value": "0445", "name": "CYRILLIC SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA", "comment": "", "uppercase_mapping": "0425", "lowercase_mapping": "", "titlecase_mapping": "0425", "symbol": "\u0445" }, 1094: { "value": "0446", "name": "CYRILLIC SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0426", "lowercase_mapping": "", "titlecase_mapping": "0426", "symbol": "\u0446" }, 1095: { "value": "0447", "name": "CYRILLIC SMALL LETTER CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0427", "lowercase_mapping": "", "titlecase_mapping": "0427", "symbol": "\u0447" }, 1096: { "value": "0448", "name": "CYRILLIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0428", "lowercase_mapping": "", "titlecase_mapping": "0428", "symbol": "\u0448" }, 1097: { "value": "0449", "name": "CYRILLIC SMALL LETTER SHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0429", "lowercase_mapping": "", "titlecase_mapping": "0429", "symbol": "\u0449" }, 1098: { "value": "044A", "name": "CYRILLIC SMALL LETTER HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u044A" }, 1099: { "value": "044B", "name": "CYRILLIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER YERI", "comment": "", "uppercase_mapping": "042B", "lowercase_mapping": "", "titlecase_mapping": "042B", "symbol": "\u044B" }, 1100: { "value": "044C", "name": "CYRILLIC SMALL LETTER SOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042C", "lowercase_mapping": "", "titlecase_mapping": "042C", "symbol": "\u044C" }, 1101: { "value": "044D", "name": "CYRILLIC SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED E", "comment": "", "uppercase_mapping": "042D", "lowercase_mapping": "", "titlecase_mapping": "042D", "symbol": "\u044D" }, 1102: { "value": "044E", "name": "CYRILLIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IU", "comment": "", "uppercase_mapping": "042E", "lowercase_mapping": "", "titlecase_mapping": "042E", "symbol": "\u044E" }, 1103: { "value": "044F", "name": "CYRILLIC SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IA", "comment": "", "uppercase_mapping": "042F", "lowercase_mapping": "", "titlecase_mapping": "042F", "symbol": "\u044F" }, 1104: { "value": "0450", "name": "CYRILLIC SMALL LETTER IE WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0400", "lowercase_mapping": "", "titlecase_mapping": "0400", "symbol": "\u0450" }, 1105: { "value": "0451", "name": "CYRILLIC SMALL LETTER IO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0401", "lowercase_mapping": "", "titlecase_mapping": "0401", "symbol": "\u0451" }, 1106: { "value": "0452", "name": "CYRILLIC SMALL LETTER DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0402", "lowercase_mapping": "", "titlecase_mapping": "0402", "symbol": "\u0452" }, 1107: { "value": "0453", "name": "CYRILLIC SMALL LETTER GJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0433 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0403", "lowercase_mapping": "", "titlecase_mapping": "0403", "symbol": "\u0453" }, 1108: { "value": "0454", "name": "CYRILLIC SMALL LETTER UKRAINIAN IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER E", "comment": "", "uppercase_mapping": "0404", "lowercase_mapping": "", "titlecase_mapping": "0404", "symbol": "\u0454" }, 1109: { "value": "0455", "name": "CYRILLIC SMALL LETTER DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0405", "lowercase_mapping": "", "titlecase_mapping": "0405", "symbol": "\u0455" }, 1110: { "value": "0456", "name": "CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER I", "comment": "", "uppercase_mapping": "0406", "lowercase_mapping": "", "titlecase_mapping": "0406", "symbol": "\u0456" }, 1111: { "value": "0457", "name": "CYRILLIC SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0456 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0407", "lowercase_mapping": "", "titlecase_mapping": "0407", "symbol": "\u0457" }, 1112: { "value": "0458", "name": "CYRILLIC SMALL LETTER JE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0408", "lowercase_mapping": "", "titlecase_mapping": "0408", "symbol": "\u0458" }, 1113: { "value": "0459", "name": "CYRILLIC SMALL LETTER LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0409", "lowercase_mapping": "", "titlecase_mapping": "0409", "symbol": "\u0459" }, 1114: { "value": "045A", "name": "CYRILLIC SMALL LETTER NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040A", "lowercase_mapping": "", "titlecase_mapping": "040A", "symbol": "\u045A" }, 1115: { "value": "045B", "name": "CYRILLIC SMALL LETTER TSHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040B", "lowercase_mapping": "", "titlecase_mapping": "040B", "symbol": "\u045B" }, 1116: { "value": "045C", "name": "CYRILLIC SMALL LETTER KJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040C", "lowercase_mapping": "", "titlecase_mapping": "040C", "symbol": "\u045C" }, 1117: { "value": "045D", "name": "CYRILLIC SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040D", "lowercase_mapping": "", "titlecase_mapping": "040D", "symbol": "\u045D" }, 1118: { "value": "045E", "name": "CYRILLIC SMALL LETTER SHORT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040E", "lowercase_mapping": "", "titlecase_mapping": "040E", "symbol": "\u045E" }, 1119: { "value": "045F", "name": "CYRILLIC SMALL LETTER DZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040F", "lowercase_mapping": "", "titlecase_mapping": "040F", "symbol": "\u045F" }, 1121: { "value": "0461", "name": "CYRILLIC SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0460", "lowercase_mapping": "", "titlecase_mapping": "0460", "symbol": "\u0461" }, 1123: { "value": "0463", "name": "CYRILLIC SMALL LETTER YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u0463" }, 1125: { "value": "0465", "name": "CYRILLIC SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0464", "lowercase_mapping": "", "titlecase_mapping": "0464", "symbol": "\u0465" }, 1127: { "value": "0467", "name": "CYRILLIC SMALL LETTER LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0466", "lowercase_mapping": "", "titlecase_mapping": "0466", "symbol": "\u0467" }, 1129: { "value": "0469", "name": "CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0468", "lowercase_mapping": "", "titlecase_mapping": "0468", "symbol": "\u0469" }, 1131: { "value": "046B", "name": "CYRILLIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046A", "lowercase_mapping": "", "titlecase_mapping": "046A", "symbol": "\u046B" }, 1133: { "value": "046D", "name": "CYRILLIC SMALL LETTER IOTIFIED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046C", "lowercase_mapping": "", "titlecase_mapping": "046C", "symbol": "\u046D" }, 1135: { "value": "046F", "name": "CYRILLIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046E", "lowercase_mapping": "", "titlecase_mapping": "046E", "symbol": "\u046F" }, 1137: { "value": "0471", "name": "CYRILLIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0470", "lowercase_mapping": "", "titlecase_mapping": "0470", "symbol": "\u0471" }, 1139: { "value": "0473", "name": "CYRILLIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0472", "lowercase_mapping": "", "titlecase_mapping": "0472", "symbol": "\u0473" }, 1141: { "value": "0475", "name": "CYRILLIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0474", "lowercase_mapping": "", "titlecase_mapping": "0474", "symbol": "\u0475" }, 1143: { "value": "0477", "name": "CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0475 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE", "comment": "", "uppercase_mapping": "0476", "lowercase_mapping": "", "titlecase_mapping": "0476", "symbol": "\u0477" }, 1145: { "value": "0479", "name": "CYRILLIC SMALL LETTER UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER UK DIGRAPH", "comment": "", "uppercase_mapping": "0478", "lowercase_mapping": "", "titlecase_mapping": "0478", "symbol": "\u0479" }, 1147: { "value": "047B", "name": "CYRILLIC SMALL LETTER ROUND OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047A", "lowercase_mapping": "", "titlecase_mapping": "047A", "symbol": "\u047B" }, 1149: { "value": "047D", "name": "CYRILLIC SMALL LETTER OMEGA WITH TITLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER OMEGA TITLO", "comment": "", "uppercase_mapping": "047C", "lowercase_mapping": "", "titlecase_mapping": "047C", "symbol": "\u047D" }, 1151: { "value": "047F", "name": "CYRILLIC SMALL LETTER OT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047E", "lowercase_mapping": "", "titlecase_mapping": "047E", "symbol": "\u047F" }, 1153: { "value": "0481", "name": "CYRILLIC SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0480", "lowercase_mapping": "", "titlecase_mapping": "0480", "symbol": "\u0481" }, 1163: { "value": "048B", "name": "CYRILLIC SMALL LETTER SHORT I WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048A", "lowercase_mapping": "", "titlecase_mapping": "048A", "symbol": "\u048B" }, 1165: { "value": "048D", "name": "CYRILLIC SMALL LETTER SEMISOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048C", "lowercase_mapping": "", "titlecase_mapping": "048C", "symbol": "\u048D" }, 1167: { "value": "048F", "name": "CYRILLIC SMALL LETTER ER WITH TICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048E", "lowercase_mapping": "", "titlecase_mapping": "048E", "symbol": "\u048F" }, 1169: { "value": "0491", "name": "CYRILLIC SMALL LETTER GHE WITH UPTURN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE WITH UPTURN", "comment": "", "uppercase_mapping": "0490", "lowercase_mapping": "", "titlecase_mapping": "0490", "symbol": "\u0491" }, 1171: { "value": "0493", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE BAR", "comment": "", "uppercase_mapping": "0492", "lowercase_mapping": "", "titlecase_mapping": "0492", "symbol": "\u0493" }, 1173: { "value": "0495", "name": "CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE HOOK", "comment": "", "uppercase_mapping": "0494", "lowercase_mapping": "", "titlecase_mapping": "0494", "symbol": "\u0495" }, 1175: { "value": "0497", "name": "CYRILLIC SMALL LETTER ZHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "0496", "lowercase_mapping": "", "titlecase_mapping": "0496", "symbol": "\u0497" }, 1177: { "value": "0499", "name": "CYRILLIC SMALL LETTER ZE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZE CEDILLA", "comment": "", "uppercase_mapping": "0498", "lowercase_mapping": "", "titlecase_mapping": "0498", "symbol": "\u0499" }, 1179: { "value": "049B", "name": "CYRILLIC SMALL LETTER KA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "049A", "lowercase_mapping": "", "titlecase_mapping": "049A", "symbol": "\u049B" }, 1181: { "value": "049D", "name": "CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA VERTICAL BAR", "comment": "", "uppercase_mapping": "049C", "lowercase_mapping": "", "titlecase_mapping": "049C", "symbol": "\u049D" }, 1183: { "value": "049F", "name": "CYRILLIC SMALL LETTER KA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA BAR", "comment": "", "uppercase_mapping": "049E", "lowercase_mapping": "", "titlecase_mapping": "049E", "symbol": "\u049F" }, 1185: { "value": "04A1", "name": "CYRILLIC SMALL LETTER BASHKIR KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED GE KA", "comment": "", "uppercase_mapping": "04A0", "lowercase_mapping": "", "titlecase_mapping": "04A0", "symbol": "\u04A1" }, 1187: { "value": "04A3", "name": "CYRILLIC SMALL LETTER EN WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04A2", "lowercase_mapping": "", "titlecase_mapping": "04A2", "symbol": "\u04A3" }, 1189: { "value": "04A5", "name": "CYRILLIC SMALL LIGATURE EN GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN GE", "comment": "", "uppercase_mapping": "04A4", "lowercase_mapping": "", "titlecase_mapping": "04A4", "symbol": "\u04A5" }, 1191: { "value": "04A7", "name": "CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER PE HOOK", "comment": "", "uppercase_mapping": "04A6", "lowercase_mapping": "", "titlecase_mapping": "04A6", "symbol": "\u04A7" }, 1193: { "value": "04A9", "name": "CYRILLIC SMALL LETTER ABKHASIAN HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER O HOOK", "comment": "", "uppercase_mapping": "04A8", "lowercase_mapping": "", "titlecase_mapping": "04A8", "symbol": "\u04A9" }, 1195: { "value": "04AB", "name": "CYRILLIC SMALL LETTER ES WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ES CEDILLA", "comment": "", "uppercase_mapping": "04AA", "lowercase_mapping": "", "titlecase_mapping": "04AA", "symbol": "\u04AB" }, 1197: { "value": "04AD", "name": "CYRILLIC SMALL LETTER TE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04AC", "lowercase_mapping": "", "titlecase_mapping": "04AC", "symbol": "\u04AD" }, 1199: { "value": "04AF", "name": "CYRILLIC SMALL LETTER STRAIGHT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04AE", "lowercase_mapping": "", "titlecase_mapping": "04AE", "symbol": "\u04AF" }, 1201: { "value": "04B1", "name": "CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER STRAIGHT U BAR", "comment": "", "uppercase_mapping": "04B0", "lowercase_mapping": "", "titlecase_mapping": "04B0", "symbol": "\u04B1" }, 1203: { "value": "04B3", "name": "CYRILLIC SMALL LETTER HA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B2", "lowercase_mapping": "", "titlecase_mapping": "04B2", "symbol": "\u04B3" }, 1205: { "value": "04B5", "name": "CYRILLIC SMALL LIGATURE TE TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE TSE", "comment": "", "uppercase_mapping": "04B4", "lowercase_mapping": "", "titlecase_mapping": "04B4", "symbol": "\u04B5" }, 1207: { "value": "04B7", "name": "CYRILLIC SMALL LETTER CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B6", "lowercase_mapping": "", "titlecase_mapping": "04B6", "symbol": "\u04B7" }, 1209: { "value": "04B9", "name": "CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE VERTICAL BAR", "comment": "", "uppercase_mapping": "04B8", "lowercase_mapping": "", "titlecase_mapping": "04B8", "symbol": "\u04B9" }, 1211: { "value": "04BB", "name": "CYRILLIC SMALL LETTER SHHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER H", "comment": "", "uppercase_mapping": "04BA", "lowercase_mapping": "", "titlecase_mapping": "04BA", "symbol": "\u04BB" }, 1213: { "value": "04BD", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK", "comment": "", "uppercase_mapping": "04BC", "lowercase_mapping": "", "titlecase_mapping": "04BC", "symbol": "\u04BD" }, 1215: { "value": "04BF", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK OGONEK", "comment": "", "uppercase_mapping": "04BE", "lowercase_mapping": "", "titlecase_mapping": "04BE", "symbol": "\u04BF" }, 1218: { "value": "04C2", "name": "CYRILLIC SMALL LETTER ZHE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT ZHE", "comment": "", "uppercase_mapping": "04C1", "lowercase_mapping": "", "titlecase_mapping": "04C1", "symbol": "\u04C2" }, 1220: { "value": "04C4", "name": "CYRILLIC SMALL LETTER KA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA HOOK", "comment": "", "uppercase_mapping": "04C3", "lowercase_mapping": "", "titlecase_mapping": "04C3", "symbol": "\u04C4" }, 1222: { "value": "04C6", "name": "CYRILLIC SMALL LETTER EL WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C5", "lowercase_mapping": "", "titlecase_mapping": "04C5", "symbol": "\u04C6" }, 1224: { "value": "04C8", "name": "CYRILLIC SMALL LETTER EN WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN HOOK", "comment": "", "uppercase_mapping": "04C7", "lowercase_mapping": "", "titlecase_mapping": "04C7", "symbol": "\u04C8" }, 1226: { "value": "04CA", "name": "CYRILLIC SMALL LETTER EN WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C9", "lowercase_mapping": "", "titlecase_mapping": "04C9", "symbol": "\u04CA" }, 1228: { "value": "04CC", "name": "CYRILLIC SMALL LETTER KHAKASSIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER", "comment": "", "uppercase_mapping": "04CB", "lowercase_mapping": "", "titlecase_mapping": "04CB", "symbol": "\u04CC" }, 1230: { "value": "04CE", "name": "CYRILLIC SMALL LETTER EM WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04CD", "lowercase_mapping": "", "titlecase_mapping": "04CD", "symbol": "\u04CE" }, 1231: { "value": "04CF", "name": "CYRILLIC SMALL LETTER PALOCHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C0", "lowercase_mapping": "", "titlecase_mapping": "04C0", "symbol": "\u04CF" }, 1233: { "value": "04D1", "name": "CYRILLIC SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D0", "lowercase_mapping": "", "titlecase_mapping": "04D0", "symbol": "\u04D1" }, 1235: { "value": "04D3", "name": "CYRILLIC SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D2", "lowercase_mapping": "", "titlecase_mapping": "04D2", "symbol": "\u04D3" }, 1237: { "value": "04D5", "name": "CYRILLIC SMALL LIGATURE A IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D4", "lowercase_mapping": "", "titlecase_mapping": "04D4", "symbol": "\u04D5" }, 1239: { "value": "04D7", "name": "CYRILLIC SMALL LETTER IE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D6", "lowercase_mapping": "", "titlecase_mapping": "04D6", "symbol": "\u04D7" }, 1241: { "value": "04D9", "name": "CYRILLIC SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D8", "lowercase_mapping": "", "titlecase_mapping": "04D8", "symbol": "\u04D9" }, 1243: { "value": "04DB", "name": "CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04D9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DA", "lowercase_mapping": "", "titlecase_mapping": "04DA", "symbol": "\u04DB" }, 1245: { "value": "04DD", "name": "CYRILLIC SMALL LETTER ZHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DC", "lowercase_mapping": "", "titlecase_mapping": "04DC", "symbol": "\u04DD" }, 1247: { "value": "04DF", "name": "CYRILLIC SMALL LETTER ZE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0437 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DE", "lowercase_mapping": "", "titlecase_mapping": "04DE", "symbol": "\u04DF" }, 1249: { "value": "04E1", "name": "CYRILLIC SMALL LETTER ABKHASIAN DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E0", "lowercase_mapping": "", "titlecase_mapping": "04E0", "symbol": "\u04E1" }, 1251: { "value": "04E3", "name": "CYRILLIC SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E2", "lowercase_mapping": "", "titlecase_mapping": "04E2", "symbol": "\u04E3" }, 1253: { "value": "04E5", "name": "CYRILLIC SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E4", "lowercase_mapping": "", "titlecase_mapping": "04E4", "symbol": "\u04E5" }, 1255: { "value": "04E7", "name": "CYRILLIC SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043E 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E6", "lowercase_mapping": "", "titlecase_mapping": "04E6", "symbol": "\u04E7" }, 1257: { "value": "04E9", "name": "CYRILLIC SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E8", "lowercase_mapping": "", "titlecase_mapping": "04E8", "symbol": "\u04E9" }, 1259: { "value": "04EB", "name": "CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04E9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EA", "lowercase_mapping": "", "titlecase_mapping": "04EA", "symbol": "\u04EB" }, 1261: { "value": "04ED", "name": "CYRILLIC SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044D 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EC", "lowercase_mapping": "", "titlecase_mapping": "04EC", "symbol": "\u04ED" }, 1263: { "value": "04EF", "name": "CYRILLIC SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EE", "lowercase_mapping": "", "titlecase_mapping": "04EE", "symbol": "\u04EF" }, 1265: { "value": "04F1", "name": "CYRILLIC SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F0", "lowercase_mapping": "", "titlecase_mapping": "04F0", "symbol": "\u04F1" }, 1267: { "value": "04F3", "name": "CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F2", "lowercase_mapping": "", "titlecase_mapping": "04F2", "symbol": "\u04F3" }, 1269: { "value": "04F5", "name": "CYRILLIC SMALL LETTER CHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0447 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F4", "lowercase_mapping": "", "titlecase_mapping": "04F4", "symbol": "\u04F5" }, 1271: { "value": "04F7", "name": "CYRILLIC SMALL LETTER GHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F6", "lowercase_mapping": "", "titlecase_mapping": "04F6", "symbol": "\u04F7" }, 1273: { "value": "04F9", "name": "CYRILLIC SMALL LETTER YERU WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F8", "lowercase_mapping": "", "titlecase_mapping": "04F8", "symbol": "\u04F9" }, 1275: { "value": "04FB", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FA", "lowercase_mapping": "", "titlecase_mapping": "04FA", "symbol": "\u04FB" }, 1277: { "value": "04FD", "name": "CYRILLIC SMALL LETTER HA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FC", "lowercase_mapping": "", "titlecase_mapping": "04FC", "symbol": "\u04FD" }, 1279: { "value": "04FF", "name": "CYRILLIC SMALL LETTER HA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FE", "lowercase_mapping": "", "titlecase_mapping": "04FE", "symbol": "\u04FF" }, 1281: { "value": "0501", "name": "CYRILLIC SMALL LETTER KOMI DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0500", "lowercase_mapping": "", "titlecase_mapping": "0500", "symbol": "\u0501" }, 1283: { "value": "0503", "name": "CYRILLIC SMALL LETTER KOMI DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0502", "lowercase_mapping": "", "titlecase_mapping": "0502", "symbol": "\u0503" }, 1285: { "value": "0505", "name": "CYRILLIC SMALL LETTER KOMI ZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0504", "lowercase_mapping": "", "titlecase_mapping": "0504", "symbol": "\u0505" }, 1287: { "value": "0507", "name": "CYRILLIC SMALL LETTER KOMI DZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0506", "lowercase_mapping": "", "titlecase_mapping": "0506", "symbol": "\u0507" }, 1289: { "value": "0509", "name": "CYRILLIC SMALL LETTER KOMI LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0508", "lowercase_mapping": "", "titlecase_mapping": "0508", "symbol": "\u0509" }, 1291: { "value": "050B", "name": "CYRILLIC SMALL LETTER KOMI NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050A", "lowercase_mapping": "", "titlecase_mapping": "050A", "symbol": "\u050B" }, 1293: { "value": "050D", "name": "CYRILLIC SMALL LETTER KOMI SJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050C", "lowercase_mapping": "", "titlecase_mapping": "050C", "symbol": "\u050D" }, 1295: { "value": "050F", "name": "CYRILLIC SMALL LETTER KOMI TJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050E", "lowercase_mapping": "", "titlecase_mapping": "050E", "symbol": "\u050F" }, 1297: { "value": "0511", "name": "CYRILLIC SMALL LETTER REVERSED ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0510", "lowercase_mapping": "", "titlecase_mapping": "0510", "symbol": "\u0511" }, 1299: { "value": "0513", "name": "CYRILLIC SMALL LETTER EL WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0512", "lowercase_mapping": "", "titlecase_mapping": "0512", "symbol": "\u0513" }, 1301: { "value": "0515", "name": "CYRILLIC SMALL LETTER LHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0514", "lowercase_mapping": "", "titlecase_mapping": "0514", "symbol": "\u0515" }, 1303: { "value": "0517", "name": "CYRILLIC SMALL LETTER RHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0516", "lowercase_mapping": "", "titlecase_mapping": "0516", "symbol": "\u0517" }, 1305: { "value": "0519", "name": "CYRILLIC SMALL LETTER YAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0518", "lowercase_mapping": "", "titlecase_mapping": "0518", "symbol": "\u0519" }, 1307: { "value": "051B", "name": "CYRILLIC SMALL LETTER QA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051A", "lowercase_mapping": "", "titlecase_mapping": "051A", "symbol": "\u051B" }, 1309: { "value": "051D", "name": "CYRILLIC SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051C", "lowercase_mapping": "", "titlecase_mapping": "051C", "symbol": "\u051D" }, 1311: { "value": "051F", "name": "CYRILLIC SMALL LETTER ALEUT KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051E", "lowercase_mapping": "", "titlecase_mapping": "051E", "symbol": "\u051F" }, 1313: { "value": "0521", "name": "CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0520", "lowercase_mapping": "", "titlecase_mapping": "0520", "symbol": "\u0521" }, 1315: { "value": "0523", "name": "CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0522", "lowercase_mapping": "", "titlecase_mapping": "0522", "symbol": "\u0523" }, 1317: { "value": "0525", "name": "CYRILLIC SMALL LETTER PE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0524", "lowercase_mapping": "", "titlecase_mapping": "0524", "symbol": "\u0525" }, 1319: { "value": "0527", "name": "CYRILLIC SMALL LETTER SHHA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0526", "lowercase_mapping": "", "titlecase_mapping": "0526", "symbol": "\u0527" }, 1321: { "value": "0529", "name": "CYRILLIC SMALL LETTER EN WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0528", "lowercase_mapping": "", "titlecase_mapping": "0528", "symbol": "\u0529" }, 1323: { "value": "052B", "name": "CYRILLIC SMALL LETTER DZZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052A", "lowercase_mapping": "", "titlecase_mapping": "052A", "symbol": "\u052B" }, 1325: { "value": "052D", "name": "CYRILLIC SMALL LETTER DCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052C", "lowercase_mapping": "", "titlecase_mapping": "052C", "symbol": "\u052D" }, 1327: { "value": "052F", "name": "CYRILLIC SMALL LETTER EL WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052E", "lowercase_mapping": "", "titlecase_mapping": "052E", "symbol": "\u052F" }, 1377: { "value": "0561", "name": "ARMENIAN SMALL LETTER AYB", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0531", "lowercase_mapping": "", "titlecase_mapping": "0531", "symbol": "\u0561" }, 1378: { "value": "0562", "name": "ARMENIAN SMALL LETTER BEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0532", "lowercase_mapping": "", "titlecase_mapping": "0532", "symbol": "\u0562" }, 1379: { "value": "0563", "name": "ARMENIAN SMALL LETTER GIM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0533", "lowercase_mapping": "", "titlecase_mapping": "0533", "symbol": "\u0563" }, 1380: { "value": "0564", "name": "ARMENIAN SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0534", "lowercase_mapping": "", "titlecase_mapping": "0534", "symbol": "\u0564" }, 1381: { "value": "0565", "name": "ARMENIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0535", "lowercase_mapping": "", "titlecase_mapping": "0535", "symbol": "\u0565" }, 1382: { "value": "0566", "name": "ARMENIAN SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0536", "lowercase_mapping": "", "titlecase_mapping": "0536", "symbol": "\u0566" }, 1383: { "value": "0567", "name": "ARMENIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0537", "lowercase_mapping": "", "titlecase_mapping": "0537", "symbol": "\u0567" }, 1384: { "value": "0568", "name": "ARMENIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0538", "lowercase_mapping": "", "titlecase_mapping": "0538", "symbol": "\u0568" }, 1385: { "value": "0569", "name": "ARMENIAN SMALL LETTER TO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0539", "lowercase_mapping": "", "titlecase_mapping": "0539", "symbol": "\u0569" }, 1386: { "value": "056A", "name": "ARMENIAN SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053A", "lowercase_mapping": "", "titlecase_mapping": "053A", "symbol": "\u056A" }, 1387: { "value": "056B", "name": "ARMENIAN SMALL LETTER INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053B", "lowercase_mapping": "", "titlecase_mapping": "053B", "symbol": "\u056B" }, 1388: { "value": "056C", "name": "ARMENIAN SMALL LETTER LIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053C", "lowercase_mapping": "", "titlecase_mapping": "053C", "symbol": "\u056C" }, 1389: { "value": "056D", "name": "ARMENIAN SMALL LETTER XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053D", "lowercase_mapping": "", "titlecase_mapping": "053D", "symbol": "\u056D" }, 1390: { "value": "056E", "name": "ARMENIAN SMALL LETTER CA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053E", "lowercase_mapping": "", "titlecase_mapping": "053E", "symbol": "\u056E" }, 1391: { "value": "056F", "name": "ARMENIAN SMALL LETTER KEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053F", "lowercase_mapping": "", "titlecase_mapping": "053F", "symbol": "\u056F" }, 1392: { "value": "0570", "name": "ARMENIAN SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0540", "lowercase_mapping": "", "titlecase_mapping": "0540", "symbol": "\u0570" }, 1393: { "value": "0571", "name": "ARMENIAN SMALL LETTER JA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0541", "lowercase_mapping": "", "titlecase_mapping": "0541", "symbol": "\u0571" }, 1394: { "value": "0572", "name": "ARMENIAN SMALL LETTER GHAD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "ARMENIAN SMALL LETTER LAD", "comment": "", "uppercase_mapping": "0542", "lowercase_mapping": "", "titlecase_mapping": "0542", "symbol": "\u0572" }, 1395: { "value": "0573", "name": "ARMENIAN SMALL LETTER CHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0543", "lowercase_mapping": "", "titlecase_mapping": "0543", "symbol": "\u0573" }, 1396: { "value": "0574", "name": "ARMENIAN SMALL LETTER MEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0544", "lowercase_mapping": "", "titlecase_mapping": "0544", "symbol": "\u0574" }, 1397: { "value": "0575", "name": "ARMENIAN SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0545", "lowercase_mapping": "", "titlecase_mapping": "0545", "symbol": "\u0575" }, 1398: { "value": "0576", "name": "ARMENIAN SMALL LETTER NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0546", "lowercase_mapping": "", "titlecase_mapping": "0546", "symbol": "\u0576" }, 1399: { "value": "0577", "name": "ARMENIAN SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0547", "lowercase_mapping": "", "titlecase_mapping": "0547", "symbol": "\u0577" }, 1400: { "value": "0578", "name": "ARMENIAN SMALL LETTER VO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0548", "lowercase_mapping": "", "titlecase_mapping": "0548", "symbol": "\u0578" }, 1401: { "value": "0579", "name": "ARMENIAN SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0549", "lowercase_mapping": "", "titlecase_mapping": "0549", "symbol": "\u0579" }, 1402: { "value": "057A", "name": "ARMENIAN SMALL LETTER PEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054A", "lowercase_mapping": "", "titlecase_mapping": "054A", "symbol": "\u057A" }, 1403: { "value": "057B", "name": "ARMENIAN SMALL LETTER JHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054B", "lowercase_mapping": "", "titlecase_mapping": "054B", "symbol": "\u057B" }, 1404: { "value": "057C", "name": "ARMENIAN SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054C", "lowercase_mapping": "", "titlecase_mapping": "054C", "symbol": "\u057C" }, 1405: { "value": "057D", "name": "ARMENIAN SMALL LETTER SEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054D", "lowercase_mapping": "", "titlecase_mapping": "054D", "symbol": "\u057D" }, 1406: { "value": "057E", "name": "ARMENIAN SMALL LETTER VEW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054E", "lowercase_mapping": "", "titlecase_mapping": "054E", "symbol": "\u057E" }, 1407: { "value": "057F", "name": "ARMENIAN SMALL LETTER TIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054F", "lowercase_mapping": "", "titlecase_mapping": "054F", "symbol": "\u057F" }, 1408: { "value": "0580", "name": "ARMENIAN SMALL LETTER REH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0550", "lowercase_mapping": "", "titlecase_mapping": "0550", "symbol": "\u0580" }, 1409: { "value": "0581", "name": "ARMENIAN SMALL LETTER CO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0551", "lowercase_mapping": "", "titlecase_mapping": "0551", "symbol": "\u0581" }, 1410: { "value": "0582", "name": "ARMENIAN SMALL LETTER YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0552", "lowercase_mapping": "", "titlecase_mapping": "0552", "symbol": "\u0582" }, 1411: { "value": "0583", "name": "ARMENIAN SMALL LETTER PIWR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0553", "lowercase_mapping": "", "titlecase_mapping": "0553", "symbol": "\u0583" }, 1412: { "value": "0584", "name": "ARMENIAN SMALL LETTER KEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0554", "lowercase_mapping": "", "titlecase_mapping": "0554", "symbol": "\u0584" }, 1413: { "value": "0585", "name": "ARMENIAN SMALL LETTER OH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0555", "lowercase_mapping": "", "titlecase_mapping": "0555", "symbol": "\u0585" }, 1414: { "value": "0586", "name": "ARMENIAN SMALL LETTER FEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0556", "lowercase_mapping": "", "titlecase_mapping": "0556", "symbol": "\u0586" }, 1415: { "value": "0587", "name": "ARMENIAN SMALL LIGATURE ECH YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0565 0582", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0587" }, 5112: { "value": "13F8", "name": "CHEROKEE SMALL LETTER YE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F0", "lowercase_mapping": "", "titlecase_mapping": "13F0", "symbol": "\u13F8" }, 5113: { "value": "13F9", "name": "CHEROKEE SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F1", "lowercase_mapping": "", "titlecase_mapping": "13F1", "symbol": "\u13F9" }, 5114: { "value": "13FA", "name": "CHEROKEE SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F2", "lowercase_mapping": "", "titlecase_mapping": "13F2", "symbol": "\u13FA" }, 5115: { "value": "13FB", "name": "CHEROKEE SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F3", "lowercase_mapping": "", "titlecase_mapping": "13F3", "symbol": "\u13FB" }, 5116: { "value": "13FC", "name": "CHEROKEE SMALL LETTER YV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F4", "lowercase_mapping": "", "titlecase_mapping": "13F4", "symbol": "\u13FC" }, 5117: { "value": "13FD", "name": "CHEROKEE SMALL LETTER MV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F5", "lowercase_mapping": "", "titlecase_mapping": "13F5", "symbol": "\u13FD" }, 7296: { "value": "1C80", "name": "CYRILLIC SMALL LETTER ROUNDED VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u1C80" }, 7297: { "value": "1C81", "name": "CYRILLIC SMALL LETTER LONG-LEGGED DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u1C81" }, 7298: { "value": "1C82", "name": "CYRILLIC SMALL LETTER NARROW O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u1C82" }, 7299: { "value": "1C83", "name": "CYRILLIC SMALL LETTER WIDE ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u1C83" }, 7300: { "value": "1C84", "name": "CYRILLIC SMALL LETTER TALL TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C84" }, 7301: { "value": "1C85", "name": "CYRILLIC SMALL LETTER THREE-LEGGED TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C85" }, 7302: { "value": "1C86", "name": "CYRILLIC SMALL LETTER TALL HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u1C86" }, 7303: { "value": "1C87", "name": "CYRILLIC SMALL LETTER TALL YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u1C87" }, 7304: { "value": "1C88", "name": "CYRILLIC SMALL LETTER UNBLENDED UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\u1C88" }, 7424: { "value": "1D00", "name": "LATIN LETTER SMALL CAPITAL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D00" }, 7425: { "value": "1D01", "name": "LATIN LETTER SMALL CAPITAL AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D01" }, 7426: { "value": "1D02", "name": "LATIN SMALL LETTER TURNED AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D02" }, 7427: { "value": "1D03", "name": "LATIN LETTER SMALL CAPITAL BARRED B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D03" }, 7428: { "value": "1D04", "name": "LATIN LETTER SMALL CAPITAL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D04" }, 7429: { "value": "1D05", "name": "LATIN LETTER SMALL CAPITAL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D05" }, 7430: { "value": "1D06", "name": "LATIN LETTER SMALL CAPITAL ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D06" }, 7431: { "value": "1D07", "name": "LATIN LETTER SMALL CAPITAL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D07" }, 7432: { "value": "1D08", "name": "LATIN SMALL LETTER TURNED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D08" }, 7433: { "value": "1D09", "name": "LATIN SMALL LETTER TURNED I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D09" }, 7434: { "value": "1D0A", "name": "LATIN LETTER SMALL CAPITAL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0A" }, 7435: { "value": "1D0B", "name": "LATIN LETTER SMALL CAPITAL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0B" }, 7436: { "value": "1D0C", "name": "LATIN LETTER SMALL CAPITAL L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0C" }, 7437: { "value": "1D0D", "name": "LATIN LETTER SMALL CAPITAL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0D" }, 7438: { "value": "1D0E", "name": "LATIN LETTER SMALL CAPITAL REVERSED N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0E" }, 7439: { "value": "1D0F", "name": "LATIN LETTER SMALL CAPITAL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0F" }, 7440: { "value": "1D10", "name": "LATIN LETTER SMALL CAPITAL OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D10" }, 7441: { "value": "1D11", "name": "LATIN SMALL LETTER SIDEWAYS O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D11" }, 7442: { "value": "1D12", "name": "LATIN SMALL LETTER SIDEWAYS OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D12" }, 7443: { "value": "1D13", "name": "LATIN SMALL LETTER SIDEWAYS O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D13" }, 7444: { "value": "1D14", "name": "LATIN SMALL LETTER TURNED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D14" }, 7445: { "value": "1D15", "name": "LATIN LETTER SMALL CAPITAL OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D15" }, 7446: { "value": "1D16", "name": "LATIN SMALL LETTER TOP HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D16" }, 7447: { "value": "1D17", "name": "LATIN SMALL LETTER BOTTOM HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D17" }, 7448: { "value": "1D18", "name": "LATIN LETTER SMALL CAPITAL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D18" }, 7449: { "value": "1D19", "name": "LATIN LETTER SMALL CAPITAL REVERSED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D19" }, 7450: { "value": "1D1A", "name": "LATIN LETTER SMALL CAPITAL TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1A" }, 7451: { "value": "1D1B", "name": "LATIN LETTER SMALL CAPITAL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1B" }, 7452: { "value": "1D1C", "name": "LATIN LETTER SMALL CAPITAL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1C" }, 7453: { "value": "1D1D", "name": "LATIN SMALL LETTER SIDEWAYS U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1D" }, 7454: { "value": "1D1E", "name": "LATIN SMALL LETTER SIDEWAYS DIAERESIZED U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1E" }, 7455: { "value": "1D1F", "name": "LATIN SMALL LETTER SIDEWAYS TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1F" }, 7456: { "value": "1D20", "name": "LATIN LETTER SMALL CAPITAL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D20" }, 7457: { "value": "1D21", "name": "LATIN LETTER SMALL CAPITAL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D21" }, 7458: { "value": "1D22", "name": "LATIN LETTER SMALL CAPITAL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D22" }, 7459: { "value": "1D23", "name": "LATIN LETTER SMALL CAPITAL EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D23" }, 7460: { "value": "1D24", "name": "LATIN LETTER VOICED LARYNGEAL SPIRANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D24" }, 7461: { "value": "1D25", "name": "LATIN LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D25" }, 7462: { "value": "1D26", "name": "GREEK LETTER SMALL CAPITAL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D26" }, 7463: { "value": "1D27", "name": "GREEK LETTER SMALL CAPITAL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D27" }, 7464: { "value": "1D28", "name": "GREEK LETTER SMALL CAPITAL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D28" }, 7465: { "value": "1D29", "name": "GREEK LETTER SMALL CAPITAL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D29" }, 7466: { "value": "1D2A", "name": "GREEK LETTER SMALL CAPITAL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2A" }, 7467: { "value": "1D2B", "name": "CYRILLIC LETTER SMALL CAPITAL EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2B" }, 7531: { "value": "1D6B", "name": "LATIN SMALL LETTER UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6B" }, 7532: { "value": "1D6C", "name": "LATIN SMALL LETTER B WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6C" }, 7533: { "value": "1D6D", "name": "LATIN SMALL LETTER D WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6D" }, 7534: { "value": "1D6E", "name": "LATIN SMALL LETTER F WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6E" }, 7535: { "value": "1D6F", "name": "LATIN SMALL LETTER M WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6F" }, 7536: { "value": "1D70", "name": "LATIN SMALL LETTER N WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D70" }, 7537: { "value": "1D71", "name": "LATIN SMALL LETTER P WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D71" }, 7538: { "value": "1D72", "name": "LATIN SMALL LETTER R WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D72" }, 7539: { "value": "1D73", "name": "LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D73" }, 7540: { "value": "1D74", "name": "LATIN SMALL LETTER S WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D74" }, 7541: { "value": "1D75", "name": "LATIN SMALL LETTER T WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D75" }, 7542: { "value": "1D76", "name": "LATIN SMALL LETTER Z WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D76" }, 7543: { "value": "1D77", "name": "LATIN SMALL LETTER TURNED G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D77" }, 7545: { "value": "1D79", "name": "LATIN SMALL LETTER INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77D", "lowercase_mapping": "", "titlecase_mapping": "A77D", "symbol": "\u1D79" }, 7546: { "value": "1D7A", "name": "LATIN SMALL LETTER TH WITH STRIKETHROUGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7A" }, 7547: { "value": "1D7B", "name": "LATIN SMALL CAPITAL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7B" }, 7548: { "value": "1D7C", "name": "LATIN SMALL LETTER IOTA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7C" }, 7549: { "value": "1D7D", "name": "LATIN SMALL LETTER P WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C63", "lowercase_mapping": "", "titlecase_mapping": "2C63", "symbol": "\u1D7D" }, 7550: { "value": "1D7E", "name": "LATIN SMALL CAPITAL LETTER U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7E" }, 7551: { "value": "1D7F", "name": "LATIN SMALL LETTER UPSILON WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7F" }, 7552: { "value": "1D80", "name": "LATIN SMALL LETTER B WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D80" }, 7553: { "value": "1D81", "name": "LATIN SMALL LETTER D WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D81" }, 7554: { "value": "1D82", "name": "LATIN SMALL LETTER F WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D82" }, 7555: { "value": "1D83", "name": "LATIN SMALL LETTER G WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D83" }, 7556: { "value": "1D84", "name": "LATIN SMALL LETTER K WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D84" }, 7557: { "value": "1D85", "name": "LATIN SMALL LETTER L WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D85" }, 7558: { "value": "1D86", "name": "LATIN SMALL LETTER M WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D86" }, 7559: { "value": "1D87", "name": "LATIN SMALL LETTER N WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D87" }, 7560: { "value": "1D88", "name": "LATIN SMALL LETTER P WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D88" }, 7561: { "value": "1D89", "name": "LATIN SMALL LETTER R WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D89" }, 7562: { "value": "1D8A", "name": "LATIN SMALL LETTER S WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8A" }, 7563: { "value": "1D8B", "name": "LATIN SMALL LETTER ESH WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8B" }, 7564: { "value": "1D8C", "name": "LATIN SMALL LETTER V WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8C" }, 7565: { "value": "1D8D", "name": "LATIN SMALL LETTER X WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8D" }, 7566: { "value": "1D8E", "name": "LATIN SMALL LETTER Z WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8E" }, 7567: { "value": "1D8F", "name": "LATIN SMALL LETTER A WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8F" }, 7568: { "value": "1D90", "name": "LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D90" }, 7569: { "value": "1D91", "name": "LATIN SMALL LETTER D WITH HOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D91" }, 7570: { "value": "1D92", "name": "LATIN SMALL LETTER E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D92" }, 7571: { "value": "1D93", "name": "LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D93" }, 7572: { "value": "1D94", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D94" }, 7573: { "value": "1D95", "name": "LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D95" }, 7574: { "value": "1D96", "name": "LATIN SMALL LETTER I WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D96" }, 7575: { "value": "1D97", "name": "LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D97" }, 7576: { "value": "1D98", "name": "LATIN SMALL LETTER ESH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D98" }, 7577: { "value": "1D99", "name": "LATIN SMALL LETTER U WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D99" }, 7578: { "value": "1D9A", "name": "LATIN SMALL LETTER EZH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D9A" }, 7681: { "value": "1E01", "name": "LATIN SMALL LETTER A WITH RING BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0325", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E00", "lowercase_mapping": "", "titlecase_mapping": "1E00", "symbol": "\u1E01" }, 7683: { "value": "1E03", "name": "LATIN SMALL LETTER B WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E02", "lowercase_mapping": "", "titlecase_mapping": "1E02", "symbol": "\u1E03" }, 7685: { "value": "1E05", "name": "LATIN SMALL LETTER B WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E04", "lowercase_mapping": "", "titlecase_mapping": "1E04", "symbol": "\u1E05" }, 7687: { "value": "1E07", "name": "LATIN SMALL LETTER B WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E06", "lowercase_mapping": "", "titlecase_mapping": "1E06", "symbol": "\u1E07" }, 7689: { "value": "1E09", "name": "LATIN SMALL LETTER C WITH CEDILLA AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E08", "lowercase_mapping": "", "titlecase_mapping": "1E08", "symbol": "\u1E09" }, 7691: { "value": "1E0B", "name": "LATIN SMALL LETTER D WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0A", "lowercase_mapping": "", "titlecase_mapping": "1E0A", "symbol": "\u1E0B" }, 7693: { "value": "1E0D", "name": "LATIN SMALL LETTER D WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0C", "lowercase_mapping": "", "titlecase_mapping": "1E0C", "symbol": "\u1E0D" }, 7695: { "value": "1E0F", "name": "LATIN SMALL LETTER D WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0E", "lowercase_mapping": "", "titlecase_mapping": "1E0E", "symbol": "\u1E0F" }, 7697: { "value": "1E11", "name": "LATIN SMALL LETTER D WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E10", "lowercase_mapping": "", "titlecase_mapping": "1E10", "symbol": "\u1E11" }, 7699: { "value": "1E13", "name": "LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E12", "lowercase_mapping": "", "titlecase_mapping": "1E12", "symbol": "\u1E13" }, 7701: { "value": "1E15", "name": "LATIN SMALL LETTER E WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E14", "lowercase_mapping": "", "titlecase_mapping": "1E14", "symbol": "\u1E15" }, 7703: { "value": "1E17", "name": "LATIN SMALL LETTER E WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E16", "lowercase_mapping": "", "titlecase_mapping": "1E16", "symbol": "\u1E17" }, 7705: { "value": "1E19", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E18", "lowercase_mapping": "", "titlecase_mapping": "1E18", "symbol": "\u1E19" }, 7707: { "value": "1E1B", "name": "LATIN SMALL LETTER E WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1A", "lowercase_mapping": "", "titlecase_mapping": "1E1A", "symbol": "\u1E1B" }, 7709: { "value": "1E1D", "name": "LATIN SMALL LETTER E WITH CEDILLA AND BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0229 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1C", "lowercase_mapping": "", "titlecase_mapping": "1E1C", "symbol": "\u1E1D" }, 7711: { "value": "1E1F", "name": "LATIN SMALL LETTER F WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0066 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1E", "lowercase_mapping": "", "titlecase_mapping": "1E1E", "symbol": "\u1E1F" }, 7713: { "value": "1E21", "name": "LATIN SMALL LETTER G WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E20", "lowercase_mapping": "", "titlecase_mapping": "1E20", "symbol": "\u1E21" }, 7715: { "value": "1E23", "name": "LATIN SMALL LETTER H WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E22", "lowercase_mapping": "", "titlecase_mapping": "1E22", "symbol": "\u1E23" }, 7717: { "value": "1E25", "name": "LATIN SMALL LETTER H WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E24", "lowercase_mapping": "", "titlecase_mapping": "1E24", "symbol": "\u1E25" }, 7719: { "value": "1E27", "name": "LATIN SMALL LETTER H WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E26", "lowercase_mapping": "", "titlecase_mapping": "1E26", "symbol": "\u1E27" }, 7721: { "value": "1E29", "name": "LATIN SMALL LETTER H WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E28", "lowercase_mapping": "", "titlecase_mapping": "1E28", "symbol": "\u1E29" }, 7723: { "value": "1E2B", "name": "LATIN SMALL LETTER H WITH BREVE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 032E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2A", "lowercase_mapping": "", "titlecase_mapping": "1E2A", "symbol": "\u1E2B" }, 7725: { "value": "1E2D", "name": "LATIN SMALL LETTER I WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2C", "lowercase_mapping": "", "titlecase_mapping": "1E2C", "symbol": "\u1E2D" }, 7727: { "value": "1E2F", "name": "LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2E", "lowercase_mapping": "", "titlecase_mapping": "1E2E", "symbol": "\u1E2F" }, 7729: { "value": "1E31", "name": "LATIN SMALL LETTER K WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E30", "lowercase_mapping": "", "titlecase_mapping": "1E30", "symbol": "\u1E31" }, 7731: { "value": "1E33", "name": "LATIN SMALL LETTER K WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E32", "lowercase_mapping": "", "titlecase_mapping": "1E32", "symbol": "\u1E33" }, 7733: { "value": "1E35", "name": "LATIN SMALL LETTER K WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E34", "lowercase_mapping": "", "titlecase_mapping": "1E34", "symbol": "\u1E35" }, 7735: { "value": "1E37", "name": "LATIN SMALL LETTER L WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E36", "lowercase_mapping": "", "titlecase_mapping": "1E36", "symbol": "\u1E37" }, 7737: { "value": "1E39", "name": "LATIN SMALL LETTER L WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E37 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E38", "lowercase_mapping": "", "titlecase_mapping": "1E38", "symbol": "\u1E39" }, 7739: { "value": "1E3B", "name": "LATIN SMALL LETTER L WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3A", "lowercase_mapping": "", "titlecase_mapping": "1E3A", "symbol": "\u1E3B" }, 7741: { "value": "1E3D", "name": "LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3C", "lowercase_mapping": "", "titlecase_mapping": "1E3C", "symbol": "\u1E3D" }, 7743: { "value": "1E3F", "name": "LATIN SMALL LETTER M WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3E", "lowercase_mapping": "", "titlecase_mapping": "1E3E", "symbol": "\u1E3F" }, 7745: { "value": "1E41", "name": "LATIN SMALL LETTER M WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E40", "lowercase_mapping": "", "titlecase_mapping": "1E40", "symbol": "\u1E41" }, 7747: { "value": "1E43", "name": "LATIN SMALL LETTER M WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E42", "lowercase_mapping": "", "titlecase_mapping": "1E42", "symbol": "\u1E43" }, 7749: { "value": "1E45", "name": "LATIN SMALL LETTER N WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E44", "lowercase_mapping": "", "titlecase_mapping": "1E44", "symbol": "\u1E45" }, 7751: { "value": "1E47", "name": "LATIN SMALL LETTER N WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E46", "lowercase_mapping": "", "titlecase_mapping": "1E46", "symbol": "\u1E47" }, 7753: { "value": "1E49", "name": "LATIN SMALL LETTER N WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E48", "lowercase_mapping": "", "titlecase_mapping": "1E48", "symbol": "\u1E49" }, 7755: { "value": "1E4B", "name": "LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4A", "lowercase_mapping": "", "titlecase_mapping": "1E4A", "symbol": "\u1E4B" }, 7757: { "value": "1E4D", "name": "LATIN SMALL LETTER O WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4C", "lowercase_mapping": "", "titlecase_mapping": "1E4C", "symbol": "\u1E4D" }, 7759: { "value": "1E4F", "name": "LATIN SMALL LETTER O WITH TILDE AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4E", "lowercase_mapping": "", "titlecase_mapping": "1E4E", "symbol": "\u1E4F" }, 7761: { "value": "1E51", "name": "LATIN SMALL LETTER O WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E50", "lowercase_mapping": "", "titlecase_mapping": "1E50", "symbol": "\u1E51" }, 7763: { "value": "1E53", "name": "LATIN SMALL LETTER O WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E52", "lowercase_mapping": "", "titlecase_mapping": "1E52", "symbol": "\u1E53" }, 7765: { "value": "1E55", "name": "LATIN SMALL LETTER P WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E54", "lowercase_mapping": "", "titlecase_mapping": "1E54", "symbol": "\u1E55" }, 7767: { "value": "1E57", "name": "LATIN SMALL LETTER P WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E56", "lowercase_mapping": "", "titlecase_mapping": "1E56", "symbol": "\u1E57" }, 7769: { "value": "1E59", "name": "LATIN SMALL LETTER R WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E58", "lowercase_mapping": "", "titlecase_mapping": "1E58", "symbol": "\u1E59" }, 7771: { "value": "1E5B", "name": "LATIN SMALL LETTER R WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5A", "lowercase_mapping": "", "titlecase_mapping": "1E5A", "symbol": "\u1E5B" }, 7773: { "value": "1E5D", "name": "LATIN SMALL LETTER R WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E5B 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5C", "lowercase_mapping": "", "titlecase_mapping": "1E5C", "symbol": "\u1E5D" }, 7775: { "value": "1E5F", "name": "LATIN SMALL LETTER R WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5E", "lowercase_mapping": "", "titlecase_mapping": "1E5E", "symbol": "\u1E5F" }, 7777: { "value": "1E61", "name": "LATIN SMALL LETTER S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E61" }, 7779: { "value": "1E63", "name": "LATIN SMALL LETTER S WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E62", "lowercase_mapping": "", "titlecase_mapping": "1E62", "symbol": "\u1E63" }, 7781: { "value": "1E65", "name": "LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "015B 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E64", "lowercase_mapping": "", "titlecase_mapping": "1E64", "symbol": "\u1E65" }, 7783: { "value": "1E67", "name": "LATIN SMALL LETTER S WITH CARON AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0161 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E66", "lowercase_mapping": "", "titlecase_mapping": "1E66", "symbol": "\u1E67" }, 7785: { "value": "1E69", "name": "LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E63 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E68", "lowercase_mapping": "", "titlecase_mapping": "1E68", "symbol": "\u1E69" }, 7787: { "value": "1E6B", "name": "LATIN SMALL LETTER T WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6A", "lowercase_mapping": "", "titlecase_mapping": "1E6A", "symbol": "\u1E6B" }, 7789: { "value": "1E6D", "name": "LATIN SMALL LETTER T WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6C", "lowercase_mapping": "", "titlecase_mapping": "1E6C", "symbol": "\u1E6D" }, 7791: { "value": "1E6F", "name": "LATIN SMALL LETTER T WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6E", "lowercase_mapping": "", "titlecase_mapping": "1E6E", "symbol": "\u1E6F" }, 7793: { "value": "1E71", "name": "LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E70", "lowercase_mapping": "", "titlecase_mapping": "1E70", "symbol": "\u1E71" }, 7795: { "value": "1E73", "name": "LATIN SMALL LETTER U WITH DIAERESIS BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0324", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E72", "lowercase_mapping": "", "titlecase_mapping": "1E72", "symbol": "\u1E73" }, 7797: { "value": "1E75", "name": "LATIN SMALL LETTER U WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E74", "lowercase_mapping": "", "titlecase_mapping": "1E74", "symbol": "\u1E75" }, 7799: { "value": "1E77", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E76", "lowercase_mapping": "", "titlecase_mapping": "1E76", "symbol": "\u1E77" }, 7801: { "value": "1E79", "name": "LATIN SMALL LETTER U WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0169 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E78", "lowercase_mapping": "", "titlecase_mapping": "1E78", "symbol": "\u1E79" }, 7803: { "value": "1E7B", "name": "LATIN SMALL LETTER U WITH MACRON AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "016B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7A", "lowercase_mapping": "", "titlecase_mapping": "1E7A", "symbol": "\u1E7B" }, 7805: { "value": "1E7D", "name": "LATIN SMALL LETTER V WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7C", "lowercase_mapping": "", "titlecase_mapping": "1E7C", "symbol": "\u1E7D" }, 7807: { "value": "1E7F", "name": "LATIN SMALL LETTER V WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7E", "lowercase_mapping": "", "titlecase_mapping": "1E7E", "symbol": "\u1E7F" }, 7809: { "value": "1E81", "name": "LATIN SMALL LETTER W WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E80", "lowercase_mapping": "", "titlecase_mapping": "1E80", "symbol": "\u1E81" }, 7811: { "value": "1E83", "name": "LATIN SMALL LETTER W WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E82", "lowercase_mapping": "", "titlecase_mapping": "1E82", "symbol": "\u1E83" }, 7813: { "value": "1E85", "name": "LATIN SMALL LETTER W WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E84", "lowercase_mapping": "", "titlecase_mapping": "1E84", "symbol": "\u1E85" }, 7815: { "value": "1E87", "name": "LATIN SMALL LETTER W WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E86", "lowercase_mapping": "", "titlecase_mapping": "1E86", "symbol": "\u1E87" }, 7817: { "value": "1E89", "name": "LATIN SMALL LETTER W WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E88", "lowercase_mapping": "", "titlecase_mapping": "1E88", "symbol": "\u1E89" }, 7819: { "value": "1E8B", "name": "LATIN SMALL LETTER X WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8A", "lowercase_mapping": "", "titlecase_mapping": "1E8A", "symbol": "\u1E8B" }, 7821: { "value": "1E8D", "name": "LATIN SMALL LETTER X WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8C", "lowercase_mapping": "", "titlecase_mapping": "1E8C", "symbol": "\u1E8D" }, 7823: { "value": "1E8F", "name": "LATIN SMALL LETTER Y WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8E", "lowercase_mapping": "", "titlecase_mapping": "1E8E", "symbol": "\u1E8F" }, 7825: { "value": "1E91", "name": "LATIN SMALL LETTER Z WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90", "lowercase_mapping": "", "titlecase_mapping": "1E90", "symbol": "\u1E91" }, 7827: { "value": "1E93", "name": "LATIN SMALL LETTER Z WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E92", "lowercase_mapping": "", "titlecase_mapping": "1E92", "symbol": "\u1E93" }, 7829: { "value": "1E95", "name": "LATIN SMALL LETTER Z WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E94", "lowercase_mapping": "", "titlecase_mapping": "1E94", "symbol": "\u1E95" }, 7830: { "value": "1E96", "name": "LATIN SMALL LETTER H WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E96" }, 7831: { "value": "1E97", "name": "LATIN SMALL LETTER T WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E97" }, 7832: { "value": "1E98", "name": "LATIN SMALL LETTER W WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E98" }, 7833: { "value": "1E99", "name": "LATIN SMALL LETTER Y WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E99" }, 7834: { "value": "1E9A", "name": "LATIN SMALL LETTER A WITH RIGHT HALF RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061 02BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9A" }, 7835: { "value": "1E9B", "name": "LATIN SMALL LETTER LONG S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "017F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E9B" }, 7836: { "value": "1E9C", "name": "LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9C" }, 7837: { "value": "1E9D", "name": "LATIN SMALL LETTER LONG S WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9D" }, 7839: { "value": "1E9F", "name": "LATIN SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9F" }, 7841: { "value": "1EA1", "name": "LATIN SMALL LETTER A WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA0", "lowercase_mapping": "", "titlecase_mapping": "1EA0", "symbol": "\u1EA1" }, 7843: { "value": "1EA3", "name": "LATIN SMALL LETTER A WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA2", "lowercase_mapping": "", "titlecase_mapping": "1EA2", "symbol": "\u1EA3" }, 7845: { "value": "1EA5", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA4", "lowercase_mapping": "", "titlecase_mapping": "1EA4", "symbol": "\u1EA5" }, 7847: { "value": "1EA7", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA6", "lowercase_mapping": "", "titlecase_mapping": "1EA6", "symbol": "\u1EA7" }, 7849: { "value": "1EA9", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA8", "lowercase_mapping": "", "titlecase_mapping": "1EA8", "symbol": "\u1EA9" }, 7851: { "value": "1EAB", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAA", "lowercase_mapping": "", "titlecase_mapping": "1EAA", "symbol": "\u1EAB" }, 7853: { "value": "1EAD", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAC", "lowercase_mapping": "", "titlecase_mapping": "1EAC", "symbol": "\u1EAD" }, 7855: { "value": "1EAF", "name": "LATIN SMALL LETTER A WITH BREVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAE", "lowercase_mapping": "", "titlecase_mapping": "1EAE", "symbol": "\u1EAF" }, 7857: { "value": "1EB1", "name": "LATIN SMALL LETTER A WITH BREVE AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB0", "lowercase_mapping": "", "titlecase_mapping": "1EB0", "symbol": "\u1EB1" }, 7859: { "value": "1EB3", "name": "LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB2", "lowercase_mapping": "", "titlecase_mapping": "1EB2", "symbol": "\u1EB3" }, 7861: { "value": "1EB5", "name": "LATIN SMALL LETTER A WITH BREVE AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB4", "lowercase_mapping": "", "titlecase_mapping": "1EB4", "symbol": "\u1EB5" }, 7863: { "value": "1EB7", "name": "LATIN SMALL LETTER A WITH BREVE AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB6", "lowercase_mapping": "", "titlecase_mapping": "1EB6", "symbol": "\u1EB7" }, 7865: { "value": "1EB9", "name": "LATIN SMALL LETTER E WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB8", "lowercase_mapping": "", "titlecase_mapping": "1EB8", "symbol": "\u1EB9" }, 7867: { "value": "1EBB", "name": "LATIN SMALL LETTER E WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBA", "lowercase_mapping": "", "titlecase_mapping": "1EBA", "symbol": "\u1EBB" }, 7869: { "value": "1EBD", "name": "LATIN SMALL LETTER E WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBC", "lowercase_mapping": "", "titlecase_mapping": "1EBC", "symbol": "\u1EBD" }, 7871: { "value": "1EBF", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBE", "lowercase_mapping": "", "titlecase_mapping": "1EBE", "symbol": "\u1EBF" }, 7873: { "value": "1EC1", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC0", "lowercase_mapping": "", "titlecase_mapping": "1EC0", "symbol": "\u1EC1" }, 7875: { "value": "1EC3", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC2", "lowercase_mapping": "", "titlecase_mapping": "1EC2", "symbol": "\u1EC3" }, 7877: { "value": "1EC5", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC4", "lowercase_mapping": "", "titlecase_mapping": "1EC4", "symbol": "\u1EC5" }, 7879: { "value": "1EC7", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EB9 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC6", "lowercase_mapping": "", "titlecase_mapping": "1EC6", "symbol": "\u1EC7" }, 7881: { "value": "1EC9", "name": "LATIN SMALL LETTER I WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC8", "lowercase_mapping": "", "titlecase_mapping": "1EC8", "symbol": "\u1EC9" }, 7883: { "value": "1ECB", "name": "LATIN SMALL LETTER I WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECA", "lowercase_mapping": "", "titlecase_mapping": "1ECA", "symbol": "\u1ECB" }, 7885: { "value": "1ECD", "name": "LATIN SMALL LETTER O WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECC", "lowercase_mapping": "", "titlecase_mapping": "1ECC", "symbol": "\u1ECD" }, 7887: { "value": "1ECF", "name": "LATIN SMALL LETTER O WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECE", "lowercase_mapping": "", "titlecase_mapping": "1ECE", "symbol": "\u1ECF" }, 7889: { "value": "1ED1", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED0", "lowercase_mapping": "", "titlecase_mapping": "1ED0", "symbol": "\u1ED1" }, 7891: { "value": "1ED3", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED2", "lowercase_mapping": "", "titlecase_mapping": "1ED2", "symbol": "\u1ED3" }, 7893: { "value": "1ED5", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED4", "lowercase_mapping": "", "titlecase_mapping": "1ED4", "symbol": "\u1ED5" }, 7895: { "value": "1ED7", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED6", "lowercase_mapping": "", "titlecase_mapping": "1ED6", "symbol": "\u1ED7" }, 7897: { "value": "1ED9", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1ECD 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED8", "lowercase_mapping": "", "titlecase_mapping": "1ED8", "symbol": "\u1ED9" }, 7899: { "value": "1EDB", "name": "LATIN SMALL LETTER O WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDA", "lowercase_mapping": "", "titlecase_mapping": "1EDA", "symbol": "\u1EDB" }, 7901: { "value": "1EDD", "name": "LATIN SMALL LETTER O WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDC", "lowercase_mapping": "", "titlecase_mapping": "1EDC", "symbol": "\u1EDD" }, 7903: { "value": "1EDF", "name": "LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDE", "lowercase_mapping": "", "titlecase_mapping": "1EDE", "symbol": "\u1EDF" }, 7905: { "value": "1EE1", "name": "LATIN SMALL LETTER O WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE0", "lowercase_mapping": "", "titlecase_mapping": "1EE0", "symbol": "\u1EE1" }, 7907: { "value": "1EE3", "name": "LATIN SMALL LETTER O WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE2", "lowercase_mapping": "", "titlecase_mapping": "1EE2", "symbol": "\u1EE3" }, 7909: { "value": "1EE5", "name": "LATIN SMALL LETTER U WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE4", "lowercase_mapping": "", "titlecase_mapping": "1EE4", "symbol": "\u1EE5" }, 7911: { "value": "1EE7", "name": "LATIN SMALL LETTER U WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE6", "lowercase_mapping": "", "titlecase_mapping": "1EE6", "symbol": "\u1EE7" }, 7913: { "value": "1EE9", "name": "LATIN SMALL LETTER U WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE8", "lowercase_mapping": "", "titlecase_mapping": "1EE8", "symbol": "\u1EE9" }, 7915: { "value": "1EEB", "name": "LATIN SMALL LETTER U WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEA", "lowercase_mapping": "", "titlecase_mapping": "1EEA", "symbol": "\u1EEB" }, 7917: { "value": "1EED", "name": "LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEC", "lowercase_mapping": "", "titlecase_mapping": "1EEC", "symbol": "\u1EED" }, 7919: { "value": "1EEF", "name": "LATIN SMALL LETTER U WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEE", "lowercase_mapping": "", "titlecase_mapping": "1EEE", "symbol": "\u1EEF" }, 7921: { "value": "1EF1", "name": "LATIN SMALL LETTER U WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF0", "lowercase_mapping": "", "titlecase_mapping": "1EF0", "symbol": "\u1EF1" }, 7923: { "value": "1EF3", "name": "LATIN SMALL LETTER Y WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF2", "lowercase_mapping": "", "titlecase_mapping": "1EF2", "symbol": "\u1EF3" }, 7925: { "value": "1EF5", "name": "LATIN SMALL LETTER Y WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF4", "lowercase_mapping": "", "titlecase_mapping": "1EF4", "symbol": "\u1EF5" }, 7927: { "value": "1EF7", "name": "LATIN SMALL LETTER Y WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF6", "lowercase_mapping": "", "titlecase_mapping": "1EF6", "symbol": "\u1EF7" }, 7929: { "value": "1EF9", "name": "LATIN SMALL LETTER Y WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF8", "lowercase_mapping": "", "titlecase_mapping": "1EF8", "symbol": "\u1EF9" }, 7931: { "value": "1EFB", "name": "LATIN SMALL LETTER MIDDLE-WELSH LL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFA", "lowercase_mapping": "", "titlecase_mapping": "1EFA", "symbol": "\u1EFB" }, 7933: { "value": "1EFD", "name": "LATIN SMALL LETTER MIDDLE-WELSH V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFC", "lowercase_mapping": "", "titlecase_mapping": "1EFC", "symbol": "\u1EFD" }, 7935: { "value": "1EFF", "name": "LATIN SMALL LETTER Y WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFE", "lowercase_mapping": "", "titlecase_mapping": "1EFE", "symbol": "\u1EFF" }, 7936: { "value": "1F00", "name": "GREEK SMALL LETTER ALPHA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F08", "lowercase_mapping": "", "titlecase_mapping": "1F08", "symbol": "\u1F00" }, 7937: { "value": "1F01", "name": "GREEK SMALL LETTER ALPHA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F09", "lowercase_mapping": "", "titlecase_mapping": "1F09", "symbol": "\u1F01" }, 7938: { "value": "1F02", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0A", "lowercase_mapping": "", "titlecase_mapping": "1F0A", "symbol": "\u1F02" }, 7939: { "value": "1F03", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0B", "lowercase_mapping": "", "titlecase_mapping": "1F0B", "symbol": "\u1F03" }, 7940: { "value": "1F04", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0C", "lowercase_mapping": "", "titlecase_mapping": "1F0C", "symbol": "\u1F04" }, 7941: { "value": "1F05", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0D", "lowercase_mapping": "", "titlecase_mapping": "1F0D", "symbol": "\u1F05" }, 7942: { "value": "1F06", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0E", "lowercase_mapping": "", "titlecase_mapping": "1F0E", "symbol": "\u1F06" }, 7943: { "value": "1F07", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0F", "lowercase_mapping": "", "titlecase_mapping": "1F0F", "symbol": "\u1F07" }, 7952: { "value": "1F10", "name": "GREEK SMALL LETTER EPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F18", "lowercase_mapping": "", "titlecase_mapping": "1F18", "symbol": "\u1F10" }, 7953: { "value": "1F11", "name": "GREEK SMALL LETTER EPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F19", "lowercase_mapping": "", "titlecase_mapping": "1F19", "symbol": "\u1F11" }, 7954: { "value": "1F12", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1A", "lowercase_mapping": "", "titlecase_mapping": "1F1A", "symbol": "\u1F12" }, 7955: { "value": "1F13", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1B", "lowercase_mapping": "", "titlecase_mapping": "1F1B", "symbol": "\u1F13" }, 7956: { "value": "1F14", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1C", "lowercase_mapping": "", "titlecase_mapping": "1F1C", "symbol": "\u1F14" }, 7957: { "value": "1F15", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1D", "lowercase_mapping": "", "titlecase_mapping": "1F1D", "symbol": "\u1F15" }, 7968: { "value": "1F20", "name": "GREEK SMALL LETTER ETA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F28", "lowercase_mapping": "", "titlecase_mapping": "1F28", "symbol": "\u1F20" }, 7969: { "value": "1F21", "name": "GREEK SMALL LETTER ETA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F29", "lowercase_mapping": "", "titlecase_mapping": "1F29", "symbol": "\u1F21" }, 7970: { "value": "1F22", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2A", "lowercase_mapping": "", "titlecase_mapping": "1F2A", "symbol": "\u1F22" }, 7971: { "value": "1F23", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2B", "lowercase_mapping": "", "titlecase_mapping": "1F2B", "symbol": "\u1F23" }, 7972: { "value": "1F24", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2C", "lowercase_mapping": "", "titlecase_mapping": "1F2C", "symbol": "\u1F24" }, 7973: { "value": "1F25", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2D", "lowercase_mapping": "", "titlecase_mapping": "1F2D", "symbol": "\u1F25" }, 7974: { "value": "1F26", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2E", "lowercase_mapping": "", "titlecase_mapping": "1F2E", "symbol": "\u1F26" }, 7975: { "value": "1F27", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2F", "lowercase_mapping": "", "titlecase_mapping": "1F2F", "symbol": "\u1F27" }, 7984: { "value": "1F30", "name": "GREEK SMALL LETTER IOTA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F38", "lowercase_mapping": "", "titlecase_mapping": "1F38", "symbol": "\u1F30" }, 7985: { "value": "1F31", "name": "GREEK SMALL LETTER IOTA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F39", "lowercase_mapping": "", "titlecase_mapping": "1F39", "symbol": "\u1F31" }, 7986: { "value": "1F32", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3A", "lowercase_mapping": "", "titlecase_mapping": "1F3A", "symbol": "\u1F32" }, 7987: { "value": "1F33", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3B", "lowercase_mapping": "", "titlecase_mapping": "1F3B", "symbol": "\u1F33" }, 7988: { "value": "1F34", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3C", "lowercase_mapping": "", "titlecase_mapping": "1F3C", "symbol": "\u1F34" }, 7989: { "value": "1F35", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3D", "lowercase_mapping": "", "titlecase_mapping": "1F3D", "symbol": "\u1F35" }, 7990: { "value": "1F36", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3E", "lowercase_mapping": "", "titlecase_mapping": "1F3E", "symbol": "\u1F36" }, 7991: { "value": "1F37", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3F", "lowercase_mapping": "", "titlecase_mapping": "1F3F", "symbol": "\u1F37" }, 8000: { "value": "1F40", "name": "GREEK SMALL LETTER OMICRON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F48", "lowercase_mapping": "", "titlecase_mapping": "1F48", "symbol": "\u1F40" }, 8001: { "value": "1F41", "name": "GREEK SMALL LETTER OMICRON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F49", "lowercase_mapping": "", "titlecase_mapping": "1F49", "symbol": "\u1F41" }, 8002: { "value": "1F42", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4A", "lowercase_mapping": "", "titlecase_mapping": "1F4A", "symbol": "\u1F42" }, 8003: { "value": "1F43", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4B", "lowercase_mapping": "", "titlecase_mapping": "1F4B", "symbol": "\u1F43" }, 8004: { "value": "1F44", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4C", "lowercase_mapping": "", "titlecase_mapping": "1F4C", "symbol": "\u1F44" }, 8005: { "value": "1F45", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4D", "lowercase_mapping": "", "titlecase_mapping": "1F4D", "symbol": "\u1F45" }, 8016: { "value": "1F50", "name": "GREEK SMALL LETTER UPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F50" }, 8017: { "value": "1F51", "name": "GREEK SMALL LETTER UPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F59", "lowercase_mapping": "", "titlecase_mapping": "1F59", "symbol": "\u1F51" }, 8018: { "value": "1F52", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F52" }, 8019: { "value": "1F53", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5B", "lowercase_mapping": "", "titlecase_mapping": "1F5B", "symbol": "\u1F53" }, 8020: { "value": "1F54", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F54" }, 8021: { "value": "1F55", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5D", "lowercase_mapping": "", "titlecase_mapping": "1F5D", "symbol": "\u1F55" }, 8022: { "value": "1F56", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F56" }, 8023: { "value": "1F57", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5F", "lowercase_mapping": "", "titlecase_mapping": "1F5F", "symbol": "\u1F57" }, 8032: { "value": "1F60", "name": "GREEK SMALL LETTER OMEGA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F68", "lowercase_mapping": "", "titlecase_mapping": "1F68", "symbol": "\u1F60" }, 8033: { "value": "1F61", "name": "GREEK SMALL LETTER OMEGA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F69", "lowercase_mapping": "", "titlecase_mapping": "1F69", "symbol": "\u1F61" }, 8034: { "value": "1F62", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6A", "lowercase_mapping": "", "titlecase_mapping": "1F6A", "symbol": "\u1F62" }, 8035: { "value": "1F63", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6B", "lowercase_mapping": "", "titlecase_mapping": "1F6B", "symbol": "\u1F63" }, 8036: { "value": "1F64", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6C", "lowercase_mapping": "", "titlecase_mapping": "1F6C", "symbol": "\u1F64" }, 8037: { "value": "1F65", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6D", "lowercase_mapping": "", "titlecase_mapping": "1F6D", "symbol": "\u1F65" }, 8038: { "value": "1F66", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6E", "lowercase_mapping": "", "titlecase_mapping": "1F6E", "symbol": "\u1F66" }, 8039: { "value": "1F67", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6F", "lowercase_mapping": "", "titlecase_mapping": "1F6F", "symbol": "\u1F67" }, 8048: { "value": "1F70", "name": "GREEK SMALL LETTER ALPHA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBA", "lowercase_mapping": "", "titlecase_mapping": "1FBA", "symbol": "\u1F70" }, 8049: { "value": "1F71", "name": "GREEK SMALL LETTER ALPHA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBB", "lowercase_mapping": "", "titlecase_mapping": "1FBB", "symbol": "\u1F71" }, 8050: { "value": "1F72", "name": "GREEK SMALL LETTER EPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC8", "lowercase_mapping": "", "titlecase_mapping": "1FC8", "symbol": "\u1F72" }, 8051: { "value": "1F73", "name": "GREEK SMALL LETTER EPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC9", "lowercase_mapping": "", "titlecase_mapping": "1FC9", "symbol": "\u1F73" }, 8052: { "value": "1F74", "name": "GREEK SMALL LETTER ETA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCA", "lowercase_mapping": "", "titlecase_mapping": "1FCA", "symbol": "\u1F74" }, 8053: { "value": "1F75", "name": "GREEK SMALL LETTER ETA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCB", "lowercase_mapping": "", "titlecase_mapping": "1FCB", "symbol": "\u1F75" }, 8054: { "value": "1F76", "name": "GREEK SMALL LETTER IOTA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDA", "lowercase_mapping": "", "titlecase_mapping": "1FDA", "symbol": "\u1F76" }, 8055: { "value": "1F77", "name": "GREEK SMALL LETTER IOTA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDB", "lowercase_mapping": "", "titlecase_mapping": "1FDB", "symbol": "\u1F77" }, 8056: { "value": "1F78", "name": "GREEK SMALL LETTER OMICRON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF8", "lowercase_mapping": "", "titlecase_mapping": "1FF8", "symbol": "\u1F78" }, 8057: { "value": "1F79", "name": "GREEK SMALL LETTER OMICRON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF9", "lowercase_mapping": "", "titlecase_mapping": "1FF9", "symbol": "\u1F79" }, 8058: { "value": "1F7A", "name": "GREEK SMALL LETTER UPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEA", "lowercase_mapping": "", "titlecase_mapping": "1FEA", "symbol": "\u1F7A" }, 8059: { "value": "1F7B", "name": "GREEK SMALL LETTER UPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEB", "lowercase_mapping": "", "titlecase_mapping": "1FEB", "symbol": "\u1F7B" }, 8060: { "value": "1F7C", "name": "GREEK SMALL LETTER OMEGA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFA", "lowercase_mapping": "", "titlecase_mapping": "1FFA", "symbol": "\u1F7C" }, 8061: { "value": "1F7D", "name": "GREEK SMALL LETTER OMEGA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFB", "lowercase_mapping": "", "titlecase_mapping": "1FFB", "symbol": "\u1F7D" }, 8064: { "value": "1F80", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F88", "lowercase_mapping": "", "titlecase_mapping": "1F88", "symbol": "\u1F80" }, 8065: { "value": "1F81", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F89", "lowercase_mapping": "", "titlecase_mapping": "1F89", "symbol": "\u1F81" }, 8066: { "value": "1F82", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F02 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8A", "lowercase_mapping": "", "titlecase_mapping": "1F8A", "symbol": "\u1F82" }, 8067: { "value": "1F83", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F03 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8B", "lowercase_mapping": "", "titlecase_mapping": "1F8B", "symbol": "\u1F83" }, 8068: { "value": "1F84", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F04 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8C", "lowercase_mapping": "", "titlecase_mapping": "1F8C", "symbol": "\u1F84" }, 8069: { "value": "1F85", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F05 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8D", "lowercase_mapping": "", "titlecase_mapping": "1F8D", "symbol": "\u1F85" }, 8070: { "value": "1F86", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F06 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8E", "lowercase_mapping": "", "titlecase_mapping": "1F8E", "symbol": "\u1F86" }, 8071: { "value": "1F87", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F07 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8F", "lowercase_mapping": "", "titlecase_mapping": "1F8F", "symbol": "\u1F87" }, 8080: { "value": "1F90", "name": "GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F98", "lowercase_mapping": "", "titlecase_mapping": "1F98", "symbol": "\u1F90" }, 8081: { "value": "1F91", "name": "GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F99", "lowercase_mapping": "", "titlecase_mapping": "1F99", "symbol": "\u1F91" }, 8082: { "value": "1F92", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F22 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9A", "lowercase_mapping": "", "titlecase_mapping": "1F9A", "symbol": "\u1F92" }, 8083: { "value": "1F93", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F23 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9B", "lowercase_mapping": "", "titlecase_mapping": "1F9B", "symbol": "\u1F93" }, 8084: { "value": "1F94", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F24 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9C", "lowercase_mapping": "", "titlecase_mapping": "1F9C", "symbol": "\u1F94" }, 8085: { "value": "1F95", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F25 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9D", "lowercase_mapping": "", "titlecase_mapping": "1F9D", "symbol": "\u1F95" }, 8086: { "value": "1F96", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F26 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9E", "lowercase_mapping": "", "titlecase_mapping": "1F9E", "symbol": "\u1F96" }, 8087: { "value": "1F97", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F27 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9F", "lowercase_mapping": "", "titlecase_mapping": "1F9F", "symbol": "\u1F97" }, 8096: { "value": "1FA0", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA8", "lowercase_mapping": "", "titlecase_mapping": "1FA8", "symbol": "\u1FA0" }, 8097: { "value": "1FA1", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA9", "lowercase_mapping": "", "titlecase_mapping": "1FA9", "symbol": "\u1FA1" }, 8098: { "value": "1FA2", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F62 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAA", "lowercase_mapping": "", "titlecase_mapping": "1FAA", "symbol": "\u1FA2" }, 8099: { "value": "1FA3", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F63 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAB", "lowercase_mapping": "", "titlecase_mapping": "1FAB", "symbol": "\u1FA3" }, 8100: { "value": "1FA4", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F64 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAC", "lowercase_mapping": "", "titlecase_mapping": "1FAC", "symbol": "\u1FA4" }, 8101: { "value": "1FA5", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F65 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAD", "lowercase_mapping": "", "titlecase_mapping": "1FAD", "symbol": "\u1FA5" }, 8102: { "value": "1FA6", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F66 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAE", "lowercase_mapping": "", "titlecase_mapping": "1FAE", "symbol": "\u1FA6" }, 8103: { "value": "1FA7", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F67 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAF", "lowercase_mapping": "", "titlecase_mapping": "1FAF", "symbol": "\u1FA7" }, 8112: { "value": "1FB0", "name": "GREEK SMALL LETTER ALPHA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB8", "lowercase_mapping": "", "titlecase_mapping": "1FB8", "symbol": "\u1FB0" }, 8113: { "value": "1FB1", "name": "GREEK SMALL LETTER ALPHA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB9", "lowercase_mapping": "", "titlecase_mapping": "1FB9", "symbol": "\u1FB1" }, 8114: { "value": "1FB2", "name": "GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F70 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB2" }, 8115: { "value": "1FB3", "name": "GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBC", "lowercase_mapping": "", "titlecase_mapping": "1FBC", "symbol": "\u1FB3" }, 8116: { "value": "1FB4", "name": "GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB4" }, 8118: { "value": "1FB6", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB6" }, 8119: { "value": "1FB7", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FB6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB7" }, 8126: { "value": "1FBE", "name": "GREEK PROSGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u1FBE" }, 8130: { "value": "1FC2", "name": "GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F74 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC2" }, 8131: { "value": "1FC3", "name": "GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCC", "lowercase_mapping": "", "titlecase_mapping": "1FCC", "symbol": "\u1FC3" }, 8132: { "value": "1FC4", "name": "GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC4" }, 8134: { "value": "1FC6", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC6" }, 8135: { "value": "1FC7", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FC6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC7" }, 8144: { "value": "1FD0", "name": "GREEK SMALL LETTER IOTA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD8", "lowercase_mapping": "", "titlecase_mapping": "1FD8", "symbol": "\u1FD0" }, 8145: { "value": "1FD1", "name": "GREEK SMALL LETTER IOTA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD9", "lowercase_mapping": "", "titlecase_mapping": "1FD9", "symbol": "\u1FD1" }, 8146: { "value": "1FD2", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD2" }, 8147: { "value": "1FD3", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0390", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD3" }, 8150: { "value": "1FD6", "name": "GREEK SMALL LETTER IOTA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD6" }, 8151: { "value": "1FD7", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD7" }, 8160: { "value": "1FE0", "name": "GREEK SMALL LETTER UPSILON WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE8", "lowercase_mapping": "", "titlecase_mapping": "1FE8", "symbol": "\u1FE0" }, 8161: { "value": "1FE1", "name": "GREEK SMALL LETTER UPSILON WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE9", "lowercase_mapping": "", "titlecase_mapping": "1FE9", "symbol": "\u1FE1" }, 8162: { "value": "1FE2", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE2" }, 8163: { "value": "1FE3", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE3" }, 8164: { "value": "1FE4", "name": "GREEK SMALL LETTER RHO WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE4" }, 8165: { "value": "1FE5", "name": "GREEK SMALL LETTER RHO WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEC", "lowercase_mapping": "", "titlecase_mapping": "1FEC", "symbol": "\u1FE5" }, 8166: { "value": "1FE6", "name": "GREEK SMALL LETTER UPSILON WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE6" }, 8167: { "value": "1FE7", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE7" }, 8178: { "value": "1FF2", "name": "GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F7C 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF2" }, 8179: { "value": "1FF3", "name": "GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFC", "lowercase_mapping": "", "titlecase_mapping": "1FFC", "symbol": "\u1FF3" }, 8180: { "value": "1FF4", "name": "GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF4" }, 8182: { "value": "1FF6", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF6" }, 8183: { "value": "1FF7", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FF6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF7" }, 8458: { "value": "210A", "name": "SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210A" }, 8462: { "value": "210E", "name": "PLANCK CONSTANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210E" }, 8463: { "value": "210F", "name": "PLANCK CONSTANT OVER TWO PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0127", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "PLANCK CONSTANT OVER 2 PI", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210F" }, 8467: { "value": "2113", "name": "SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2113" }, 8495: { "value": "212F", "name": "SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u212F" }, 8500: { "value": "2134", "name": "SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2134" }, 8505: { "value": "2139", "name": "INFORMATION SOURCE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2139" }, 8508: { "value": "213C", "name": "DOUBLE-STRUCK SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213C" }, 8509: { "value": "213D", "name": "DOUBLE-STRUCK SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213D" }, 8518: { "value": "2146", "name": "DOUBLE-STRUCK ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2146" }, 8519: { "value": "2147", "name": "DOUBLE-STRUCK ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2147" }, 8520: { "value": "2148", "name": "DOUBLE-STRUCK ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2148" }, 8521: { "value": "2149", "name": "DOUBLE-STRUCK ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2149" }, 8526: { "value": "214E", "name": "TURNED SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2132", "lowercase_mapping": "", "titlecase_mapping": "2132", "symbol": "\u214E" }, 8580: { "value": "2184", "name": "LATIN SMALL LETTER REVERSED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2183", "lowercase_mapping": "", "titlecase_mapping": "2183", "symbol": "\u2184" }, 11312: { "value": "2C30", "name": "GLAGOLITIC SMALL LETTER AZU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C00", "lowercase_mapping": "", "titlecase_mapping": "2C00", "symbol": "\u2C30" }, 11313: { "value": "2C31", "name": "GLAGOLITIC SMALL LETTER BUKY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C01", "lowercase_mapping": "", "titlecase_mapping": "2C01", "symbol": "\u2C31" }, 11314: { "value": "2C32", "name": "GLAGOLITIC SMALL LETTER VEDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C02", "lowercase_mapping": "", "titlecase_mapping": "2C02", "symbol": "\u2C32" }, 11315: { "value": "2C33", "name": "GLAGOLITIC SMALL LETTER GLAGOLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C03", "lowercase_mapping": "", "titlecase_mapping": "2C03", "symbol": "\u2C33" }, 11316: { "value": "2C34", "name": "GLAGOLITIC SMALL LETTER DOBRO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C04", "lowercase_mapping": "", "titlecase_mapping": "2C04", "symbol": "\u2C34" }, 11317: { "value": "2C35", "name": "GLAGOLITIC SMALL LETTER YESTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C05", "lowercase_mapping": "", "titlecase_mapping": "2C05", "symbol": "\u2C35" }, 11318: { "value": "2C36", "name": "GLAGOLITIC SMALL LETTER ZHIVETE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C06", "lowercase_mapping": "", "titlecase_mapping": "2C06", "symbol": "\u2C36" }, 11319: { "value": "2C37", "name": "GLAGOLITIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C07", "lowercase_mapping": "", "titlecase_mapping": "2C07", "symbol": "\u2C37" }, 11320: { "value": "2C38", "name": "GLAGOLITIC SMALL LETTER ZEMLJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C08", "lowercase_mapping": "", "titlecase_mapping": "2C08", "symbol": "\u2C38" }, 11321: { "value": "2C39", "name": "GLAGOLITIC SMALL LETTER IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C09", "lowercase_mapping": "", "titlecase_mapping": "2C09", "symbol": "\u2C39" }, 11322: { "value": "2C3A", "name": "GLAGOLITIC SMALL LETTER INITIAL IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0A", "lowercase_mapping": "", "titlecase_mapping": "2C0A", "symbol": "\u2C3A" }, 11323: { "value": "2C3B", "name": "GLAGOLITIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0B", "lowercase_mapping": "", "titlecase_mapping": "2C0B", "symbol": "\u2C3B" }, 11324: { "value": "2C3C", "name": "GLAGOLITIC SMALL LETTER DJERVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0C", "lowercase_mapping": "", "titlecase_mapping": "2C0C", "symbol": "\u2C3C" }, 11325: { "value": "2C3D", "name": "GLAGOLITIC SMALL LETTER KAKO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0D", "lowercase_mapping": "", "titlecase_mapping": "2C0D", "symbol": "\u2C3D" }, 11326: { "value": "2C3E", "name": "GLAGOLITIC SMALL LETTER LJUDIJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0E", "lowercase_mapping": "", "titlecase_mapping": "2C0E", "symbol": "\u2C3E" }, 11327: { "value": "2C3F", "name": "GLAGOLITIC SMALL LETTER MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0F", "lowercase_mapping": "", "titlecase_mapping": "2C0F", "symbol": "\u2C3F" }, 11328: { "value": "2C40", "name": "GLAGOLITIC SMALL LETTER NASHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C10", "lowercase_mapping": "", "titlecase_mapping": "2C10", "symbol": "\u2C40" }, 11329: { "value": "2C41", "name": "GLAGOLITIC SMALL LETTER ONU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C11", "lowercase_mapping": "", "titlecase_mapping": "2C11", "symbol": "\u2C41" }, 11330: { "value": "2C42", "name": "GLAGOLITIC SMALL LETTER POKOJI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C12", "lowercase_mapping": "", "titlecase_mapping": "2C12", "symbol": "\u2C42" }, 11331: { "value": "2C43", "name": "GLAGOLITIC SMALL LETTER RITSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C13", "lowercase_mapping": "", "titlecase_mapping": "2C13", "symbol": "\u2C43" }, 11332: { "value": "2C44", "name": "GLAGOLITIC SMALL LETTER SLOVO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C14", "lowercase_mapping": "", "titlecase_mapping": "2C14", "symbol": "\u2C44" }, 11333: { "value": "2C45", "name": "GLAGOLITIC SMALL LETTER TVRIDO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C15", "lowercase_mapping": "", "titlecase_mapping": "2C15", "symbol": "\u2C45" }, 11334: { "value": "2C46", "name": "GLAGOLITIC SMALL LETTER UKU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C16", "lowercase_mapping": "", "titlecase_mapping": "2C16", "symbol": "\u2C46" }, 11335: { "value": "2C47", "name": "GLAGOLITIC SMALL LETTER FRITU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C17", "lowercase_mapping": "", "titlecase_mapping": "2C17", "symbol": "\u2C47" }, 11336: { "value": "2C48", "name": "GLAGOLITIC SMALL LETTER HERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C18", "lowercase_mapping": "", "titlecase_mapping": "2C18", "symbol": "\u2C48" }, 11337: { "value": "2C49", "name": "GLAGOLITIC SMALL LETTER OTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C19", "lowercase_mapping": "", "titlecase_mapping": "2C19", "symbol": "\u2C49" }, 11338: { "value": "2C4A", "name": "GLAGOLITIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1A", "lowercase_mapping": "", "titlecase_mapping": "2C1A", "symbol": "\u2C4A" }, 11339: { "value": "2C4B", "name": "GLAGOLITIC SMALL LETTER SHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1B", "lowercase_mapping": "", "titlecase_mapping": "2C1B", "symbol": "\u2C4B" }, 11340: { "value": "2C4C", "name": "GLAGOLITIC SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1C", "lowercase_mapping": "", "titlecase_mapping": "2C1C", "symbol": "\u2C4C" }, 11341: { "value": "2C4D", "name": "GLAGOLITIC SMALL LETTER CHRIVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1D", "lowercase_mapping": "", "titlecase_mapping": "2C1D", "symbol": "\u2C4D" }, 11342: { "value": "2C4E", "name": "GLAGOLITIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1E", "lowercase_mapping": "", "titlecase_mapping": "2C1E", "symbol": "\u2C4E" }, 11343: { "value": "2C4F", "name": "GLAGOLITIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1F", "lowercase_mapping": "", "titlecase_mapping": "2C1F", "symbol": "\u2C4F" }, 11344: { "value": "2C50", "name": "GLAGOLITIC SMALL LETTER YERI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C20", "lowercase_mapping": "", "titlecase_mapping": "2C20", "symbol": "\u2C50" }, 11345: { "value": "2C51", "name": "GLAGOLITIC SMALL LETTER YATI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C21", "lowercase_mapping": "", "titlecase_mapping": "2C21", "symbol": "\u2C51" }, 11346: { "value": "2C52", "name": "GLAGOLITIC SMALL LETTER SPIDERY HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C22", "lowercase_mapping": "", "titlecase_mapping": "2C22", "symbol": "\u2C52" }, 11347: { "value": "2C53", "name": "GLAGOLITIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C23", "lowercase_mapping": "", "titlecase_mapping": "2C23", "symbol": "\u2C53" }, 11348: { "value": "2C54", "name": "GLAGOLITIC SMALL LETTER SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C24", "lowercase_mapping": "", "titlecase_mapping": "2C24", "symbol": "\u2C54" }, 11349: { "value": "2C55", "name": "GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C25", "lowercase_mapping": "", "titlecase_mapping": "2C25", "symbol": "\u2C55" }, 11350: { "value": "2C56", "name": "GLAGOLITIC SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C26", "lowercase_mapping": "", "titlecase_mapping": "2C26", "symbol": "\u2C56" }, 11351: { "value": "2C57", "name": "GLAGOLITIC SMALL LETTER IOTATED SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C27", "lowercase_mapping": "", "titlecase_mapping": "2C27", "symbol": "\u2C57" }, 11352: { "value": "2C58", "name": "GLAGOLITIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C28", "lowercase_mapping": "", "titlecase_mapping": "2C28", "symbol": "\u2C58" }, 11353: { "value": "2C59", "name": "GLAGOLITIC SMALL LETTER IOTATED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C29", "lowercase_mapping": "", "titlecase_mapping": "2C29", "symbol": "\u2C59" }, 11354: { "value": "2C5A", "name": "GLAGOLITIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2A", "lowercase_mapping": "", "titlecase_mapping": "2C2A", "symbol": "\u2C5A" }, 11355: { "value": "2C5B", "name": "GLAGOLITIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2B", "lowercase_mapping": "", "titlecase_mapping": "2C2B", "symbol": "\u2C5B" }, 11356: { "value": "2C5C", "name": "GLAGOLITIC SMALL LETTER SHTAPIC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2C", "lowercase_mapping": "", "titlecase_mapping": "2C2C", "symbol": "\u2C5C" }, 11357: { "value": "2C5D", "name": "GLAGOLITIC SMALL LETTER TROKUTASTI A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2D", "lowercase_mapping": "", "titlecase_mapping": "2C2D", "symbol": "\u2C5D" }, 11358: { "value": "2C5E", "name": "GLAGOLITIC SMALL LETTER LATINATE MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2E", "lowercase_mapping": "", "titlecase_mapping": "2C2E", "symbol": "\u2C5E" }, 11361: { "value": "2C61", "name": "LATIN SMALL LETTER L WITH DOUBLE BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C60", "lowercase_mapping": "", "titlecase_mapping": "2C60", "symbol": "\u2C61" }, 11365: { "value": "2C65", "name": "LATIN SMALL LETTER A WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023A", "lowercase_mapping": "", "titlecase_mapping": "023A", "symbol": "\u2C65" }, 11366: { "value": "2C66", "name": "LATIN SMALL LETTER T WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023E", "lowercase_mapping": "", "titlecase_mapping": "023E", "symbol": "\u2C66" }, 11368: { "value": "2C68", "name": "LATIN SMALL LETTER H WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C67", "lowercase_mapping": "", "titlecase_mapping": "2C67", "symbol": "\u2C68" }, 11370: { "value": "2C6A", "name": "LATIN SMALL LETTER K WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C69", "lowercase_mapping": "", "titlecase_mapping": "2C69", "symbol": "\u2C6A" }, 11372: { "value": "2C6C", "name": "LATIN SMALL LETTER Z WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6B", "lowercase_mapping": "", "titlecase_mapping": "2C6B", "symbol": "\u2C6C" }, 11377: { "value": "2C71", "name": "LATIN SMALL LETTER V WITH RIGHT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C71" }, 11379: { "value": "2C73", "name": "LATIN SMALL LETTER W WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C72", "lowercase_mapping": "", "titlecase_mapping": "2C72", "symbol": "\u2C73" }, 11380: { "value": "2C74", "name": "LATIN SMALL LETTER V WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C74" }, 11382: { "value": "2C76", "name": "LATIN SMALL LETTER HALF H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C75", "lowercase_mapping": "", "titlecase_mapping": "2C75", "symbol": "\u2C76" }, 11383: { "value": "2C77", "name": "LATIN SMALL LETTER TAILLESS PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C77" }, 11384: { "value": "2C78", "name": "LATIN SMALL LETTER E WITH NOTCH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C78" }, 11385: { "value": "2C79", "name": "LATIN SMALL LETTER TURNED R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C79" }, 11386: { "value": "2C7A", "name": "LATIN SMALL LETTER O WITH LOW RING INSIDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7A" }, 11387: { "value": "2C7B", "name": "LATIN LETTER SMALL CAPITAL TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7B" }, 11393: { "value": "2C81", "name": "COPTIC SMALL LETTER ALFA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C80", "lowercase_mapping": "", "titlecase_mapping": "2C80", "symbol": "\u2C81" }, 11395: { "value": "2C83", "name": "COPTIC SMALL LETTER VIDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C82", "lowercase_mapping": "", "titlecase_mapping": "2C82", "symbol": "\u2C83" }, 11397: { "value": "2C85", "name": "COPTIC SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C84", "lowercase_mapping": "", "titlecase_mapping": "2C84", "symbol": "\u2C85" }, 11399: { "value": "2C87", "name": "COPTIC SMALL LETTER DALDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C86", "lowercase_mapping": "", "titlecase_mapping": "2C86", "symbol": "\u2C87" }, 11401: { "value": "2C89", "name": "COPTIC SMALL LETTER EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C88", "lowercase_mapping": "", "titlecase_mapping": "2C88", "symbol": "\u2C89" }, 11403: { "value": "2C8B", "name": "COPTIC SMALL LETTER SOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8A", "lowercase_mapping": "", "titlecase_mapping": "2C8A", "symbol": "\u2C8B" }, 11405: { "value": "2C8D", "name": "COPTIC SMALL LETTER ZATA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8C", "lowercase_mapping": "", "titlecase_mapping": "2C8C", "symbol": "\u2C8D" }, 11407: { "value": "2C8F", "name": "COPTIC SMALL LETTER HATE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8E", "lowercase_mapping": "", "titlecase_mapping": "2C8E", "symbol": "\u2C8F" }, 11409: { "value": "2C91", "name": "COPTIC SMALL LETTER THETHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C90", "lowercase_mapping": "", "titlecase_mapping": "2C90", "symbol": "\u2C91" }, 11411: { "value": "2C93", "name": "COPTIC SMALL LETTER IAUDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C92", "lowercase_mapping": "", "titlecase_mapping": "2C92", "symbol": "\u2C93" }, 11413: { "value": "2C95", "name": "COPTIC SMALL LETTER KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C94", "lowercase_mapping": "", "titlecase_mapping": "2C94", "symbol": "\u2C95" }, 11415: { "value": "2C97", "name": "COPTIC SMALL LETTER LAULA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C96", "lowercase_mapping": "", "titlecase_mapping": "2C96", "symbol": "\u2C97" }, 11417: { "value": "2C99", "name": "COPTIC SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C98", "lowercase_mapping": "", "titlecase_mapping": "2C98", "symbol": "\u2C99" }, 11419: { "value": "2C9B", "name": "COPTIC SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9A", "lowercase_mapping": "", "titlecase_mapping": "2C9A", "symbol": "\u2C9B" }, 11421: { "value": "2C9D", "name": "COPTIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9C", "lowercase_mapping": "", "titlecase_mapping": "2C9C", "symbol": "\u2C9D" }, 11423: { "value": "2C9F", "name": "COPTIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9E", "lowercase_mapping": "", "titlecase_mapping": "2C9E", "symbol": "\u2C9F" }, 11425: { "value": "2CA1", "name": "COPTIC SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA0", "lowercase_mapping": "", "titlecase_mapping": "2CA0", "symbol": "\u2CA1" }, 11427: { "value": "2CA3", "name": "COPTIC SMALL LETTER RO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA2", "lowercase_mapping": "", "titlecase_mapping": "2CA2", "symbol": "\u2CA3" }, 11429: { "value": "2CA5", "name": "COPTIC SMALL LETTER SIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA4", "lowercase_mapping": "", "titlecase_mapping": "2CA4", "symbol": "\u2CA5" }, 11431: { "value": "2CA7", "name": "COPTIC SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA6", "lowercase_mapping": "", "titlecase_mapping": "2CA6", "symbol": "\u2CA7" }, 11433: { "value": "2CA9", "name": "COPTIC SMALL LETTER UA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA8", "lowercase_mapping": "", "titlecase_mapping": "2CA8", "symbol": "\u2CA9" }, 11435: { "value": "2CAB", "name": "COPTIC SMALL LETTER FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAA", "lowercase_mapping": "", "titlecase_mapping": "2CAA", "symbol": "\u2CAB" }, 11437: { "value": "2CAD", "name": "COPTIC SMALL LETTER KHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAC", "lowercase_mapping": "", "titlecase_mapping": "2CAC", "symbol": "\u2CAD" }, 11439: { "value": "2CAF", "name": "COPTIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAE", "lowercase_mapping": "", "titlecase_mapping": "2CAE", "symbol": "\u2CAF" }, 11441: { "value": "2CB1", "name": "COPTIC SMALL LETTER OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB0", "lowercase_mapping": "", "titlecase_mapping": "2CB0", "symbol": "\u2CB1" }, 11443: { "value": "2CB3", "name": "COPTIC SMALL LETTER DIALECT-P ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB2", "lowercase_mapping": "", "titlecase_mapping": "2CB2", "symbol": "\u2CB3" }, 11445: { "value": "2CB5", "name": "COPTIC SMALL LETTER OLD COPTIC AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB4", "lowercase_mapping": "", "titlecase_mapping": "2CB4", "symbol": "\u2CB5" }, 11447: { "value": "2CB7", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB6", "lowercase_mapping": "", "titlecase_mapping": "2CB6", "symbol": "\u2CB7" }, 11449: { "value": "2CB9", "name": "COPTIC SMALL LETTER DIALECT-P KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB8", "lowercase_mapping": "", "titlecase_mapping": "2CB8", "symbol": "\u2CB9" }, 11451: { "value": "2CBB", "name": "COPTIC SMALL LETTER DIALECT-P NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBA", "lowercase_mapping": "", "titlecase_mapping": "2CBA", "symbol": "\u2CBB" }, 11453: { "value": "2CBD", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBC", "lowercase_mapping": "", "titlecase_mapping": "2CBC", "symbol": "\u2CBD" }, 11455: { "value": "2CBF", "name": "COPTIC SMALL LETTER OLD COPTIC OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBE", "lowercase_mapping": "", "titlecase_mapping": "2CBE", "symbol": "\u2CBF" }, 11457: { "value": "2CC1", "name": "COPTIC SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC0", "lowercase_mapping": "", "titlecase_mapping": "2CC0", "symbol": "\u2CC1" }, 11459: { "value": "2CC3", "name": "COPTIC SMALL LETTER CROSSED SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC2", "lowercase_mapping": "", "titlecase_mapping": "2CC2", "symbol": "\u2CC3" }, 11461: { "value": "2CC5", "name": "COPTIC SMALL LETTER OLD COPTIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC4", "lowercase_mapping": "", "titlecase_mapping": "2CC4", "symbol": "\u2CC5" }, 11463: { "value": "2CC7", "name": "COPTIC SMALL LETTER OLD COPTIC ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC6", "lowercase_mapping": "", "titlecase_mapping": "2CC6", "symbol": "\u2CC7" }, 11465: { "value": "2CC9", "name": "COPTIC SMALL LETTER AKHMIMIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC8", "lowercase_mapping": "", "titlecase_mapping": "2CC8", "symbol": "\u2CC9" }, 11467: { "value": "2CCB", "name": "COPTIC SMALL LETTER DIALECT-P HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCA", "lowercase_mapping": "", "titlecase_mapping": "2CCA", "symbol": "\u2CCB" }, 11469: { "value": "2CCD", "name": "COPTIC SMALL LETTER OLD COPTIC HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCC", "lowercase_mapping": "", "titlecase_mapping": "2CCC", "symbol": "\u2CCD" }, 11471: { "value": "2CCF", "name": "COPTIC SMALL LETTER OLD COPTIC HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCE", "lowercase_mapping": "", "titlecase_mapping": "2CCE", "symbol": "\u2CCF" }, 11473: { "value": "2CD1", "name": "COPTIC SMALL LETTER L-SHAPED HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD0", "lowercase_mapping": "", "titlecase_mapping": "2CD0", "symbol": "\u2CD1" }, 11475: { "value": "2CD3", "name": "COPTIC SMALL LETTER OLD COPTIC HEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD2", "lowercase_mapping": "", "titlecase_mapping": "2CD2", "symbol": "\u2CD3" }, 11477: { "value": "2CD5", "name": "COPTIC SMALL LETTER OLD COPTIC HAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD4", "lowercase_mapping": "", "titlecase_mapping": "2CD4", "symbol": "\u2CD5" }, 11479: { "value": "2CD7", "name": "COPTIC SMALL LETTER OLD COPTIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD6", "lowercase_mapping": "", "titlecase_mapping": "2CD6", "symbol": "\u2CD7" }, 11481: { "value": "2CD9", "name": "COPTIC SMALL LETTER OLD COPTIC DJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD8", "lowercase_mapping": "", "titlecase_mapping": "2CD8", "symbol": "\u2CD9" }, 11483: { "value": "2CDB", "name": "COPTIC SMALL LETTER OLD COPTIC SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDA", "lowercase_mapping": "", "titlecase_mapping": "2CDA", "symbol": "\u2CDB" }, 11485: { "value": "2CDD", "name": "COPTIC SMALL LETTER OLD NUBIAN SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDC", "lowercase_mapping": "", "titlecase_mapping": "2CDC", "symbol": "\u2CDD" }, 11487: { "value": "2CDF", "name": "COPTIC SMALL LETTER OLD NUBIAN NGI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDE", "lowercase_mapping": "", "titlecase_mapping": "2CDE", "symbol": "\u2CDF" }, 11489: { "value": "2CE1", "name": "COPTIC SMALL LETTER OLD NUBIAN NYI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE0", "lowercase_mapping": "", "titlecase_mapping": "2CE0", "symbol": "\u2CE1" }, 11491: { "value": "2CE3", "name": "COPTIC SMALL LETTER OLD NUBIAN WAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE2", "lowercase_mapping": "", "titlecase_mapping": "2CE2", "symbol": "\u2CE3" }, 11492: { "value": "2CE4", "name": "COPTIC SYMBOL KAI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2CE4" }, 11500: { "value": "2CEC", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CEB", "lowercase_mapping": "", "titlecase_mapping": "2CEB", "symbol": "\u2CEC" }, 11502: { "value": "2CEE", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CED", "lowercase_mapping": "", "titlecase_mapping": "2CED", "symbol": "\u2CEE" }, 11507: { "value": "2CF3", "name": "COPTIC SMALL LETTER BOHAIRIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CF2", "lowercase_mapping": "", "titlecase_mapping": "2CF2", "symbol": "\u2CF3" }, 11520: { "value": "2D00", "name": "GEORGIAN SMALL LETTER AN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A0", "lowercase_mapping": "", "titlecase_mapping": "10A0", "symbol": "\u2D00" }, 11521: { "value": "2D01", "name": "GEORGIAN SMALL LETTER BAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A1", "lowercase_mapping": "", "titlecase_mapping": "10A1", "symbol": "\u2D01" }, 11522: { "value": "2D02", "name": "GEORGIAN SMALL LETTER GAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A2", "lowercase_mapping": "", "titlecase_mapping": "10A2", "symbol": "\u2D02" }, 11523: { "value": "2D03", "name": "GEORGIAN SMALL LETTER DON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A3", "lowercase_mapping": "", "titlecase_mapping": "10A3", "symbol": "\u2D03" }, 11524: { "value": "2D04", "name": "GEORGIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A4", "lowercase_mapping": "", "titlecase_mapping": "10A4", "symbol": "\u2D04" }, 11525: { "value": "2D05", "name": "GEORGIAN SMALL LETTER VIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A5", "lowercase_mapping": "", "titlecase_mapping": "10A5", "symbol": "\u2D05" }, 11526: { "value": "2D06", "name": "GEORGIAN SMALL LETTER ZEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A6", "lowercase_mapping": "", "titlecase_mapping": "10A6", "symbol": "\u2D06" }, 11527: { "value": "2D07", "name": "GEORGIAN SMALL LETTER TAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A7", "lowercase_mapping": "", "titlecase_mapping": "10A7", "symbol": "\u2D07" }, 11528: { "value": "2D08", "name": "GEORGIAN SMALL LETTER IN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A8", "lowercase_mapping": "", "titlecase_mapping": "10A8", "symbol": "\u2D08" }, 11529: { "value": "2D09", "name": "GEORGIAN SMALL LETTER KAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A9", "lowercase_mapping": "", "titlecase_mapping": "10A9", "symbol": "\u2D09" }, 11530: { "value": "2D0A", "name": "GEORGIAN SMALL LETTER LAS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AA", "lowercase_mapping": "", "titlecase_mapping": "10AA", "symbol": "\u2D0A" }, 11531: { "value": "2D0B", "name": "GEORGIAN SMALL LETTER MAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AB", "lowercase_mapping": "", "titlecase_mapping": "10AB", "symbol": "\u2D0B" }, 11532: { "value": "2D0C", "name": "GEORGIAN SMALL LETTER NAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AC", "lowercase_mapping": "", "titlecase_mapping": "10AC", "symbol": "\u2D0C" }, 11533: { "value": "2D0D", "name": "GEORGIAN SMALL LETTER ON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AD", "lowercase_mapping": "", "titlecase_mapping": "10AD", "symbol": "\u2D0D" }, 11534: { "value": "2D0E", "name": "GEORGIAN SMALL LETTER PAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AE", "lowercase_mapping": "", "titlecase_mapping": "10AE", "symbol": "\u2D0E" }, 11535: { "value": "2D0F", "name": "GEORGIAN SMALL LETTER ZHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AF", "lowercase_mapping": "", "titlecase_mapping": "10AF", "symbol": "\u2D0F" }, 11536: { "value": "2D10", "name": "GEORGIAN SMALL LETTER RAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B0", "lowercase_mapping": "", "titlecase_mapping": "10B0", "symbol": "\u2D10" }, 11537: { "value": "2D11", "name": "GEORGIAN SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B1", "lowercase_mapping": "", "titlecase_mapping": "10B1", "symbol": "\u2D11" }, 11538: { "value": "2D12", "name": "GEORGIAN SMALL LETTER TAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B2", "lowercase_mapping": "", "titlecase_mapping": "10B2", "symbol": "\u2D12" }, 11539: { "value": "2D13", "name": "GEORGIAN SMALL LETTER UN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B3", "lowercase_mapping": "", "titlecase_mapping": "10B3", "symbol": "\u2D13" }, 11540: { "value": "2D14", "name": "GEORGIAN SMALL LETTER PHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B4", "lowercase_mapping": "", "titlecase_mapping": "10B4", "symbol": "\u2D14" }, 11541: { "value": "2D15", "name": "GEORGIAN SMALL LETTER KHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B5", "lowercase_mapping": "", "titlecase_mapping": "10B5", "symbol": "\u2D15" }, 11542: { "value": "2D16", "name": "GEORGIAN SMALL LETTER GHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B6", "lowercase_mapping": "", "titlecase_mapping": "10B6", "symbol": "\u2D16" }, 11543: { "value": "2D17", "name": "GEORGIAN SMALL LETTER QAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B7", "lowercase_mapping": "", "titlecase_mapping": "10B7", "symbol": "\u2D17" }, 11544: { "value": "2D18", "name": "GEORGIAN SMALL LETTER SHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B8", "lowercase_mapping": "", "titlecase_mapping": "10B8", "symbol": "\u2D18" }, 11545: { "value": "2D19", "name": "GEORGIAN SMALL LETTER CHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B9", "lowercase_mapping": "", "titlecase_mapping": "10B9", "symbol": "\u2D19" }, 11546: { "value": "2D1A", "name": "GEORGIAN SMALL LETTER CAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BA", "lowercase_mapping": "", "titlecase_mapping": "10BA", "symbol": "\u2D1A" }, 11547: { "value": "2D1B", "name": "GEORGIAN SMALL LETTER JIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BB", "lowercase_mapping": "", "titlecase_mapping": "10BB", "symbol": "\u2D1B" }, 11548: { "value": "2D1C", "name": "GEORGIAN SMALL LETTER CIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BC", "lowercase_mapping": "", "titlecase_mapping": "10BC", "symbol": "\u2D1C" }, 11549: { "value": "2D1D", "name": "GEORGIAN SMALL LETTER CHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BD", "lowercase_mapping": "", "titlecase_mapping": "10BD", "symbol": "\u2D1D" }, 11550: { "value": "2D1E", "name": "GEORGIAN SMALL LETTER XAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BE", "lowercase_mapping": "", "titlecase_mapping": "10BE", "symbol": "\u2D1E" }, 11551: { "value": "2D1F", "name": "GEORGIAN SMALL LETTER JHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BF", "lowercase_mapping": "", "titlecase_mapping": "10BF", "symbol": "\u2D1F" }, 11552: { "value": "2D20", "name": "GEORGIAN SMALL LETTER HAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C0", "lowercase_mapping": "", "titlecase_mapping": "10C0", "symbol": "\u2D20" }, 11553: { "value": "2D21", "name": "GEORGIAN SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C1", "lowercase_mapping": "", "titlecase_mapping": "10C1", "symbol": "\u2D21" }, 11554: { "value": "2D22", "name": "GEORGIAN SMALL LETTER HIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C2", "lowercase_mapping": "", "titlecase_mapping": "10C2", "symbol": "\u2D22" }, 11555: { "value": "2D23", "name": "GEORGIAN SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C3", "lowercase_mapping": "", "titlecase_mapping": "10C3", "symbol": "\u2D23" }, 11556: { "value": "2D24", "name": "GEORGIAN SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C4", "lowercase_mapping": "", "titlecase_mapping": "10C4", "symbol": "\u2D24" }, 11557: { "value": "2D25", "name": "GEORGIAN SMALL LETTER HOE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C5", "lowercase_mapping": "", "titlecase_mapping": "10C5", "symbol": "\u2D25" }, 11559: { "value": "2D27", "name": "GEORGIAN SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C7", "lowercase_mapping": "", "titlecase_mapping": "10C7", "symbol": "\u2D27" }, 11565: { "value": "2D2D", "name": "GEORGIAN SMALL LETTER AEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CD", "lowercase_mapping": "", "titlecase_mapping": "10CD", "symbol": "\u2D2D" }, 42561: { "value": "A641", "name": "CYRILLIC SMALL LETTER ZEMLYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A640", "lowercase_mapping": "", "titlecase_mapping": "A640", "symbol": "\uA641" }, 42563: { "value": "A643", "name": "CYRILLIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A642", "lowercase_mapping": "", "titlecase_mapping": "A642", "symbol": "\uA643" }, 42565: { "value": "A645", "name": "CYRILLIC SMALL LETTER REVERSED DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A644", "lowercase_mapping": "", "titlecase_mapping": "A644", "symbol": "\uA645" }, 42567: { "value": "A647", "name": "CYRILLIC SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A646", "lowercase_mapping": "", "titlecase_mapping": "A646", "symbol": "\uA647" }, 42569: { "value": "A649", "name": "CYRILLIC SMALL LETTER DJERV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A648", "lowercase_mapping": "", "titlecase_mapping": "A648", "symbol": "\uA649" }, 42571: { "value": "A64B", "name": "CYRILLIC SMALL LETTER MONOGRAPH UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\uA64B" }, 42573: { "value": "A64D", "name": "CYRILLIC SMALL LETTER BROAD OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64C", "lowercase_mapping": "", "titlecase_mapping": "A64C", "symbol": "\uA64D" }, 42575: { "value": "A64F", "name": "CYRILLIC SMALL LETTER NEUTRAL YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64E", "lowercase_mapping": "", "titlecase_mapping": "A64E", "symbol": "\uA64F" }, 42577: { "value": "A651", "name": "CYRILLIC SMALL LETTER YERU WITH BACK YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A650", "lowercase_mapping": "", "titlecase_mapping": "A650", "symbol": "\uA651" }, 42579: { "value": "A653", "name": "CYRILLIC SMALL LETTER IOTIFIED YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A652", "lowercase_mapping": "", "titlecase_mapping": "A652", "symbol": "\uA653" }, 42581: { "value": "A655", "name": "CYRILLIC SMALL LETTER REVERSED YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A654", "lowercase_mapping": "", "titlecase_mapping": "A654", "symbol": "\uA655" }, 42583: { "value": "A657", "name": "CYRILLIC SMALL LETTER IOTIFIED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A656", "lowercase_mapping": "", "titlecase_mapping": "A656", "symbol": "\uA657" }, 42585: { "value": "A659", "name": "CYRILLIC SMALL LETTER CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A658", "lowercase_mapping": "", "titlecase_mapping": "A658", "symbol": "\uA659" }, 42587: { "value": "A65B", "name": "CYRILLIC SMALL LETTER BLENDED YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65A", "lowercase_mapping": "", "titlecase_mapping": "A65A", "symbol": "\uA65B" }, 42589: { "value": "A65D", "name": "CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65C", "lowercase_mapping": "", "titlecase_mapping": "A65C", "symbol": "\uA65D" }, 42591: { "value": "A65F", "name": "CYRILLIC SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65E", "lowercase_mapping": "", "titlecase_mapping": "A65E", "symbol": "\uA65F" }, 42593: { "value": "A661", "name": "CYRILLIC SMALL LETTER REVERSED TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A660", "lowercase_mapping": "", "titlecase_mapping": "A660", "symbol": "\uA661" }, 42595: { "value": "A663", "name": "CYRILLIC SMALL LETTER SOFT DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A662", "lowercase_mapping": "", "titlecase_mapping": "A662", "symbol": "\uA663" }, 42597: { "value": "A665", "name": "CYRILLIC SMALL LETTER SOFT EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A664", "lowercase_mapping": "", "titlecase_mapping": "A664", "symbol": "\uA665" }, 42599: { "value": "A667", "name": "CYRILLIC SMALL LETTER SOFT EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A666", "lowercase_mapping": "", "titlecase_mapping": "A666", "symbol": "\uA667" }, 42601: { "value": "A669", "name": "CYRILLIC SMALL LETTER MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A668", "lowercase_mapping": "", "titlecase_mapping": "A668", "symbol": "\uA669" }, 42603: { "value": "A66B", "name": "CYRILLIC SMALL LETTER BINOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66A", "lowercase_mapping": "", "titlecase_mapping": "A66A", "symbol": "\uA66B" }, 42605: { "value": "A66D", "name": "CYRILLIC SMALL LETTER DOUBLE MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66C", "lowercase_mapping": "", "titlecase_mapping": "A66C", "symbol": "\uA66D" }, 42625: { "value": "A681", "name": "CYRILLIC SMALL LETTER DWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A680", "lowercase_mapping": "", "titlecase_mapping": "A680", "symbol": "\uA681" }, 42627: { "value": "A683", "name": "CYRILLIC SMALL LETTER DZWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A682", "lowercase_mapping": "", "titlecase_mapping": "A682", "symbol": "\uA683" }, 42629: { "value": "A685", "name": "CYRILLIC SMALL LETTER ZHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A684", "lowercase_mapping": "", "titlecase_mapping": "A684", "symbol": "\uA685" }, 42631: { "value": "A687", "name": "CYRILLIC SMALL LETTER CCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A686", "lowercase_mapping": "", "titlecase_mapping": "A686", "symbol": "\uA687" }, 42633: { "value": "A689", "name": "CYRILLIC SMALL LETTER DZZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A688", "lowercase_mapping": "", "titlecase_mapping": "A688", "symbol": "\uA689" }, 42635: { "value": "A68B", "name": "CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68A", "lowercase_mapping": "", "titlecase_mapping": "A68A", "symbol": "\uA68B" }, 42637: { "value": "A68D", "name": "CYRILLIC SMALL LETTER TWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68C", "lowercase_mapping": "", "titlecase_mapping": "A68C", "symbol": "\uA68D" }, 42639: { "value": "A68F", "name": "CYRILLIC SMALL LETTER TSWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68E", "lowercase_mapping": "", "titlecase_mapping": "A68E", "symbol": "\uA68F" }, 42641: { "value": "A691", "name": "CYRILLIC SMALL LETTER TSSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A690", "lowercase_mapping": "", "titlecase_mapping": "A690", "symbol": "\uA691" }, 42643: { "value": "A693", "name": "CYRILLIC SMALL LETTER TCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A692", "lowercase_mapping": "", "titlecase_mapping": "A692", "symbol": "\uA693" }, 42645: { "value": "A695", "name": "CYRILLIC SMALL LETTER HWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A694", "lowercase_mapping": "", "titlecase_mapping": "A694", "symbol": "\uA695" }, 42647: { "value": "A697", "name": "CYRILLIC SMALL LETTER SHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A696", "lowercase_mapping": "", "titlecase_mapping": "A696", "symbol": "\uA697" }, 42649: { "value": "A699", "name": "CYRILLIC SMALL LETTER DOUBLE O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A698", "lowercase_mapping": "", "titlecase_mapping": "A698", "symbol": "\uA699" }, 42651: { "value": "A69B", "name": "CYRILLIC SMALL LETTER CROSSED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A69A", "lowercase_mapping": "", "titlecase_mapping": "A69A", "symbol": "\uA69B" }, 42787: { "value": "A723", "name": "LATIN SMALL LETTER EGYPTOLOGICAL ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A722", "lowercase_mapping": "", "titlecase_mapping": "A722", "symbol": "\uA723" }, 42789: { "value": "A725", "name": "LATIN SMALL LETTER EGYPTOLOGICAL AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A724", "lowercase_mapping": "", "titlecase_mapping": "A724", "symbol": "\uA725" }, 42791: { "value": "A727", "name": "LATIN SMALL LETTER HENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A726", "lowercase_mapping": "", "titlecase_mapping": "A726", "symbol": "\uA727" }, 42793: { "value": "A729", "name": "LATIN SMALL LETTER TZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A728", "lowercase_mapping": "", "titlecase_mapping": "A728", "symbol": "\uA729" }, 42795: { "value": "A72B", "name": "LATIN SMALL LETTER TRESILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72A", "lowercase_mapping": "", "titlecase_mapping": "A72A", "symbol": "\uA72B" }, 42797: { "value": "A72D", "name": "LATIN SMALL LETTER CUATRILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72C", "lowercase_mapping": "", "titlecase_mapping": "A72C", "symbol": "\uA72D" }, 42799: { "value": "A72F", "name": "LATIN SMALL LETTER CUATRILLO WITH COMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72E", "lowercase_mapping": "", "titlecase_mapping": "A72E", "symbol": "\uA72F" }, 42800: { "value": "A730", "name": "LATIN LETTER SMALL CAPITAL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA730" }, 42801: { "value": "A731", "name": "LATIN LETTER SMALL CAPITAL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA731" }, 42803: { "value": "A733", "name": "LATIN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A732", "lowercase_mapping": "", "titlecase_mapping": "A732", "symbol": "\uA733" }, 42805: { "value": "A735", "name": "LATIN SMALL LETTER AO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A734", "lowercase_mapping": "", "titlecase_mapping": "A734", "symbol": "\uA735" }, 42807: { "value": "A737", "name": "LATIN SMALL LETTER AU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A736", "lowercase_mapping": "", "titlecase_mapping": "A736", "symbol": "\uA737" }, 42809: { "value": "A739", "name": "LATIN SMALL LETTER AV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A738", "lowercase_mapping": "", "titlecase_mapping": "A738", "symbol": "\uA739" }, 42811: { "value": "A73B", "name": "LATIN SMALL LETTER AV WITH HORIZONTAL BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73A", "lowercase_mapping": "", "titlecase_mapping": "A73A", "symbol": "\uA73B" }, 42813: { "value": "A73D", "name": "LATIN SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73C", "lowercase_mapping": "", "titlecase_mapping": "A73C", "symbol": "\uA73D" }, 42815: { "value": "A73F", "name": "LATIN SMALL LETTER REVERSED C WITH DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73E", "lowercase_mapping": "", "titlecase_mapping": "A73E", "symbol": "\uA73F" }, 42817: { "value": "A741", "name": "LATIN SMALL LETTER K WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A740", "lowercase_mapping": "", "titlecase_mapping": "A740", "symbol": "\uA741" }, 42819: { "value": "A743", "name": "LATIN SMALL LETTER K WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A742", "lowercase_mapping": "", "titlecase_mapping": "A742", "symbol": "\uA743" }, 42821: { "value": "A745", "name": "LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A744", "lowercase_mapping": "", "titlecase_mapping": "A744", "symbol": "\uA745" }, 42823: { "value": "A747", "name": "LATIN SMALL LETTER BROKEN L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A746", "lowercase_mapping": "", "titlecase_mapping": "A746", "symbol": "\uA747" }, 42825: { "value": "A749", "name": "LATIN SMALL LETTER L WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A748", "lowercase_mapping": "", "titlecase_mapping": "A748", "symbol": "\uA749" }, 42827: { "value": "A74B", "name": "LATIN SMALL LETTER O WITH LONG STROKE OVERLAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74A", "lowercase_mapping": "", "titlecase_mapping": "A74A", "symbol": "\uA74B" }, 42829: { "value": "A74D", "name": "LATIN SMALL LETTER O WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74C", "lowercase_mapping": "", "titlecase_mapping": "A74C", "symbol": "\uA74D" }, 42831: { "value": "A74F", "name": "LATIN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74E", "lowercase_mapping": "", "titlecase_mapping": "A74E", "symbol": "\uA74F" }, 42833: { "value": "A751", "name": "LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A750", "lowercase_mapping": "", "titlecase_mapping": "A750", "symbol": "\uA751" }, 42835: { "value": "A753", "name": "LATIN SMALL LETTER P WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A752", "lowercase_mapping": "", "titlecase_mapping": "A752", "symbol": "\uA753" }, 42837: { "value": "A755", "name": "LATIN SMALL LETTER P WITH SQUIRREL TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A754", "lowercase_mapping": "", "titlecase_mapping": "A754", "symbol": "\uA755" }, 42839: { "value": "A757", "name": "LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A756", "lowercase_mapping": "", "titlecase_mapping": "A756", "symbol": "\uA757" }, 42841: { "value": "A759", "name": "LATIN SMALL LETTER Q WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A758", "lowercase_mapping": "", "titlecase_mapping": "A758", "symbol": "\uA759" }, 42843: { "value": "A75B", "name": "LATIN SMALL LETTER R ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75A", "lowercase_mapping": "", "titlecase_mapping": "A75A", "symbol": "\uA75B" }, 42845: { "value": "A75D", "name": "LATIN SMALL LETTER RUM ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75C", "lowercase_mapping": "", "titlecase_mapping": "A75C", "symbol": "\uA75D" }, 42847: { "value": "A75F", "name": "LATIN SMALL LETTER V WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75E", "lowercase_mapping": "", "titlecase_mapping": "A75E", "symbol": "\uA75F" }, 42849: { "value": "A761", "name": "LATIN SMALL LETTER VY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A760", "lowercase_mapping": "", "titlecase_mapping": "A760", "symbol": "\uA761" }, 42851: { "value": "A763", "name": "LATIN SMALL LETTER VISIGOTHIC Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A762", "lowercase_mapping": "", "titlecase_mapping": "A762", "symbol": "\uA763" }, 42853: { "value": "A765", "name": "LATIN SMALL LETTER THORN WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A764", "lowercase_mapping": "", "titlecase_mapping": "A764", "symbol": "\uA765" }, 42855: { "value": "A767", "name": "LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A766", "lowercase_mapping": "", "titlecase_mapping": "A766", "symbol": "\uA767" }, 42857: { "value": "A769", "name": "LATIN SMALL LETTER VEND", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A768", "lowercase_mapping": "", "titlecase_mapping": "A768", "symbol": "\uA769" }, 42859: { "value": "A76B", "name": "LATIN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76A", "lowercase_mapping": "", "titlecase_mapping": "A76A", "symbol": "\uA76B" }, 42861: { "value": "A76D", "name": "LATIN SMALL LETTER IS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76C", "lowercase_mapping": "", "titlecase_mapping": "A76C", "symbol": "\uA76D" }, 42863: { "value": "A76F", "name": "LATIN SMALL LETTER CON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76E", "lowercase_mapping": "", "titlecase_mapping": "A76E", "symbol": "\uA76F" }, 42865: { "value": "A771", "name": "LATIN SMALL LETTER DUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA771" }, 42866: { "value": "A772", "name": "LATIN SMALL LETTER LUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA772" }, 42867: { "value": "A773", "name": "LATIN SMALL LETTER MUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA773" }, 42868: { "value": "A774", "name": "LATIN SMALL LETTER NUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA774" }, 42869: { "value": "A775", "name": "LATIN SMALL LETTER RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA775" }, 42870: { "value": "A776", "name": "LATIN LETTER SMALL CAPITAL RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA776" }, 42871: { "value": "A777", "name": "LATIN SMALL LETTER TUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA777" }, 42872: { "value": "A778", "name": "LATIN SMALL LETTER UM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA778" }, 42874: { "value": "A77A", "name": "LATIN SMALL LETTER INSULAR D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A779", "lowercase_mapping": "", "titlecase_mapping": "A779", "symbol": "\uA77A" }, 42876: { "value": "A77C", "name": "LATIN SMALL LETTER INSULAR F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77B", "lowercase_mapping": "", "titlecase_mapping": "A77B", "symbol": "\uA77C" }, 42879: { "value": "A77F", "name": "LATIN SMALL LETTER TURNED INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77E", "lowercase_mapping": "", "titlecase_mapping": "A77E", "symbol": "\uA77F" }, 42881: { "value": "A781", "name": "LATIN SMALL LETTER TURNED L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A780", "lowercase_mapping": "", "titlecase_mapping": "A780", "symbol": "\uA781" }, 42883: { "value": "A783", "name": "LATIN SMALL LETTER INSULAR R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A782", "lowercase_mapping": "", "titlecase_mapping": "A782", "symbol": "\uA783" }, 42885: { "value": "A785", "name": "LATIN SMALL LETTER INSULAR S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A784", "lowercase_mapping": "", "titlecase_mapping": "A784", "symbol": "\uA785" }, 42887: { "value": "A787", "name": "LATIN SMALL LETTER INSULAR T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A786", "lowercase_mapping": "", "titlecase_mapping": "A786", "symbol": "\uA787" }, 42892: { "value": "A78C", "name": "LATIN SMALL LETTER SALTILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78B", "lowercase_mapping": "", "titlecase_mapping": "A78B", "symbol": "\uA78C" }, 42894: { "value": "A78E", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA78E" }, 42897: { "value": "A791", "name": "LATIN SMALL LETTER N WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A790", "lowercase_mapping": "", "titlecase_mapping": "A790", "symbol": "\uA791" }, 42899: { "value": "A793", "name": "LATIN SMALL LETTER C WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A792", "lowercase_mapping": "", "titlecase_mapping": "A792", "symbol": "\uA793" }, 42900: { "value": "A794", "name": "LATIN SMALL LETTER C WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA794" }, 42901: { "value": "A795", "name": "LATIN SMALL LETTER H WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA795" }, 42903: { "value": "A797", "name": "LATIN SMALL LETTER B WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A796", "lowercase_mapping": "", "titlecase_mapping": "A796", "symbol": "\uA797" }, 42905: { "value": "A799", "name": "LATIN SMALL LETTER F WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A798", "lowercase_mapping": "", "titlecase_mapping": "A798", "symbol": "\uA799" }, 42907: { "value": "A79B", "name": "LATIN SMALL LETTER VOLAPUK AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79A", "lowercase_mapping": "", "titlecase_mapping": "A79A", "symbol": "\uA79B" }, 42909: { "value": "A79D", "name": "LATIN SMALL LETTER VOLAPUK OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79C", "lowercase_mapping": "", "titlecase_mapping": "A79C", "symbol": "\uA79D" }, 42911: { "value": "A79F", "name": "LATIN SMALL LETTER VOLAPUK UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79E", "lowercase_mapping": "", "titlecase_mapping": "A79E", "symbol": "\uA79F" }, 42913: { "value": "A7A1", "name": "LATIN SMALL LETTER G WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A0", "lowercase_mapping": "", "titlecase_mapping": "A7A0", "symbol": "\uA7A1" }, 42915: { "value": "A7A3", "name": "LATIN SMALL LETTER K WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A2", "lowercase_mapping": "", "titlecase_mapping": "A7A2", "symbol": "\uA7A3" }, 42917: { "value": "A7A5", "name": "LATIN SMALL LETTER N WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A4", "lowercase_mapping": "", "titlecase_mapping": "A7A4", "symbol": "\uA7A5" }, 42919: { "value": "A7A7", "name": "LATIN SMALL LETTER R WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A6", "lowercase_mapping": "", "titlecase_mapping": "A7A6", "symbol": "\uA7A7" }, 42921: { "value": "A7A9", "name": "LATIN SMALL LETTER S WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A8", "lowercase_mapping": "", "titlecase_mapping": "A7A8", "symbol": "\uA7A9" }, 42933: { "value": "A7B5", "name": "LATIN SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B4", "lowercase_mapping": "", "titlecase_mapping": "A7B4", "symbol": "\uA7B5" }, 42935: { "value": "A7B7", "name": "LATIN SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B6", "lowercase_mapping": "", "titlecase_mapping": "A7B6", "symbol": "\uA7B7" }, 43002: { "value": "A7FA", "name": "LATIN LETTER SMALL CAPITAL TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA7FA" }, 43824: { "value": "AB30", "name": "LATIN SMALL LETTER BARRED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB30" }, 43825: { "value": "AB31", "name": "LATIN SMALL LETTER A REVERSED-SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB31" }, 43826: { "value": "AB32", "name": "LATIN SMALL LETTER BLACKLETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB32" }, 43827: { "value": "AB33", "name": "LATIN SMALL LETTER BARRED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB33" }, 43828: { "value": "AB34", "name": "LATIN SMALL LETTER E WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB34" }, 43829: { "value": "AB35", "name": "LATIN SMALL LETTER LENIS F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB35" }, 43830: { "value": "AB36", "name": "LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB36" }, 43831: { "value": "AB37", "name": "LATIN SMALL LETTER L WITH INVERTED LAZY S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB37" }, 43832: { "value": "AB38", "name": "LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB38" }, 43833: { "value": "AB39", "name": "LATIN SMALL LETTER L WITH MIDDLE RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB39" }, 43834: { "value": "AB3A", "name": "LATIN SMALL LETTER M WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3A" }, 43835: { "value": "AB3B", "name": "LATIN SMALL LETTER N WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3B" }, 43836: { "value": "AB3C", "name": "LATIN SMALL LETTER ENG WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3C" }, 43837: { "value": "AB3D", "name": "LATIN SMALL LETTER BLACKLETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3D" }, 43838: { "value": "AB3E", "name": "LATIN SMALL LETTER BLACKLETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3E" }, 43839: { "value": "AB3F", "name": "LATIN SMALL LETTER OPEN O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3F" }, 43840: { "value": "AB40", "name": "LATIN SMALL LETTER INVERTED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB40" }, 43841: { "value": "AB41", "name": "LATIN SMALL LETTER TURNED OE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB41" }, 43842: { "value": "AB42", "name": "LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB42" }, 43843: { "value": "AB43", "name": "LATIN SMALL LETTER TURNED O OPEN-O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB43" }, 43844: { "value": "AB44", "name": "LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB44" }, 43845: { "value": "AB45", "name": "LATIN SMALL LETTER STIRRUP R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB45" }, 43846: { "value": "AB46", "name": "LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB46" }, 43847: { "value": "AB47", "name": "LATIN SMALL LETTER R WITHOUT HANDLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB47" }, 43848: { "value": "AB48", "name": "LATIN SMALL LETTER DOUBLE R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB48" }, 43849: { "value": "AB49", "name": "LATIN SMALL LETTER R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB49" }, 43850: { "value": "AB4A", "name": "LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4A" }, 43851: { "value": "AB4B", "name": "LATIN SMALL LETTER SCRIPT R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4B" }, 43852: { "value": "AB4C", "name": "LATIN SMALL LETTER SCRIPT R WITH RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4C" }, 43853: { "value": "AB4D", "name": "LATIN SMALL LETTER BASELINE ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4D" }, 43854: { "value": "AB4E", "name": "LATIN SMALL LETTER U WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4E" }, 43855: { "value": "AB4F", "name": "LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4F" }, 43856: { "value": "AB50", "name": "LATIN SMALL LETTER UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB50" }, 43857: { "value": "AB51", "name": "LATIN SMALL LETTER TURNED UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB51" }, 43858: { "value": "AB52", "name": "LATIN SMALL LETTER U WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB52" }, 43859: { "value": "AB53", "name": "LATIN SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B3", "lowercase_mapping": "", "titlecase_mapping": "A7B3", "symbol": "\uAB53" }, 43860: { "value": "AB54", "name": "LATIN SMALL LETTER CHI WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB54" }, 43861: { "value": "AB55", "name": "LATIN SMALL LETTER CHI WITH LOW LEFT SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB55" }, 43862: { "value": "AB56", "name": "LATIN SMALL LETTER X WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB56" }, 43863: { "value": "AB57", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB57" }, 43864: { "value": "AB58", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB58" }, 43865: { "value": "AB59", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB59" }, 43866: { "value": "AB5A", "name": "LATIN SMALL LETTER Y WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB5A" }, 43872: { "value": "AB60", "name": "LATIN SMALL LETTER SAKHA YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB60" }, 43873: { "value": "AB61", "name": "LATIN SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB61" }, 43874: { "value": "AB62", "name": "LATIN SMALL LETTER OPEN OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB62" }, 43875: { "value": "AB63", "name": "LATIN SMALL LETTER UO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB63" }, 43876: { "value": "AB64", "name": "LATIN SMALL LETTER INVERTED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB64" }, 43877: { "value": "AB65", "name": "GREEK LETTER SMALL CAPITAL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB65" }, 43888: { "value": "AB70", "name": "CHEROKEE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A0", "lowercase_mapping": "", "titlecase_mapping": "13A0", "symbol": "\uAB70" }, 43889: { "value": "AB71", "name": "CHEROKEE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A1", "lowercase_mapping": "", "titlecase_mapping": "13A1", "symbol": "\uAB71" }, 43890: { "value": "AB72", "name": "CHEROKEE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A2", "lowercase_mapping": "", "titlecase_mapping": "13A2", "symbol": "\uAB72" }, 43891: { "value": "AB73", "name": "CHEROKEE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A3", "lowercase_mapping": "", "titlecase_mapping": "13A3", "symbol": "\uAB73" }, 43892: { "value": "AB74", "name": "CHEROKEE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A4", "lowercase_mapping": "", "titlecase_mapping": "13A4", "symbol": "\uAB74" }, 43893: { "value": "AB75", "name": "CHEROKEE SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A5", "lowercase_mapping": "", "titlecase_mapping": "13A5", "symbol": "\uAB75" }, 43894: { "value": "AB76", "name": "CHEROKEE SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A6", "lowercase_mapping": "", "titlecase_mapping": "13A6", "symbol": "\uAB76" }, 43895: { "value": "AB77", "name": "CHEROKEE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A7", "lowercase_mapping": "", "titlecase_mapping": "13A7", "symbol": "\uAB77" }, 43896: { "value": "AB78", "name": "CHEROKEE SMALL LETTER GE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A8", "lowercase_mapping": "", "titlecase_mapping": "13A8", "symbol": "\uAB78" }, 43897: { "value": "AB79", "name": "CHEROKEE SMALL LETTER GI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A9", "lowercase_mapping": "", "titlecase_mapping": "13A9", "symbol": "\uAB79" }, 43898: { "value": "AB7A", "name": "CHEROKEE SMALL LETTER GO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AA", "lowercase_mapping": "", "titlecase_mapping": "13AA", "symbol": "\uAB7A" }, 43899: { "value": "AB7B", "name": "CHEROKEE SMALL LETTER GU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AB", "lowercase_mapping": "", "titlecase_mapping": "13AB", "symbol": "\uAB7B" }, 43900: { "value": "AB7C", "name": "CHEROKEE SMALL LETTER GV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AC", "lowercase_mapping": "", "titlecase_mapping": "13AC", "symbol": "\uAB7C" }, 43901: { "value": "AB7D", "name": "CHEROKEE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AD", "lowercase_mapping": "", "titlecase_mapping": "13AD", "symbol": "\uAB7D" }, 43902: { "value": "AB7E", "name": "CHEROKEE SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AE", "lowercase_mapping": "", "titlecase_mapping": "13AE", "symbol": "\uAB7E" }, 43903: { "value": "AB7F", "name": "CHEROKEE SMALL LETTER HI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AF", "lowercase_mapping": "", "titlecase_mapping": "13AF", "symbol": "\uAB7F" }, 43904: { "value": "AB80", "name": "CHEROKEE SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B0", "lowercase_mapping": "", "titlecase_mapping": "13B0", "symbol": "\uAB80" }, 43905: { "value": "AB81", "name": "CHEROKEE SMALL LETTER HU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B1", "lowercase_mapping": "", "titlecase_mapping": "13B1", "symbol": "\uAB81" }, 43906: { "value": "AB82", "name": "CHEROKEE SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B2", "lowercase_mapping": "", "titlecase_mapping": "13B2", "symbol": "\uAB82" }, 43907: { "value": "AB83", "name": "CHEROKEE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B3", "lowercase_mapping": "", "titlecase_mapping": "13B3", "symbol": "\uAB83" }, 43908: { "value": "AB84", "name": "CHEROKEE SMALL LETTER LE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B4", "lowercase_mapping": "", "titlecase_mapping": "13B4", "symbol": "\uAB84" }, 43909: { "value": "AB85", "name": "CHEROKEE SMALL LETTER LI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B5", "lowercase_mapping": "", "titlecase_mapping": "13B5", "symbol": "\uAB85" }, 43910: { "value": "AB86", "name": "CHEROKEE SMALL LETTER LO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B6", "lowercase_mapping": "", "titlecase_mapping": "13B6", "symbol": "\uAB86" }, 43911: { "value": "AB87", "name": "CHEROKEE SMALL LETTER LU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B7", "lowercase_mapping": "", "titlecase_mapping": "13B7", "symbol": "\uAB87" }, 43912: { "value": "AB88", "name": "CHEROKEE SMALL LETTER LV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B8", "lowercase_mapping": "", "titlecase_mapping": "13B8", "symbol": "\uAB88" }, 43913: { "value": "AB89", "name": "CHEROKEE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B9", "lowercase_mapping": "", "titlecase_mapping": "13B9", "symbol": "\uAB89" }, 43914: { "value": "AB8A", "name": "CHEROKEE SMALL LETTER ME", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BA", "lowercase_mapping": "", "titlecase_mapping": "13BA", "symbol": "\uAB8A" }, 43915: { "value": "AB8B", "name": "CHEROKEE SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BB", "lowercase_mapping": "", "titlecase_mapping": "13BB", "symbol": "\uAB8B" }, 43916: { "value": "AB8C", "name": "CHEROKEE SMALL LETTER MO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BC", "lowercase_mapping": "", "titlecase_mapping": "13BC", "symbol": "\uAB8C" }, 43917: { "value": "AB8D", "name": "CHEROKEE SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BD", "lowercase_mapping": "", "titlecase_mapping": "13BD", "symbol": "\uAB8D" }, 43918: { "value": "AB8E", "name": "CHEROKEE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BE", "lowercase_mapping": "", "titlecase_mapping": "13BE", "symbol": "\uAB8E" }, 43919: { "value": "AB8F", "name": "CHEROKEE SMALL LETTER HNA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BF", "lowercase_mapping": "", "titlecase_mapping": "13BF", "symbol": "\uAB8F" }, 43920: { "value": "AB90", "name": "CHEROKEE SMALL LETTER NAH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C0", "lowercase_mapping": "", "titlecase_mapping": "13C0", "symbol": "\uAB90" }, 43921: { "value": "AB91", "name": "CHEROKEE SMALL LETTER NE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C1", "lowercase_mapping": "", "titlecase_mapping": "13C1", "symbol": "\uAB91" }, 43922: { "value": "AB92", "name": "CHEROKEE SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C2", "lowercase_mapping": "", "titlecase_mapping": "13C2", "symbol": "\uAB92" }, 43923: { "value": "AB93", "name": "CHEROKEE SMALL LETTER NO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C3", "lowercase_mapping": "", "titlecase_mapping": "13C3", "symbol": "\uAB93" }, 43924: { "value": "AB94", "name": "CHEROKEE SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C4", "lowercase_mapping": "", "titlecase_mapping": "13C4", "symbol": "\uAB94" }, 43925: { "value": "AB95", "name": "CHEROKEE SMALL LETTER NV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C5", "lowercase_mapping": "", "titlecase_mapping": "13C5", "symbol": "\uAB95" }, 43926: { "value": "AB96", "name": "CHEROKEE SMALL LETTER QUA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C6", "lowercase_mapping": "", "titlecase_mapping": "13C6", "symbol": "\uAB96" }, 43927: { "value": "AB97", "name": "CHEROKEE SMALL LETTER QUE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C7", "lowercase_mapping": "", "titlecase_mapping": "13C7", "symbol": "\uAB97" }, 43928: { "value": "AB98", "name": "CHEROKEE SMALL LETTER QUI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C8", "lowercase_mapping": "", "titlecase_mapping": "13C8", "symbol": "\uAB98" }, 43929: { "value": "AB99", "name": "CHEROKEE SMALL LETTER QUO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C9", "lowercase_mapping": "", "titlecase_mapping": "13C9", "symbol": "\uAB99" }, 43930: { "value": "AB9A", "name": "CHEROKEE SMALL LETTER QUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CA", "lowercase_mapping": "", "titlecase_mapping": "13CA", "symbol": "\uAB9A" }, 43931: { "value": "AB9B", "name": "CHEROKEE SMALL LETTER QUV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CB", "lowercase_mapping": "", "titlecase_mapping": "13CB", "symbol": "\uAB9B" }, 43932: { "value": "AB9C", "name": "CHEROKEE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CC", "lowercase_mapping": "", "titlecase_mapping": "13CC", "symbol": "\uAB9C" }, 43933: { "value": "AB9D", "name": "CHEROKEE SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CD", "lowercase_mapping": "", "titlecase_mapping": "13CD", "symbol": "\uAB9D" }, 43934: { "value": "AB9E", "name": "CHEROKEE SMALL LETTER SE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CE", "lowercase_mapping": "", "titlecase_mapping": "13CE", "symbol": "\uAB9E" }, 43935: { "value": "AB9F", "name": "CHEROKEE SMALL LETTER SI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CF", "lowercase_mapping": "", "titlecase_mapping": "13CF", "symbol": "\uAB9F" }, 43936: { "value": "ABA0", "name": "CHEROKEE SMALL LETTER SO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D0", "lowercase_mapping": "", "titlecase_mapping": "13D0", "symbol": "\uABA0" }, 43937: { "value": "ABA1", "name": "CHEROKEE SMALL LETTER SU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D1", "lowercase_mapping": "", "titlecase_mapping": "13D1", "symbol": "\uABA1" }, 43938: { "value": "ABA2", "name": "CHEROKEE SMALL LETTER SV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D2", "lowercase_mapping": "", "titlecase_mapping": "13D2", "symbol": "\uABA2" }, 43939: { "value": "ABA3", "name": "CHEROKEE SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D3", "lowercase_mapping": "", "titlecase_mapping": "13D3", "symbol": "\uABA3" }, 43940: { "value": "ABA4", "name": "CHEROKEE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D4", "lowercase_mapping": "", "titlecase_mapping": "13D4", "symbol": "\uABA4" }, 43941: { "value": "ABA5", "name": "CHEROKEE SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D5", "lowercase_mapping": "", "titlecase_mapping": "13D5", "symbol": "\uABA5" }, 43942: { "value": "ABA6", "name": "CHEROKEE SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D6", "lowercase_mapping": "", "titlecase_mapping": "13D6", "symbol": "\uABA6" }, 43943: { "value": "ABA7", "name": "CHEROKEE SMALL LETTER DI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D7", "lowercase_mapping": "", "titlecase_mapping": "13D7", "symbol": "\uABA7" }, 43944: { "value": "ABA8", "name": "CHEROKEE SMALL LETTER TI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D8", "lowercase_mapping": "", "titlecase_mapping": "13D8", "symbol": "\uABA8" }, 43945: { "value": "ABA9", "name": "CHEROKEE SMALL LETTER DO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D9", "lowercase_mapping": "", "titlecase_mapping": "13D9", "symbol": "\uABA9" }, 43946: { "value": "ABAA", "name": "CHEROKEE SMALL LETTER DU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DA", "lowercase_mapping": "", "titlecase_mapping": "13DA", "symbol": "\uABAA" }, 43947: { "value": "ABAB", "name": "CHEROKEE SMALL LETTER DV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DB", "lowercase_mapping": "", "titlecase_mapping": "13DB", "symbol": "\uABAB" }, 43948: { "value": "ABAC", "name": "CHEROKEE SMALL LETTER DLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DC", "lowercase_mapping": "", "titlecase_mapping": "13DC", "symbol": "\uABAC" }, 43949: { "value": "ABAD", "name": "CHEROKEE SMALL LETTER TLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DD", "lowercase_mapping": "", "titlecase_mapping": "13DD", "symbol": "\uABAD" }, 43950: { "value": "ABAE", "name": "CHEROKEE SMALL LETTER TLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DE", "lowercase_mapping": "", "titlecase_mapping": "13DE", "symbol": "\uABAE" }, 43951: { "value": "ABAF", "name": "CHEROKEE SMALL LETTER TLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DF", "lowercase_mapping": "", "titlecase_mapping": "13DF", "symbol": "\uABAF" }, 43952: { "value": "ABB0", "name": "CHEROKEE SMALL LETTER TLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E0", "lowercase_mapping": "", "titlecase_mapping": "13E0", "symbol": "\uABB0" }, 43953: { "value": "ABB1", "name": "CHEROKEE SMALL LETTER TLU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E1", "lowercase_mapping": "", "titlecase_mapping": "13E1", "symbol": "\uABB1" }, 43954: { "value": "ABB2", "name": "CHEROKEE SMALL LETTER TLV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E2", "lowercase_mapping": "", "titlecase_mapping": "13E2", "symbol": "\uABB2" }, 43955: { "value": "ABB3", "name": "CHEROKEE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E3", "lowercase_mapping": "", "titlecase_mapping": "13E3", "symbol": "\uABB3" }, 43956: { "value": "ABB4", "name": "CHEROKEE SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E4", "lowercase_mapping": "", "titlecase_mapping": "13E4", "symbol": "\uABB4" }, 43957: { "value": "ABB5", "name": "CHEROKEE SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E5", "lowercase_mapping": "", "titlecase_mapping": "13E5", "symbol": "\uABB5" }, 43958: { "value": "ABB6", "name": "CHEROKEE SMALL LETTER TSO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E6", "lowercase_mapping": "", "titlecase_mapping": "13E6", "symbol": "\uABB6" }, 43959: { "value": "ABB7", "name": "CHEROKEE SMALL LETTER TSU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E7", "lowercase_mapping": "", "titlecase_mapping": "13E7", "symbol": "\uABB7" }, 43960: { "value": "ABB8", "name": "CHEROKEE SMALL LETTER TSV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E8", "lowercase_mapping": "", "titlecase_mapping": "13E8", "symbol": "\uABB8" }, 43961: { "value": "ABB9", "name": "CHEROKEE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E9", "lowercase_mapping": "", "titlecase_mapping": "13E9", "symbol": "\uABB9" }, 43962: { "value": "ABBA", "name": "CHEROKEE SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EA", "lowercase_mapping": "", "titlecase_mapping": "13EA", "symbol": "\uABBA" }, 43963: { "value": "ABBB", "name": "CHEROKEE SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EB", "lowercase_mapping": "", "titlecase_mapping": "13EB", "symbol": "\uABBB" }, 43964: { "value": "ABBC", "name": "CHEROKEE SMALL LETTER WO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EC", "lowercase_mapping": "", "titlecase_mapping": "13EC", "symbol": "\uABBC" }, 43965: { "value": "ABBD", "name": "CHEROKEE SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13ED", "lowercase_mapping": "", "titlecase_mapping": "13ED", "symbol": "\uABBD" }, 43966: { "value": "ABBE", "name": "CHEROKEE SMALL LETTER WV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EE", "lowercase_mapping": "", "titlecase_mapping": "13EE", "symbol": "\uABBE" }, 43967: { "value": "ABBF", "name": "CHEROKEE SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EF", "lowercase_mapping": "", "titlecase_mapping": "13EF", "symbol": "\uABBF" }, 64256: { "value": "FB00", "name": "LATIN SMALL LIGATURE FF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB00" }, 64257: { "value": "FB01", "name": "LATIN SMALL LIGATURE FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB01" }, 64258: { "value": "FB02", "name": "LATIN SMALL LIGATURE FL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB02" }, 64259: { "value": "FB03", "name": "LATIN SMALL LIGATURE FFI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB03" }, 64260: { "value": "FB04", "name": "LATIN SMALL LIGATURE FFL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB04" }, 64261: { "value": "FB05", "name": "LATIN SMALL LIGATURE LONG S T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 017F 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB05" }, 64262: { "value": "FB06", "name": "LATIN SMALL LIGATURE ST", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB06" }, 64275: { "value": "FB13", "name": "ARMENIAN SMALL LIGATURE MEN NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB13" }, 64276: { "value": "FB14", "name": "ARMENIAN SMALL LIGATURE MEN ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0565", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB14" }, 64277: { "value": "FB15", "name": "ARMENIAN SMALL LIGATURE MEN INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB15" }, 64278: { "value": "FB16", "name": "ARMENIAN SMALL LIGATURE VEW NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 057E 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB16" }, 64279: { "value": "FB17", "name": "ARMENIAN SMALL LIGATURE MEN XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB17" }, 65345: { "value": "FF41", "name": "FULLWIDTH LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF21", "lowercase_mapping": "", "titlecase_mapping": "FF21", "symbol": "\uFF41" }, 65346: { "value": "FF42", "name": "FULLWIDTH LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF22", "lowercase_mapping": "", "titlecase_mapping": "FF22", "symbol": "\uFF42" }, 65347: { "value": "FF43", "name": "FULLWIDTH LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF23", "lowercase_mapping": "", "titlecase_mapping": "FF23", "symbol": "\uFF43" }, 65348: { "value": "FF44", "name": "FULLWIDTH LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF24", "lowercase_mapping": "", "titlecase_mapping": "FF24", "symbol": "\uFF44" }, 65349: { "value": "FF45", "name": "FULLWIDTH LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF25", "lowercase_mapping": "", "titlecase_mapping": "FF25", "symbol": "\uFF45" }, 65350: { "value": "FF46", "name": "FULLWIDTH LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF26", "lowercase_mapping": "", "titlecase_mapping": "FF26", "symbol": "\uFF46" }, 65351: { "value": "FF47", "name": "FULLWIDTH LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF27", "lowercase_mapping": "", "titlecase_mapping": "FF27", "symbol": "\uFF47" }, 65352: { "value": "FF48", "name": "FULLWIDTH LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF28", "lowercase_mapping": "", "titlecase_mapping": "FF28", "symbol": "\uFF48" }, 65353: { "value": "FF49", "name": "FULLWIDTH LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF29", "lowercase_mapping": "", "titlecase_mapping": "FF29", "symbol": "\uFF49" }, 65354: { "value": "FF4A", "name": "FULLWIDTH LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2A", "lowercase_mapping": "", "titlecase_mapping": "FF2A", "symbol": "\uFF4A" }, 65355: { "value": "FF4B", "name": "FULLWIDTH LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2B", "lowercase_mapping": "", "titlecase_mapping": "FF2B", "symbol": "\uFF4B" }, 65356: { "value": "FF4C", "name": "FULLWIDTH LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2C", "lowercase_mapping": "", "titlecase_mapping": "FF2C", "symbol": "\uFF4C" }, 65357: { "value": "FF4D", "name": "FULLWIDTH LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2D", "lowercase_mapping": "", "titlecase_mapping": "FF2D", "symbol": "\uFF4D" }, 65358: { "value": "FF4E", "name": "FULLWIDTH LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2E", "lowercase_mapping": "", "titlecase_mapping": "FF2E", "symbol": "\uFF4E" }, 65359: { "value": "FF4F", "name": "FULLWIDTH LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2F", "lowercase_mapping": "", "titlecase_mapping": "FF2F", "symbol": "\uFF4F" }, 65360: { "value": "FF50", "name": "FULLWIDTH LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF30", "lowercase_mapping": "", "titlecase_mapping": "FF30", "symbol": "\uFF50" }, 65361: { "value": "FF51", "name": "FULLWIDTH LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF31", "lowercase_mapping": "", "titlecase_mapping": "FF31", "symbol": "\uFF51" }, 65362: { "value": "FF52", "name": "FULLWIDTH LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF32", "lowercase_mapping": "", "titlecase_mapping": "FF32", "symbol": "\uFF52" }, 65363: { "value": "FF53", "name": "FULLWIDTH LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF33", "lowercase_mapping": "", "titlecase_mapping": "FF33", "symbol": "\uFF53" }, 65364: { "value": "FF54", "name": "FULLWIDTH LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF34", "lowercase_mapping": "", "titlecase_mapping": "FF34", "symbol": "\uFF54" }, 65365: { "value": "FF55", "name": "FULLWIDTH LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF35", "lowercase_mapping": "", "titlecase_mapping": "FF35", "symbol": "\uFF55" }, 65366: { "value": "FF56", "name": "FULLWIDTH LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF36", "lowercase_mapping": "", "titlecase_mapping": "FF36", "symbol": "\uFF56" }, 65367: { "value": "FF57", "name": "FULLWIDTH LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF37", "lowercase_mapping": "", "titlecase_mapping": "FF37", "symbol": "\uFF57" }, 65368: { "value": "FF58", "name": "FULLWIDTH LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF38", "lowercase_mapping": "", "titlecase_mapping": "FF38", "symbol": "\uFF58" }, 65369: { "value": "FF59", "name": "FULLWIDTH LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF39", "lowercase_mapping": "", "titlecase_mapping": "FF39", "symbol": "\uFF59" }, 65370: { "value": "FF5A", "name": "FULLWIDTH LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF3A", "lowercase_mapping": "", "titlecase_mapping": "FF3A", "symbol": "\uFF5A" }, 66600: { "value": "10428", "name": "DESERET SMALL LETTER LONG I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10400", "lowercase_mapping": "", "titlecase_mapping": "10400", "symbol": "\u0428" }, 66601: { "value": "10429", "name": "DESERET SMALL LETTER LONG E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10401", "lowercase_mapping": "", "titlecase_mapping": "10401", "symbol": "\u0429" }, 66602: { "value": "1042A", "name": "DESERET SMALL LETTER LONG A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10402", "lowercase_mapping": "", "titlecase_mapping": "10402", "symbol": "\u042A" }, 66603: { "value": "1042B", "name": "DESERET SMALL LETTER LONG AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10403", "lowercase_mapping": "", "titlecase_mapping": "10403", "symbol": "\u042B" }, 66604: { "value": "1042C", "name": "DESERET SMALL LETTER LONG O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10404", "lowercase_mapping": "", "titlecase_mapping": "10404", "symbol": "\u042C" }, 66605: { "value": "1042D", "name": "DESERET SMALL LETTER LONG OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10405", "lowercase_mapping": "", "titlecase_mapping": "10405", "symbol": "\u042D" }, 66606: { "value": "1042E", "name": "DESERET SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10406", "lowercase_mapping": "", "titlecase_mapping": "10406", "symbol": "\u042E" }, 66607: { "value": "1042F", "name": "DESERET SMALL LETTER SHORT E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10407", "lowercase_mapping": "", "titlecase_mapping": "10407", "symbol": "\u042F" }, 66608: { "value": "10430", "name": "DESERET SMALL LETTER SHORT A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10408", "lowercase_mapping": "", "titlecase_mapping": "10408", "symbol": "\u0430" }, 66609: { "value": "10431", "name": "DESERET SMALL LETTER SHORT AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10409", "lowercase_mapping": "", "titlecase_mapping": "10409", "symbol": "\u0431" }, 66610: { "value": "10432", "name": "DESERET SMALL LETTER SHORT O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040A", "lowercase_mapping": "", "titlecase_mapping": "1040A", "symbol": "\u0432" }, 66611: { "value": "10433", "name": "DESERET SMALL LETTER SHORT OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040B", "lowercase_mapping": "", "titlecase_mapping": "1040B", "symbol": "\u0433" }, 66612: { "value": "10434", "name": "DESERET SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040C", "lowercase_mapping": "", "titlecase_mapping": "1040C", "symbol": "\u0434" }, 66613: { "value": "10435", "name": "DESERET SMALL LETTER OW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040D", "lowercase_mapping": "", "titlecase_mapping": "1040D", "symbol": "\u0435" }, 66614: { "value": "10436", "name": "DESERET SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040E", "lowercase_mapping": "", "titlecase_mapping": "1040E", "symbol": "\u0436" }, 66615: { "value": "10437", "name": "DESERET SMALL LETTER YEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040F", "lowercase_mapping": "", "titlecase_mapping": "1040F", "symbol": "\u0437" }, 66616: { "value": "10438", "name": "DESERET SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10410", "lowercase_mapping": "", "titlecase_mapping": "10410", "symbol": "\u0438" }, 66617: { "value": "10439", "name": "DESERET SMALL LETTER PEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10411", "lowercase_mapping": "", "titlecase_mapping": "10411", "symbol": "\u0439" }, 66618: { "value": "1043A", "name": "DESERET SMALL LETTER BEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10412", "lowercase_mapping": "", "titlecase_mapping": "10412", "symbol": "\u043A" }, 66619: { "value": "1043B", "name": "DESERET SMALL LETTER TEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10413", "lowercase_mapping": "", "titlecase_mapping": "10413", "symbol": "\u043B" }, 66620: { "value": "1043C", "name": "DESERET SMALL LETTER DEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10414", "lowercase_mapping": "", "titlecase_mapping": "10414", "symbol": "\u043C" }, 66621: { "value": "1043D", "name": "DESERET SMALL LETTER CHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10415", "lowercase_mapping": "", "titlecase_mapping": "10415", "symbol": "\u043D" }, 66622: { "value": "1043E", "name": "DESERET SMALL LETTER JEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10416", "lowercase_mapping": "", "titlecase_mapping": "10416", "symbol": "\u043E" }, 66623: { "value": "1043F", "name": "DESERET SMALL LETTER KAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10417", "lowercase_mapping": "", "titlecase_mapping": "10417", "symbol": "\u043F" }, 66624: { "value": "10440", "name": "DESERET SMALL LETTER GAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10418", "lowercase_mapping": "", "titlecase_mapping": "10418", "symbol": "\u0440" }, 66625: { "value": "10441", "name": "DESERET SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10419", "lowercase_mapping": "", "titlecase_mapping": "10419", "symbol": "\u0441" }, 66626: { "value": "10442", "name": "DESERET SMALL LETTER VEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041A", "lowercase_mapping": "", "titlecase_mapping": "1041A", "symbol": "\u0442" }, 66627: { "value": "10443", "name": "DESERET SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041B", "lowercase_mapping": "", "titlecase_mapping": "1041B", "symbol": "\u0443" }, 66628: { "value": "10444", "name": "DESERET SMALL LETTER THEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041C", "lowercase_mapping": "", "titlecase_mapping": "1041C", "symbol": "\u0444" }, 66629: { "value": "10445", "name": "DESERET SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041D", "lowercase_mapping": "", "titlecase_mapping": "1041D", "symbol": "\u0445" }, 66630: { "value": "10446", "name": "DESERET SMALL LETTER ZEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041E", "lowercase_mapping": "", "titlecase_mapping": "1041E", "symbol": "\u0446" }, 66631: { "value": "10447", "name": "DESERET SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041F", "lowercase_mapping": "", "titlecase_mapping": "1041F", "symbol": "\u0447" }, 66632: { "value": "10448", "name": "DESERET SMALL LETTER ZHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10420", "lowercase_mapping": "", "titlecase_mapping": "10420", "symbol": "\u0448" }, 66633: { "value": "10449", "name": "DESERET SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10421", "lowercase_mapping": "", "titlecase_mapping": "10421", "symbol": "\u0449" }, 66634: { "value": "1044A", "name": "DESERET SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10422", "lowercase_mapping": "", "titlecase_mapping": "10422", "symbol": "\u044A" }, 66635: { "value": "1044B", "name": "DESERET SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10423", "lowercase_mapping": "", "titlecase_mapping": "10423", "symbol": "\u044B" }, 66636: { "value": "1044C", "name": "DESERET SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10424", "lowercase_mapping": "", "titlecase_mapping": "10424", "symbol": "\u044C" }, 66637: { "value": "1044D", "name": "DESERET SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10425", "lowercase_mapping": "", "titlecase_mapping": "10425", "symbol": "\u044D" }, 66638: { "value": "1044E", "name": "DESERET SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10426", "lowercase_mapping": "", "titlecase_mapping": "10426", "symbol": "\u044E" }, 66639: { "value": "1044F", "name": "DESERET SMALL LETTER EW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10427", "lowercase_mapping": "", "titlecase_mapping": "10427", "symbol": "\u044F" }, 66776: { "value": "104D8", "name": "OSAGE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B0", "lowercase_mapping": "", "titlecase_mapping": "104B0", "symbol": "\u04D8" }, 66777: { "value": "104D9", "name": "OSAGE SMALL LETTER AI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B1", "lowercase_mapping": "", "titlecase_mapping": "104B1", "symbol": "\u04D9" }, 66778: { "value": "104DA", "name": "OSAGE SMALL LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B2", "lowercase_mapping": "", "titlecase_mapping": "104B2", "symbol": "\u04DA" }, 66779: { "value": "104DB", "name": "OSAGE SMALL LETTER AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B3", "lowercase_mapping": "", "titlecase_mapping": "104B3", "symbol": "\u04DB" }, 66780: { "value": "104DC", "name": "OSAGE SMALL LETTER BRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B4", "lowercase_mapping": "", "titlecase_mapping": "104B4", "symbol": "\u04DC" }, 66781: { "value": "104DD", "name": "OSAGE SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B5", "lowercase_mapping": "", "titlecase_mapping": "104B5", "symbol": "\u04DD" }, 66782: { "value": "104DE", "name": "OSAGE SMALL LETTER EHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B6", "lowercase_mapping": "", "titlecase_mapping": "104B6", "symbol": "\u04DE" }, 66783: { "value": "104DF", "name": "OSAGE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B7", "lowercase_mapping": "", "titlecase_mapping": "104B7", "symbol": "\u04DF" }, 66784: { "value": "104E0", "name": "OSAGE SMALL LETTER EIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B8", "lowercase_mapping": "", "titlecase_mapping": "104B8", "symbol": "\u04E0" }, 66785: { "value": "104E1", "name": "OSAGE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B9", "lowercase_mapping": "", "titlecase_mapping": "104B9", "symbol": "\u04E1" }, 66786: { "value": "104E2", "name": "OSAGE SMALL LETTER HYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BA", "lowercase_mapping": "", "titlecase_mapping": "104BA", "symbol": "\u04E2" }, 66787: { "value": "104E3", "name": "OSAGE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BB", "lowercase_mapping": "", "titlecase_mapping": "104BB", "symbol": "\u04E3" }, 66788: { "value": "104E4", "name": "OSAGE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BC", "lowercase_mapping": "", "titlecase_mapping": "104BC", "symbol": "\u04E4" }, 66789: { "value": "104E5", "name": "OSAGE SMALL LETTER EHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BD", "lowercase_mapping": "", "titlecase_mapping": "104BD", "symbol": "\u04E5" }, 66790: { "value": "104E6", "name": "OSAGE SMALL LETTER KYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BE", "lowercase_mapping": "", "titlecase_mapping": "104BE", "symbol": "\u04E6" }, 66791: { "value": "104E7", "name": "OSAGE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BF", "lowercase_mapping": "", "titlecase_mapping": "104BF", "symbol": "\u04E7" }, 66792: { "value": "104E8", "name": "OSAGE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C0", "lowercase_mapping": "", "titlecase_mapping": "104C0", "symbol": "\u04E8" }, 66793: { "value": "104E9", "name": "OSAGE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C1", "lowercase_mapping": "", "titlecase_mapping": "104C1", "symbol": "\u04E9" }, 66794: { "value": "104EA", "name": "OSAGE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C2", "lowercase_mapping": "", "titlecase_mapping": "104C2", "symbol": "\u04EA" }, 66795: { "value": "104EB", "name": "OSAGE SMALL LETTER OIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C3", "lowercase_mapping": "", "titlecase_mapping": "104C3", "symbol": "\u04EB" }, 66796: { "value": "104EC", "name": "OSAGE SMALL LETTER PA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C4", "lowercase_mapping": "", "titlecase_mapping": "104C4", "symbol": "\u04EC" }, 66797: { "value": "104ED", "name": "OSAGE SMALL LETTER EHPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C5", "lowercase_mapping": "", "titlecase_mapping": "104C5", "symbol": "\u04ED" }, 66798: { "value": "104EE", "name": "OSAGE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C6", "lowercase_mapping": "", "titlecase_mapping": "104C6", "symbol": "\u04EE" }, 66799: { "value": "104EF", "name": "OSAGE SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C7", "lowercase_mapping": "", "titlecase_mapping": "104C7", "symbol": "\u04EF" }, 66800: { "value": "104F0", "name": "OSAGE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C8", "lowercase_mapping": "", "titlecase_mapping": "104C8", "symbol": "\u04F0" }, 66801: { "value": "104F1", "name": "OSAGE SMALL LETTER EHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C9", "lowercase_mapping": "", "titlecase_mapping": "104C9", "symbol": "\u04F1" }, 66802: { "value": "104F2", "name": "OSAGE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CA", "lowercase_mapping": "", "titlecase_mapping": "104CA", "symbol": "\u04F2" }, 66803: { "value": "104F3", "name": "OSAGE SMALL LETTER EHTSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CB", "lowercase_mapping": "", "titlecase_mapping": "104CB", "symbol": "\u04F3" }, 66804: { "value": "104F4", "name": "OSAGE SMALL LETTER TSHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CC", "lowercase_mapping": "", "titlecase_mapping": "104CC", "symbol": "\u04F4" }, 66805: { "value": "104F5", "name": "OSAGE SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CD", "lowercase_mapping": "", "titlecase_mapping": "104CD", "symbol": "\u04F5" }, 66806: { "value": "104F6", "name": "OSAGE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CE", "lowercase_mapping": "", "titlecase_mapping": "104CE", "symbol": "\u04F6" }, 66807: { "value": "104F7", "name": "OSAGE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CF", "lowercase_mapping": "", "titlecase_mapping": "104CF", "symbol": "\u04F7" }, 66808: { "value": "104F8", "name": "OSAGE SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D0", "lowercase_mapping": "", "titlecase_mapping": "104D0", "symbol": "\u04F8" }, 66809: { "value": "104F9", "name": "OSAGE SMALL LETTER GHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D1", "lowercase_mapping": "", "titlecase_mapping": "104D1", "symbol": "\u04F9" }, 66810: { "value": "104FA", "name": "OSAGE SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D2", "lowercase_mapping": "", "titlecase_mapping": "104D2", "symbol": "\u04FA" }, 66811: { "value": "104FB", "name": "OSAGE SMALL LETTER ZHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D3", "lowercase_mapping": "", "titlecase_mapping": "104D3", "symbol": "\u04FB" }, 68800: { "value": "10CC0", "name": "OLD HUNGARIAN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C80", "lowercase_mapping": "", "titlecase_mapping": "10C80", "symbol": "\u0CC0" }, 68801: { "value": "10CC1", "name": "OLD HUNGARIAN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C81", "lowercase_mapping": "", "titlecase_mapping": "10C81", "symbol": "\u0CC1" }, 68802: { "value": "10CC2", "name": "OLD HUNGARIAN SMALL LETTER EB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C82", "lowercase_mapping": "", "titlecase_mapping": "10C82", "symbol": "\u0CC2" }, 68803: { "value": "10CC3", "name": "OLD HUNGARIAN SMALL LETTER AMB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C83", "lowercase_mapping": "", "titlecase_mapping": "10C83", "symbol": "\u0CC3" }, 68804: { "value": "10CC4", "name": "OLD HUNGARIAN SMALL LETTER EC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C84", "lowercase_mapping": "", "titlecase_mapping": "10C84", "symbol": "\u0CC4" }, 68805: { "value": "10CC5", "name": "OLD HUNGARIAN SMALL LETTER ENC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C85", "lowercase_mapping": "", "titlecase_mapping": "10C85", "symbol": "\u0CC5" }, 68806: { "value": "10CC6", "name": "OLD HUNGARIAN SMALL LETTER ECS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C86", "lowercase_mapping": "", "titlecase_mapping": "10C86", "symbol": "\u0CC6" }, 68807: { "value": "10CC7", "name": "OLD HUNGARIAN SMALL LETTER ED", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C87", "lowercase_mapping": "", "titlecase_mapping": "10C87", "symbol": "\u0CC7" }, 68808: { "value": "10CC8", "name": "OLD HUNGARIAN SMALL LETTER AND", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C88", "lowercase_mapping": "", "titlecase_mapping": "10C88", "symbol": "\u0CC8" }, 68809: { "value": "10CC9", "name": "OLD HUNGARIAN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C89", "lowercase_mapping": "", "titlecase_mapping": "10C89", "symbol": "\u0CC9" }, 68810: { "value": "10CCA", "name": "OLD HUNGARIAN SMALL LETTER CLOSE E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8A", "lowercase_mapping": "", "titlecase_mapping": "10C8A", "symbol": "\u0CCA" }, 68811: { "value": "10CCB", "name": "OLD HUNGARIAN SMALL LETTER EE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8B", "lowercase_mapping": "", "titlecase_mapping": "10C8B", "symbol": "\u0CCB" }, 68812: { "value": "10CCC", "name": "OLD HUNGARIAN SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8C", "lowercase_mapping": "", "titlecase_mapping": "10C8C", "symbol": "\u0CCC" }, 68813: { "value": "10CCD", "name": "OLD HUNGARIAN SMALL LETTER EG", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8D", "lowercase_mapping": "", "titlecase_mapping": "10C8D", "symbol": "\u0CCD" }, 68814: { "value": "10CCE", "name": "OLD HUNGARIAN SMALL LETTER EGY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8E", "lowercase_mapping": "", "titlecase_mapping": "10C8E", "symbol": "\u0CCE" }, 68815: { "value": "10CCF", "name": "OLD HUNGARIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8F", "lowercase_mapping": "", "titlecase_mapping": "10C8F", "symbol": "\u0CCF" }, 68816: { "value": "10CD0", "name": "OLD HUNGARIAN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C90", "lowercase_mapping": "", "titlecase_mapping": "10C90", "symbol": "\u0CD0" }, 68817: { "value": "10CD1", "name": "OLD HUNGARIAN SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C91", "lowercase_mapping": "", "titlecase_mapping": "10C91", "symbol": "\u0CD1" }, 68818: { "value": "10CD2", "name": "OLD HUNGARIAN SMALL LETTER EJ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C92", "lowercase_mapping": "", "titlecase_mapping": "10C92", "symbol": "\u0CD2" }, 68819: { "value": "10CD3", "name": "OLD HUNGARIAN SMALL LETTER EK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C93", "lowercase_mapping": "", "titlecase_mapping": "10C93", "symbol": "\u0CD3" }, 68820: { "value": "10CD4", "name": "OLD HUNGARIAN SMALL LETTER AK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C94", "lowercase_mapping": "", "titlecase_mapping": "10C94", "symbol": "\u0CD4" }, 68821: { "value": "10CD5", "name": "OLD HUNGARIAN SMALL LETTER UNK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C95", "lowercase_mapping": "", "titlecase_mapping": "10C95", "symbol": "\u0CD5" }, 68822: { "value": "10CD6", "name": "OLD HUNGARIAN SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C96", "lowercase_mapping": "", "titlecase_mapping": "10C96", "symbol": "\u0CD6" }, 68823: { "value": "10CD7", "name": "OLD HUNGARIAN SMALL LETTER ELY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C97", "lowercase_mapping": "", "titlecase_mapping": "10C97", "symbol": "\u0CD7" }, 68824: { "value": "10CD8", "name": "OLD HUNGARIAN SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C98", "lowercase_mapping": "", "titlecase_mapping": "10C98", "symbol": "\u0CD8" }, 68825: { "value": "10CD9", "name": "OLD HUNGARIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C99", "lowercase_mapping": "", "titlecase_mapping": "10C99", "symbol": "\u0CD9" }, 68826: { "value": "10CDA", "name": "OLD HUNGARIAN SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9A", "lowercase_mapping": "", "titlecase_mapping": "10C9A", "symbol": "\u0CDA" }, 68827: { "value": "10CDB", "name": "OLD HUNGARIAN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9B", "lowercase_mapping": "", "titlecase_mapping": "10C9B", "symbol": "\u0CDB" }, 68828: { "value": "10CDC", "name": "OLD HUNGARIAN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9C", "lowercase_mapping": "", "titlecase_mapping": "10C9C", "symbol": "\u0CDC" }, 68829: { "value": "10CDD", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9D", "lowercase_mapping": "", "titlecase_mapping": "10C9D", "symbol": "\u0CDD" }, 68830: { "value": "10CDE", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9E", "lowercase_mapping": "", "titlecase_mapping": "10C9E", "symbol": "\u0CDE" }, 68831: { "value": "10CDF", "name": "OLD HUNGARIAN SMALL LETTER OEE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9F", "lowercase_mapping": "", "titlecase_mapping": "10C9F", "symbol": "\u0CDF" }, 68832: { "value": "10CE0", "name": "OLD HUNGARIAN SMALL LETTER EP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA0", "lowercase_mapping": "", "titlecase_mapping": "10CA0", "symbol": "\u0CE0" }, 68833: { "value": "10CE1", "name": "OLD HUNGARIAN SMALL LETTER EMP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA1", "lowercase_mapping": "", "titlecase_mapping": "10CA1", "symbol": "\u0CE1" }, 68834: { "value": "10CE2", "name": "OLD HUNGARIAN SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA2", "lowercase_mapping": "", "titlecase_mapping": "10CA2", "symbol": "\u0CE2" }, 68835: { "value": "10CE3", "name": "OLD HUNGARIAN SMALL LETTER SHORT ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA3", "lowercase_mapping": "", "titlecase_mapping": "10CA3", "symbol": "\u0CE3" }, 68836: { "value": "10CE4", "name": "OLD HUNGARIAN SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA4", "lowercase_mapping": "", "titlecase_mapping": "10CA4", "symbol": "\u0CE4" }, 68837: { "value": "10CE5", "name": "OLD HUNGARIAN SMALL LETTER ESZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA5", "lowercase_mapping": "", "titlecase_mapping": "10CA5", "symbol": "\u0CE5" }, 68838: { "value": "10CE6", "name": "OLD HUNGARIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA6", "lowercase_mapping": "", "titlecase_mapping": "10CA6", "symbol": "\u0CE6" }, 68839: { "value": "10CE7", "name": "OLD HUNGARIAN SMALL LETTER ENT", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA7", "lowercase_mapping": "", "titlecase_mapping": "10CA7", "symbol": "\u0CE7" }, 68840: { "value": "10CE8", "name": "OLD HUNGARIAN SMALL LETTER ETY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA8", "lowercase_mapping": "", "titlecase_mapping": "10CA8", "symbol": "\u0CE8" }, 68841: { "value": "10CE9", "name": "OLD HUNGARIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA9", "lowercase_mapping": "", "titlecase_mapping": "10CA9", "symbol": "\u0CE9" }, 68842: { "value": "10CEA", "name": "OLD HUNGARIAN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAA", "lowercase_mapping": "", "titlecase_mapping": "10CAA", "symbol": "\u0CEA" }, 68843: { "value": "10CEB", "name": "OLD HUNGARIAN SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAB", "lowercase_mapping": "", "titlecase_mapping": "10CAB", "symbol": "\u0CEB" }, 68844: { "value": "10CEC", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAC", "lowercase_mapping": "", "titlecase_mapping": "10CAC", "symbol": "\u0CEC" }, 68845: { "value": "10CED", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAD", "lowercase_mapping": "", "titlecase_mapping": "10CAD", "symbol": "\u0CED" }, 68846: { "value": "10CEE", "name": "OLD HUNGARIAN SMALL LETTER EV", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAE", "lowercase_mapping": "", "titlecase_mapping": "10CAE", "symbol": "\u0CEE" }, 68847: { "value": "10CEF", "name": "OLD HUNGARIAN SMALL LETTER EZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAF", "lowercase_mapping": "", "titlecase_mapping": "10CAF", "symbol": "\u0CEF" }, 68848: { "value": "10CF0", "name": "OLD HUNGARIAN SMALL LETTER EZS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB0", "lowercase_mapping": "", "titlecase_mapping": "10CB0", "symbol": "\u0CF0" }, 68849: { "value": "10CF1", "name": "OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB1", "lowercase_mapping": "", "titlecase_mapping": "10CB1", "symbol": "\u0CF1" }, 68850: { "value": "10CF2", "name": "OLD HUNGARIAN SMALL LETTER US", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB2", "lowercase_mapping": "", "titlecase_mapping": "10CB2", "symbol": "\u0CF2" }, 71872: { "value": "118C0", "name": "WARANG CITI SMALL LETTER NGAA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A0", "lowercase_mapping": "", "titlecase_mapping": "118A0", "symbol": "\u18C0" }, 71873: { "value": "118C1", "name": "WARANG CITI SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A1", "lowercase_mapping": "", "titlecase_mapping": "118A1", "symbol": "\u18C1" }, 71874: { "value": "118C2", "name": "WARANG CITI SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A2", "lowercase_mapping": "", "titlecase_mapping": "118A2", "symbol": "\u18C2" }, 71875: { "value": "118C3", "name": "WARANG CITI SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A3", "lowercase_mapping": "", "titlecase_mapping": "118A3", "symbol": "\u18C3" }, 71876: { "value": "118C4", "name": "WARANG CITI SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A4", "lowercase_mapping": "", "titlecase_mapping": "118A4", "symbol": "\u18C4" }, 71877: { "value": "118C5", "name": "WARANG CITI SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A5", "lowercase_mapping": "", "titlecase_mapping": "118A5", "symbol": "\u18C5" }, 71878: { "value": "118C6", "name": "WARANG CITI SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A6", "lowercase_mapping": "", "titlecase_mapping": "118A6", "symbol": "\u18C6" }, 71879: { "value": "118C7", "name": "WARANG CITI SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A7", "lowercase_mapping": "", "titlecase_mapping": "118A7", "symbol": "\u18C7" }, 71880: { "value": "118C8", "name": "WARANG CITI SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A8", "lowercase_mapping": "", "titlecase_mapping": "118A8", "symbol": "\u18C8" }, 71881: { "value": "118C9", "name": "WARANG CITI SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A9", "lowercase_mapping": "", "titlecase_mapping": "118A9", "symbol": "\u18C9" }, 71882: { "value": "118CA", "name": "WARANG CITI SMALL LETTER ANG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AA", "lowercase_mapping": "", "titlecase_mapping": "118AA", "symbol": "\u18CA" }, 71883: { "value": "118CB", "name": "WARANG CITI SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AB", "lowercase_mapping": "", "titlecase_mapping": "118AB", "symbol": "\u18CB" }, 71884: { "value": "118CC", "name": "WARANG CITI SMALL LETTER KO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AC", "lowercase_mapping": "", "titlecase_mapping": "118AC", "symbol": "\u18CC" }, 71885: { "value": "118CD", "name": "WARANG CITI SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AD", "lowercase_mapping": "", "titlecase_mapping": "118AD", "symbol": "\u18CD" }, 71886: { "value": "118CE", "name": "WARANG CITI SMALL LETTER YUJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AE", "lowercase_mapping": "", "titlecase_mapping": "118AE", "symbol": "\u18CE" }, 71887: { "value": "118CF", "name": "WARANG CITI SMALL LETTER UC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AF", "lowercase_mapping": "", "titlecase_mapping": "118AF", "symbol": "\u18CF" }, 71888: { "value": "118D0", "name": "WARANG CITI SMALL LETTER ENN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B0", "lowercase_mapping": "", "titlecase_mapping": "118B0", "symbol": "\u18D0" }, 71889: { "value": "118D1", "name": "WARANG CITI SMALL LETTER ODD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B1", "lowercase_mapping": "", "titlecase_mapping": "118B1", "symbol": "\u18D1" }, 71890: { "value": "118D2", "name": "WARANG CITI SMALL LETTER TTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B2", "lowercase_mapping": "", "titlecase_mapping": "118B2", "symbol": "\u18D2" }, 71891: { "value": "118D3", "name": "WARANG CITI SMALL LETTER NUNG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B3", "lowercase_mapping": "", "titlecase_mapping": "118B3", "symbol": "\u18D3" }, 71892: { "value": "118D4", "name": "WARANG CITI SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B4", "lowercase_mapping": "", "titlecase_mapping": "118B4", "symbol": "\u18D4" }, 71893: { "value": "118D5", "name": "WARANG CITI SMALL LETTER AT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B5", "lowercase_mapping": "", "titlecase_mapping": "118B5", "symbol": "\u18D5" }, 71894: { "value": "118D6", "name": "WARANG CITI SMALL LETTER AM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B6", "lowercase_mapping": "", "titlecase_mapping": "118B6", "symbol": "\u18D6" }, 71895: { "value": "118D7", "name": "WARANG CITI SMALL LETTER BU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B7", "lowercase_mapping": "", "titlecase_mapping": "118B7", "symbol": "\u18D7" }, 71896: { "value": "118D8", "name": "WARANG CITI SMALL LETTER PU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B8", "lowercase_mapping": "", "titlecase_mapping": "118B8", "symbol": "\u18D8" }, 71897: { "value": "118D9", "name": "WARANG CITI SMALL LETTER HIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B9", "lowercase_mapping": "", "titlecase_mapping": "118B9", "symbol": "\u18D9" }, 71898: { "value": "118DA", "name": "WARANG CITI SMALL LETTER HOLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BA", "lowercase_mapping": "", "titlecase_mapping": "118BA", "symbol": "\u18DA" }, 71899: { "value": "118DB", "name": "WARANG CITI SMALL LETTER HORR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BB", "lowercase_mapping": "", "titlecase_mapping": "118BB", "symbol": "\u18DB" }, 71900: { "value": "118DC", "name": "WARANG CITI SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BC", "lowercase_mapping": "", "titlecase_mapping": "118BC", "symbol": "\u18DC" }, 71901: { "value": "118DD", "name": "WARANG CITI SMALL LETTER SSUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BD", "lowercase_mapping": "", "titlecase_mapping": "118BD", "symbol": "\u18DD" }, 71902: { "value": "118DE", "name": "WARANG CITI SMALL LETTER SII", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BE", "lowercase_mapping": "", "titlecase_mapping": "118BE", "symbol": "\u18DE" }, 71903: { "value": "118DF", "name": "WARANG CITI SMALL LETTER VIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BF", "lowercase_mapping": "", "titlecase_mapping": "118BF", "symbol": "\u18DF" }, 119834: { "value": "1D41A", "name": "MATHEMATICAL BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41A" }, 119835: { "value": "1D41B", "name": "MATHEMATICAL BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41B" }, 119836: { "value": "1D41C", "name": "MATHEMATICAL BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41C" }, 119837: { "value": "1D41D", "name": "MATHEMATICAL BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41D" }, 119838: { "value": "1D41E", "name": "MATHEMATICAL BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41E" }, 119839: { "value": "1D41F", "name": "MATHEMATICAL BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41F" }, 119840: { "value": "1D420", "name": "MATHEMATICAL BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD420" }, 119841: { "value": "1D421", "name": "MATHEMATICAL BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD421" }, 119842: { "value": "1D422", "name": "MATHEMATICAL BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD422" }, 119843: { "value": "1D423", "name": "MATHEMATICAL BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD423" }, 119844: { "value": "1D424", "name": "MATHEMATICAL BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD424" }, 119845: { "value": "1D425", "name": "MATHEMATICAL BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD425" }, 119846: { "value": "1D426", "name": "MATHEMATICAL BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD426" }, 119847: { "value": "1D427", "name": "MATHEMATICAL BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD427" }, 119848: { "value": "1D428", "name": "MATHEMATICAL BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD428" }, 119849: { "value": "1D429", "name": "MATHEMATICAL BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD429" }, 119850: { "value": "1D42A", "name": "MATHEMATICAL BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42A" }, 119851: { "value": "1D42B", "name": "MATHEMATICAL BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42B" }, 119852: { "value": "1D42C", "name": "MATHEMATICAL BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42C" }, 119853: { "value": "1D42D", "name": "MATHEMATICAL BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42D" }, 119854: { "value": "1D42E", "name": "MATHEMATICAL BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42E" }, 119855: { "value": "1D42F", "name": "MATHEMATICAL BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42F" }, 119856: { "value": "1D430", "name": "MATHEMATICAL BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD430" }, 119857: { "value": "1D431", "name": "MATHEMATICAL BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD431" }, 119858: { "value": "1D432", "name": "MATHEMATICAL BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD432" }, 119859: { "value": "1D433", "name": "MATHEMATICAL BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD433" }, 119886: { "value": "1D44E", "name": "MATHEMATICAL ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44E" }, 119887: { "value": "1D44F", "name": "MATHEMATICAL ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44F" }, 119888: { "value": "1D450", "name": "MATHEMATICAL ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD450" }, 119889: { "value": "1D451", "name": "MATHEMATICAL ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD451" }, 119890: { "value": "1D452", "name": "MATHEMATICAL ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD452" }, 119891: { "value": "1D453", "name": "MATHEMATICAL ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD453" }, 119892: { "value": "1D454", "name": "MATHEMATICAL ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD454" }, 119894: { "value": "1D456", "name": "MATHEMATICAL ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD456" }, 119895: { "value": "1D457", "name": "MATHEMATICAL ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD457" }, 119896: { "value": "1D458", "name": "MATHEMATICAL ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD458" }, 119897: { "value": "1D459", "name": "MATHEMATICAL ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD459" }, 119898: { "value": "1D45A", "name": "MATHEMATICAL ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45A" }, 119899: { "value": "1D45B", "name": "MATHEMATICAL ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45B" }, 119900: { "value": "1D45C", "name": "MATHEMATICAL ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45C" }, 119901: { "value": "1D45D", "name": "MATHEMATICAL ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45D" }, 119902: { "value": "1D45E", "name": "MATHEMATICAL ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45E" }, 119903: { "value": "1D45F", "name": "MATHEMATICAL ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45F" }, 119904: { "value": "1D460", "name": "MATHEMATICAL ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD460" }, 119905: { "value": "1D461", "name": "MATHEMATICAL ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD461" }, 119906: { "value": "1D462", "name": "MATHEMATICAL ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD462" }, 119907: { "value": "1D463", "name": "MATHEMATICAL ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD463" }, 119908: { "value": "1D464", "name": "MATHEMATICAL ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD464" }, 119909: { "value": "1D465", "name": "MATHEMATICAL ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD465" }, 119910: { "value": "1D466", "name": "MATHEMATICAL ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD466" }, 119911: { "value": "1D467", "name": "MATHEMATICAL ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD467" }, 119938: { "value": "1D482", "name": "MATHEMATICAL BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD482" }, 119939: { "value": "1D483", "name": "MATHEMATICAL BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD483" }, 119940: { "value": "1D484", "name": "MATHEMATICAL BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD484" }, 119941: { "value": "1D485", "name": "MATHEMATICAL BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD485" }, 119942: { "value": "1D486", "name": "MATHEMATICAL BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD486" }, 119943: { "value": "1D487", "name": "MATHEMATICAL BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD487" }, 119944: { "value": "1D488", "name": "MATHEMATICAL BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD488" }, 119945: { "value": "1D489", "name": "MATHEMATICAL BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD489" }, 119946: { "value": "1D48A", "name": "MATHEMATICAL BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48A" }, 119947: { "value": "1D48B", "name": "MATHEMATICAL BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48B" }, 119948: { "value": "1D48C", "name": "MATHEMATICAL BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48C" }, 119949: { "value": "1D48D", "name": "MATHEMATICAL BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48D" }, 119950: { "value": "1D48E", "name": "MATHEMATICAL BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48E" }, 119951: { "value": "1D48F", "name": "MATHEMATICAL BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48F" }, 119952: { "value": "1D490", "name": "MATHEMATICAL BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD490" }, 119953: { "value": "1D491", "name": "MATHEMATICAL BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD491" }, 119954: { "value": "1D492", "name": "MATHEMATICAL BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD492" }, 119955: { "value": "1D493", "name": "MATHEMATICAL BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD493" }, 119956: { "value": "1D494", "name": "MATHEMATICAL BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD494" }, 119957: { "value": "1D495", "name": "MATHEMATICAL BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD495" }, 119958: { "value": "1D496", "name": "MATHEMATICAL BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD496" }, 119959: { "value": "1D497", "name": "MATHEMATICAL BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD497" }, 119960: { "value": "1D498", "name": "MATHEMATICAL BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD498" }, 119961: { "value": "1D499", "name": "MATHEMATICAL BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD499" }, 119962: { "value": "1D49A", "name": "MATHEMATICAL BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49A" }, 119963: { "value": "1D49B", "name": "MATHEMATICAL BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49B" }, 119990: { "value": "1D4B6", "name": "MATHEMATICAL SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B6" }, 119991: { "value": "1D4B7", "name": "MATHEMATICAL SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B7" }, 119992: { "value": "1D4B8", "name": "MATHEMATICAL SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B8" }, 119993: { "value": "1D4B9", "name": "MATHEMATICAL SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B9" }, 119995: { "value": "1D4BB", "name": "MATHEMATICAL SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BB" }, 119997: { "value": "1D4BD", "name": "MATHEMATICAL SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BD" }, 119998: { "value": "1D4BE", "name": "MATHEMATICAL SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BE" }, 119999: { "value": "1D4BF", "name": "MATHEMATICAL SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BF" }, 120000: { "value": "1D4C0", "name": "MATHEMATICAL SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C0" }, 120001: { "value": "1D4C1", "name": "MATHEMATICAL SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C1" }, 120002: { "value": "1D4C2", "name": "MATHEMATICAL SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C2" }, 120003: { "value": "1D4C3", "name": "MATHEMATICAL SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C3" }, 120005: { "value": "1D4C5", "name": "MATHEMATICAL SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C5" }, 120006: { "value": "1D4C6", "name": "MATHEMATICAL SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C6" }, 120007: { "value": "1D4C7", "name": "MATHEMATICAL SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C7" }, 120008: { "value": "1D4C8", "name": "MATHEMATICAL SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C8" }, 120009: { "value": "1D4C9", "name": "MATHEMATICAL SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C9" }, 120010: { "value": "1D4CA", "name": "MATHEMATICAL SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CA" }, 120011: { "value": "1D4CB", "name": "MATHEMATICAL SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CB" }, 120012: { "value": "1D4CC", "name": "MATHEMATICAL SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CC" }, 120013: { "value": "1D4CD", "name": "MATHEMATICAL SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CD" }, 120014: { "value": "1D4CE", "name": "MATHEMATICAL SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CE" }, 120015: { "value": "1D4CF", "name": "MATHEMATICAL SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CF" }, 120042: { "value": "1D4EA", "name": "MATHEMATICAL BOLD SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EA" }, 120043: { "value": "1D4EB", "name": "MATHEMATICAL BOLD SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EB" }, 120044: { "value": "1D4EC", "name": "MATHEMATICAL BOLD SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EC" }, 120045: { "value": "1D4ED", "name": "MATHEMATICAL BOLD SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4ED" }, 120046: { "value": "1D4EE", "name": "MATHEMATICAL BOLD SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EE" }, 120047: { "value": "1D4EF", "name": "MATHEMATICAL BOLD SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EF" }, 120048: { "value": "1D4F0", "name": "MATHEMATICAL BOLD SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F0" }, 120049: { "value": "1D4F1", "name": "MATHEMATICAL BOLD SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F1" }, 120050: { "value": "1D4F2", "name": "MATHEMATICAL BOLD SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F2" }, 120051: { "value": "1D4F3", "name": "MATHEMATICAL BOLD SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F3" }, 120052: { "value": "1D4F4", "name": "MATHEMATICAL BOLD SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F4" }, 120053: { "value": "1D4F5", "name": "MATHEMATICAL BOLD SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F5" }, 120054: { "value": "1D4F6", "name": "MATHEMATICAL BOLD SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F6" }, 120055: { "value": "1D4F7", "name": "MATHEMATICAL BOLD SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F7" }, 120056: { "value": "1D4F8", "name": "MATHEMATICAL BOLD SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F8" }, 120057: { "value": "1D4F9", "name": "MATHEMATICAL BOLD SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F9" }, 120058: { "value": "1D4FA", "name": "MATHEMATICAL BOLD SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FA" }, 120059: { "value": "1D4FB", "name": "MATHEMATICAL BOLD SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FB" }, 120060: { "value": "1D4FC", "name": "MATHEMATICAL BOLD SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FC" }, 120061: { "value": "1D4FD", "name": "MATHEMATICAL BOLD SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FD" }, 120062: { "value": "1D4FE", "name": "MATHEMATICAL BOLD SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FE" }, 120063: { "value": "1D4FF", "name": "MATHEMATICAL BOLD SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FF" }, 120064: { "value": "1D500", "name": "MATHEMATICAL BOLD SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD500" }, 120065: { "value": "1D501", "name": "MATHEMATICAL BOLD SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD501" }, 120066: { "value": "1D502", "name": "MATHEMATICAL BOLD SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD502" }, 120067: { "value": "1D503", "name": "MATHEMATICAL BOLD SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD503" }, 120094: { "value": "1D51E", "name": "MATHEMATICAL FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51E" }, 120095: { "value": "1D51F", "name": "MATHEMATICAL FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51F" }, 120096: { "value": "1D520", "name": "MATHEMATICAL FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD520" }, 120097: { "value": "1D521", "name": "MATHEMATICAL FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD521" }, 120098: { "value": "1D522", "name": "MATHEMATICAL FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD522" }, 120099: { "value": "1D523", "name": "MATHEMATICAL FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD523" }, 120100: { "value": "1D524", "name": "MATHEMATICAL FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD524" }, 120101: { "value": "1D525", "name": "MATHEMATICAL FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD525" }, 120102: { "value": "1D526", "name": "MATHEMATICAL FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD526" }, 120103: { "value": "1D527", "name": "MATHEMATICAL FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD527" }, 120104: { "value": "1D528", "name": "MATHEMATICAL FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD528" }, 120105: { "value": "1D529", "name": "MATHEMATICAL FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD529" }, 120106: { "value": "1D52A", "name": "MATHEMATICAL FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52A" }, 120107: { "value": "1D52B", "name": "MATHEMATICAL FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52B" }, 120108: { "value": "1D52C", "name": "MATHEMATICAL FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52C" }, 120109: { "value": "1D52D", "name": "MATHEMATICAL FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52D" }, 120110: { "value": "1D52E", "name": "MATHEMATICAL FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52E" }, 120111: { "value": "1D52F", "name": "MATHEMATICAL FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52F" }, 120112: { "value": "1D530", "name": "MATHEMATICAL FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD530" }, 120113: { "value": "1D531", "name": "MATHEMATICAL FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD531" }, 120114: { "value": "1D532", "name": "MATHEMATICAL FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD532" }, 120115: { "value": "1D533", "name": "MATHEMATICAL FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD533" }, 120116: { "value": "1D534", "name": "MATHEMATICAL FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD534" }, 120117: { "value": "1D535", "name": "MATHEMATICAL FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD535" }, 120118: { "value": "1D536", "name": "MATHEMATICAL FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD536" }, 120119: { "value": "1D537", "name": "MATHEMATICAL FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD537" }, 120146: { "value": "1D552", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD552" }, 120147: { "value": "1D553", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD553" }, 120148: { "value": "1D554", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD554" }, 120149: { "value": "1D555", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD555" }, 120150: { "value": "1D556", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD556" }, 120151: { "value": "1D557", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD557" }, 120152: { "value": "1D558", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD558" }, 120153: { "value": "1D559", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD559" }, 120154: { "value": "1D55A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55A" }, 120155: { "value": "1D55B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55B" }, 120156: { "value": "1D55C", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55C" }, 120157: { "value": "1D55D", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55D" }, 120158: { "value": "1D55E", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55E" }, 120159: { "value": "1D55F", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55F" }, 120160: { "value": "1D560", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD560" }, 120161: { "value": "1D561", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD561" }, 120162: { "value": "1D562", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD562" }, 120163: { "value": "1D563", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD563" }, 120164: { "value": "1D564", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD564" }, 120165: { "value": "1D565", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD565" }, 120166: { "value": "1D566", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD566" }, 120167: { "value": "1D567", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD567" }, 120168: { "value": "1D568", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD568" }, 120169: { "value": "1D569", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD569" }, 120170: { "value": "1D56A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56A" }, 120171: { "value": "1D56B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56B" }, 120198: { "value": "1D586", "name": "MATHEMATICAL BOLD FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD586" }, 120199: { "value": "1D587", "name": "MATHEMATICAL BOLD FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD587" }, 120200: { "value": "1D588", "name": "MATHEMATICAL BOLD FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD588" }, 120201: { "value": "1D589", "name": "MATHEMATICAL BOLD FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD589" }, 120202: { "value": "1D58A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58A" }, 120203: { "value": "1D58B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58B" }, 120204: { "value": "1D58C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58C" }, 120205: { "value": "1D58D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58D" }, 120206: { "value": "1D58E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58E" }, 120207: { "value": "1D58F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58F" }, 120208: { "value": "1D590", "name": "MATHEMATICAL BOLD FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD590" }, 120209: { "value": "1D591", "name": "MATHEMATICAL BOLD FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD591" }, 120210: { "value": "1D592", "name": "MATHEMATICAL BOLD FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD592" }, 120211: { "value": "1D593", "name": "MATHEMATICAL BOLD FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD593" }, 120212: { "value": "1D594", "name": "MATHEMATICAL BOLD FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD594" }, 120213: { "value": "1D595", "name": "MATHEMATICAL BOLD FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD595" }, 120214: { "value": "1D596", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD596" }, 120215: { "value": "1D597", "name": "MATHEMATICAL BOLD FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD597" }, 120216: { "value": "1D598", "name": "MATHEMATICAL BOLD FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD598" }, 120217: { "value": "1D599", "name": "MATHEMATICAL BOLD FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD599" }, 120218: { "value": "1D59A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59A" }, 120219: { "value": "1D59B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59B" }, 120220: { "value": "1D59C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59C" }, 120221: { "value": "1D59D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59D" }, 120222: { "value": "1D59E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59E" }, 120223: { "value": "1D59F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59F" }, 120250: { "value": "1D5BA", "name": "MATHEMATICAL SANS-SERIF SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BA" }, 120251: { "value": "1D5BB", "name": "MATHEMATICAL SANS-SERIF SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BB" }, 120252: { "value": "1D5BC", "name": "MATHEMATICAL SANS-SERIF SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BC" }, 120253: { "value": "1D5BD", "name": "MATHEMATICAL SANS-SERIF SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BD" }, 120254: { "value": "1D5BE", "name": "MATHEMATICAL SANS-SERIF SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BE" }, 120255: { "value": "1D5BF", "name": "MATHEMATICAL SANS-SERIF SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BF" }, 120256: { "value": "1D5C0", "name": "MATHEMATICAL SANS-SERIF SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C0" }, 120257: { "value": "1D5C1", "name": "MATHEMATICAL SANS-SERIF SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C1" }, 120258: { "value": "1D5C2", "name": "MATHEMATICAL SANS-SERIF SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C2" }, 120259: { "value": "1D5C3", "name": "MATHEMATICAL SANS-SERIF SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C3" }, 120260: { "value": "1D5C4", "name": "MATHEMATICAL SANS-SERIF SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C4" }, 120261: { "value": "1D5C5", "name": "MATHEMATICAL SANS-SERIF SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C5" }, 120262: { "value": "1D5C6", "name": "MATHEMATICAL SANS-SERIF SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C6" }, 120263: { "value": "1D5C7", "name": "MATHEMATICAL SANS-SERIF SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C7" }, 120264: { "value": "1D5C8", "name": "MATHEMATICAL SANS-SERIF SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C8" }, 120265: { "value": "1D5C9", "name": "MATHEMATICAL SANS-SERIF SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C9" }, 120266: { "value": "1D5CA", "name": "MATHEMATICAL SANS-SERIF SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CA" }, 120267: { "value": "1D5CB", "name": "MATHEMATICAL SANS-SERIF SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CB" }, 120268: { "value": "1D5CC", "name": "MATHEMATICAL SANS-SERIF SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CC" }, 120269: { "value": "1D5CD", "name": "MATHEMATICAL SANS-SERIF SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CD" }, 120270: { "value": "1D5CE", "name": "MATHEMATICAL SANS-SERIF SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CE" }, 120271: { "value": "1D5CF", "name": "MATHEMATICAL SANS-SERIF SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CF" }, 120272: { "value": "1D5D0", "name": "MATHEMATICAL SANS-SERIF SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D0" }, 120273: { "value": "1D5D1", "name": "MATHEMATICAL SANS-SERIF SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D1" }, 120274: { "value": "1D5D2", "name": "MATHEMATICAL SANS-SERIF SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D2" }, 120275: { "value": "1D5D3", "name": "MATHEMATICAL SANS-SERIF SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D3" }, 120302: { "value": "1D5EE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EE" }, 120303: { "value": "1D5EF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EF" }, 120304: { "value": "1D5F0", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F0" }, 120305: { "value": "1D5F1", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F1" }, 120306: { "value": "1D5F2", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F2" }, 120307: { "value": "1D5F3", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F3" }, 120308: { "value": "1D5F4", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F4" }, 120309: { "value": "1D5F5", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F5" }, 120310: { "value": "1D5F6", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F6" }, 120311: { "value": "1D5F7", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F7" }, 120312: { "value": "1D5F8", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F8" }, 120313: { "value": "1D5F9", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F9" }, 120314: { "value": "1D5FA", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FA" }, 120315: { "value": "1D5FB", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FB" }, 120316: { "value": "1D5FC", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FC" }, 120317: { "value": "1D5FD", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FD" }, 120318: { "value": "1D5FE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FE" }, 120319: { "value": "1D5FF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FF" }, 120320: { "value": "1D600", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD600" }, 120321: { "value": "1D601", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD601" }, 120322: { "value": "1D602", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD602" }, 120323: { "value": "1D603", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD603" }, 120324: { "value": "1D604", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD604" }, 120325: { "value": "1D605", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD605" }, 120326: { "value": "1D606", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD606" }, 120327: { "value": "1D607", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD607" }, 120354: { "value": "1D622", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD622" }, 120355: { "value": "1D623", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD623" }, 120356: { "value": "1D624", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD624" }, 120357: { "value": "1D625", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD625" }, 120358: { "value": "1D626", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD626" }, 120359: { "value": "1D627", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD627" }, 120360: { "value": "1D628", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD628" }, 120361: { "value": "1D629", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD629" }, 120362: { "value": "1D62A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62A" }, 120363: { "value": "1D62B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62B" }, 120364: { "value": "1D62C", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62C" }, 120365: { "value": "1D62D", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62D" }, 120366: { "value": "1D62E", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62E" }, 120367: { "value": "1D62F", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62F" }, 120368: { "value": "1D630", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD630" }, 120369: { "value": "1D631", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD631" }, 120370: { "value": "1D632", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD632" }, 120371: { "value": "1D633", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD633" }, 120372: { "value": "1D634", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD634" }, 120373: { "value": "1D635", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD635" }, 120374: { "value": "1D636", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD636" }, 120375: { "value": "1D637", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD637" }, 120376: { "value": "1D638", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD638" }, 120377: { "value": "1D639", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD639" }, 120378: { "value": "1D63A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63A" }, 120379: { "value": "1D63B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63B" }, 120406: { "value": "1D656", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD656" }, 120407: { "value": "1D657", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD657" }, 120408: { "value": "1D658", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD658" }, 120409: { "value": "1D659", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD659" }, 120410: { "value": "1D65A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65A" }, 120411: { "value": "1D65B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65B" }, 120412: { "value": "1D65C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65C" }, 120413: { "value": "1D65D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65D" }, 120414: { "value": "1D65E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65E" }, 120415: { "value": "1D65F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65F" }, 120416: { "value": "1D660", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD660" }, 120417: { "value": "1D661", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD661" }, 120418: { "value": "1D662", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD662" }, 120419: { "value": "1D663", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD663" }, 120420: { "value": "1D664", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD664" }, 120421: { "value": "1D665", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD665" }, 120422: { "value": "1D666", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD666" }, 120423: { "value": "1D667", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD667" }, 120424: { "value": "1D668", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD668" }, 120425: { "value": "1D669", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD669" }, 120426: { "value": "1D66A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66A" }, 120427: { "value": "1D66B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66B" }, 120428: { "value": "1D66C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66C" }, 120429: { "value": "1D66D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66D" }, 120430: { "value": "1D66E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66E" }, 120431: { "value": "1D66F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66F" }, 120458: { "value": "1D68A", "name": "MATHEMATICAL MONOSPACE SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68A" }, 120459: { "value": "1D68B", "name": "MATHEMATICAL MONOSPACE SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68B" }, 120460: { "value": "1D68C", "name": "MATHEMATICAL MONOSPACE SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68C" }, 120461: { "value": "1D68D", "name": "MATHEMATICAL MONOSPACE SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68D" }, 120462: { "value": "1D68E", "name": "MATHEMATICAL MONOSPACE SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68E" }, 120463: { "value": "1D68F", "name": "MATHEMATICAL MONOSPACE SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68F" }, 120464: { "value": "1D690", "name": "MATHEMATICAL MONOSPACE SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD690" }, 120465: { "value": "1D691", "name": "MATHEMATICAL MONOSPACE SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD691" }, 120466: { "value": "1D692", "name": "MATHEMATICAL MONOSPACE SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD692" }, 120467: { "value": "1D693", "name": "MATHEMATICAL MONOSPACE SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD693" }, 120468: { "value": "1D694", "name": "MATHEMATICAL MONOSPACE SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD694" }, 120469: { "value": "1D695", "name": "MATHEMATICAL MONOSPACE SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD695" }, 120470: { "value": "1D696", "name": "MATHEMATICAL MONOSPACE SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD696" }, 120471: { "value": "1D697", "name": "MATHEMATICAL MONOSPACE SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD697" }, 120472: { "value": "1D698", "name": "MATHEMATICAL MONOSPACE SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD698" }, 120473: { "value": "1D699", "name": "MATHEMATICAL MONOSPACE SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD699" }, 120474: { "value": "1D69A", "name": "MATHEMATICAL MONOSPACE SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69A" }, 120475: { "value": "1D69B", "name": "MATHEMATICAL MONOSPACE SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69B" }, 120476: { "value": "1D69C", "name": "MATHEMATICAL MONOSPACE SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69C" }, 120477: { "value": "1D69D", "name": "MATHEMATICAL MONOSPACE SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69D" }, 120478: { "value": "1D69E", "name": "MATHEMATICAL MONOSPACE SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69E" }, 120479: { "value": "1D69F", "name": "MATHEMATICAL MONOSPACE SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69F" }, 120480: { "value": "1D6A0", "name": "MATHEMATICAL MONOSPACE SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A0" }, 120481: { "value": "1D6A1", "name": "MATHEMATICAL MONOSPACE SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A1" }, 120482: { "value": "1D6A2", "name": "MATHEMATICAL MONOSPACE SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A2" }, 120483: { "value": "1D6A3", "name": "MATHEMATICAL MONOSPACE SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A3" }, 120484: { "value": "1D6A4", "name": "MATHEMATICAL ITALIC SMALL DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0131", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A4" }, 120485: { "value": "1D6A5", "name": "MATHEMATICAL ITALIC SMALL DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0237", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A5" }, 120514: { "value": "1D6C2", "name": "MATHEMATICAL BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C2" }, 120515: { "value": "1D6C3", "name": "MATHEMATICAL BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C3" }, 120516: { "value": "1D6C4", "name": "MATHEMATICAL BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C4" }, 120517: { "value": "1D6C5", "name": "MATHEMATICAL BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C5" }, 120518: { "value": "1D6C6", "name": "MATHEMATICAL BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C6" }, 120519: { "value": "1D6C7", "name": "MATHEMATICAL BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C7" }, 120520: { "value": "1D6C8", "name": "MATHEMATICAL BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C8" }, 120521: { "value": "1D6C9", "name": "MATHEMATICAL BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C9" }, 120522: { "value": "1D6CA", "name": "MATHEMATICAL BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CA" }, 120523: { "value": "1D6CB", "name": "MATHEMATICAL BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CB" }, 120524: { "value": "1D6CC", "name": "MATHEMATICAL BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CC" }, 120525: { "value": "1D6CD", "name": "MATHEMATICAL BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CD" }, 120526: { "value": "1D6CE", "name": "MATHEMATICAL BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CE" }, 120527: { "value": "1D6CF", "name": "MATHEMATICAL BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CF" }, 120528: { "value": "1D6D0", "name": "MATHEMATICAL BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D0" }, 120529: { "value": "1D6D1", "name": "MATHEMATICAL BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D1" }, 120530: { "value": "1D6D2", "name": "MATHEMATICAL BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D2" }, 120531: { "value": "1D6D3", "name": "MATHEMATICAL BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D3" }, 120532: { "value": "1D6D4", "name": "MATHEMATICAL BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D4" }, 120533: { "value": "1D6D5", "name": "MATHEMATICAL BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D5" }, 120534: { "value": "1D6D6", "name": "MATHEMATICAL BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D6" }, 120535: { "value": "1D6D7", "name": "MATHEMATICAL BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D7" }, 120536: { "value": "1D6D8", "name": "MATHEMATICAL BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D8" }, 120537: { "value": "1D6D9", "name": "MATHEMATICAL BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D9" }, 120538: { "value": "1D6DA", "name": "MATHEMATICAL BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DA" }, 120540: { "value": "1D6DC", "name": "MATHEMATICAL BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DC" }, 120541: { "value": "1D6DD", "name": "MATHEMATICAL BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DD" }, 120542: { "value": "1D6DE", "name": "MATHEMATICAL BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DE" }, 120543: { "value": "1D6DF", "name": "MATHEMATICAL BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DF" }, 120544: { "value": "1D6E0", "name": "MATHEMATICAL BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E0" }, 120545: { "value": "1D6E1", "name": "MATHEMATICAL BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E1" }, 120572: { "value": "1D6FC", "name": "MATHEMATICAL ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FC" }, 120573: { "value": "1D6FD", "name": "MATHEMATICAL ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FD" }, 120574: { "value": "1D6FE", "name": "MATHEMATICAL ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FE" }, 120575: { "value": "1D6FF", "name": "MATHEMATICAL ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FF" }, 120576: { "value": "1D700", "name": "MATHEMATICAL ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD700" }, 120577: { "value": "1D701", "name": "MATHEMATICAL ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD701" }, 120578: { "value": "1D702", "name": "MATHEMATICAL ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD702" }, 120579: { "value": "1D703", "name": "MATHEMATICAL ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD703" }, 120580: { "value": "1D704", "name": "MATHEMATICAL ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD704" }, 120581: { "value": "1D705", "name": "MATHEMATICAL ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD705" }, 120582: { "value": "1D706", "name": "MATHEMATICAL ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD706" }, 120583: { "value": "1D707", "name": "MATHEMATICAL ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD707" }, 120584: { "value": "1D708", "name": "MATHEMATICAL ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD708" }, 120585: { "value": "1D709", "name": "MATHEMATICAL ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD709" }, 120586: { "value": "1D70A", "name": "MATHEMATICAL ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70A" }, 120587: { "value": "1D70B", "name": "MATHEMATICAL ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70B" }, 120588: { "value": "1D70C", "name": "MATHEMATICAL ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70C" }, 120589: { "value": "1D70D", "name": "MATHEMATICAL ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70D" }, 120590: { "value": "1D70E", "name": "MATHEMATICAL ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70E" }, 120591: { "value": "1D70F", "name": "MATHEMATICAL ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70F" }, 120592: { "value": "1D710", "name": "MATHEMATICAL ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD710" }, 120593: { "value": "1D711", "name": "MATHEMATICAL ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD711" }, 120594: { "value": "1D712", "name": "MATHEMATICAL ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD712" }, 120595: { "value": "1D713", "name": "MATHEMATICAL ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD713" }, 120596: { "value": "1D714", "name": "MATHEMATICAL ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD714" }, 120598: { "value": "1D716", "name": "MATHEMATICAL ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD716" }, 120599: { "value": "1D717", "name": "MATHEMATICAL ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD717" }, 120600: { "value": "1D718", "name": "MATHEMATICAL ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD718" }, 120601: { "value": "1D719", "name": "MATHEMATICAL ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD719" }, 120602: { "value": "1D71A", "name": "MATHEMATICAL ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71A" }, 120603: { "value": "1D71B", "name": "MATHEMATICAL ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71B" }, 120630: { "value": "1D736", "name": "MATHEMATICAL BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD736" }, 120631: { "value": "1D737", "name": "MATHEMATICAL BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD737" }, 120632: { "value": "1D738", "name": "MATHEMATICAL BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD738" }, 120633: { "value": "1D739", "name": "MATHEMATICAL BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD739" }, 120634: { "value": "1D73A", "name": "MATHEMATICAL BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73A" }, 120635: { "value": "1D73B", "name": "MATHEMATICAL BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73B" }, 120636: { "value": "1D73C", "name": "MATHEMATICAL BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73C" }, 120637: { "value": "1D73D", "name": "MATHEMATICAL BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73D" }, 120638: { "value": "1D73E", "name": "MATHEMATICAL BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73E" }, 120639: { "value": "1D73F", "name": "MATHEMATICAL BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73F" }, 120640: { "value": "1D740", "name": "MATHEMATICAL BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD740" }, 120641: { "value": "1D741", "name": "MATHEMATICAL BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD741" }, 120642: { "value": "1D742", "name": "MATHEMATICAL BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD742" }, 120643: { "value": "1D743", "name": "MATHEMATICAL BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD743" }, 120644: { "value": "1D744", "name": "MATHEMATICAL BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD744" }, 120645: { "value": "1D745", "name": "MATHEMATICAL BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD745" }, 120646: { "value": "1D746", "name": "MATHEMATICAL BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD746" }, 120647: { "value": "1D747", "name": "MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD747" }, 120648: { "value": "1D748", "name": "MATHEMATICAL BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD748" }, 120649: { "value": "1D749", "name": "MATHEMATICAL BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD749" }, 120650: { "value": "1D74A", "name": "MATHEMATICAL BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74A" }, 120651: { "value": "1D74B", "name": "MATHEMATICAL BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74B" }, 120652: { "value": "1D74C", "name": "MATHEMATICAL BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74C" }, 120653: { "value": "1D74D", "name": "MATHEMATICAL BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74D" }, 120654: { "value": "1D74E", "name": "MATHEMATICAL BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74E" }, 120656: { "value": "1D750", "name": "MATHEMATICAL BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD750" }, 120657: { "value": "1D751", "name": "MATHEMATICAL BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD751" }, 120658: { "value": "1D752", "name": "MATHEMATICAL BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD752" }, 120659: { "value": "1D753", "name": "MATHEMATICAL BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD753" }, 120660: { "value": "1D754", "name": "MATHEMATICAL BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD754" }, 120661: { "value": "1D755", "name": "MATHEMATICAL BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD755" }, 120688: { "value": "1D770", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD770" }, 120689: { "value": "1D771", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD771" }, 120690: { "value": "1D772", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD772" }, 120691: { "value": "1D773", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD773" }, 120692: { "value": "1D774", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD774" }, 120693: { "value": "1D775", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD775" }, 120694: { "value": "1D776", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD776" }, 120695: { "value": "1D777", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD777" }, 120696: { "value": "1D778", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD778" }, 120697: { "value": "1D779", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD779" }, 120698: { "value": "1D77A", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77A" }, 120699: { "value": "1D77B", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77B" }, 120700: { "value": "1D77C", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77C" }, 120701: { "value": "1D77D", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77D" }, 120702: { "value": "1D77E", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77E" }, 120703: { "value": "1D77F", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77F" }, 120704: { "value": "1D780", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD780" }, 120705: { "value": "1D781", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD781" }, 120706: { "value": "1D782", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD782" }, 120707: { "value": "1D783", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD783" }, 120708: { "value": "1D784", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD784" }, 120709: { "value": "1D785", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD785" }, 120710: { "value": "1D786", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD786" }, 120711: { "value": "1D787", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD787" }, 120712: { "value": "1D788", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD788" }, 120714: { "value": "1D78A", "name": "MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78A" }, 120715: { "value": "1D78B", "name": "MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78B" }, 120716: { "value": "1D78C", "name": "MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78C" }, 120717: { "value": "1D78D", "name": "MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78D" }, 120718: { "value": "1D78E", "name": "MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78E" }, 120719: { "value": "1D78F", "name": "MATHEMATICAL SANS-SERIF BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78F" }, 120746: { "value": "1D7AA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AA" }, 120747: { "value": "1D7AB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AB" }, 120748: { "value": "1D7AC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AC" }, 120749: { "value": "1D7AD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AD" }, 120750: { "value": "1D7AE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AE" }, 120751: { "value": "1D7AF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AF" }, 120752: { "value": "1D7B0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B0" }, 120753: { "value": "1D7B1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B1" }, 120754: { "value": "1D7B2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B2" }, 120755: { "value": "1D7B3", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B3" }, 120756: { "value": "1D7B4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B4" }, 120757: { "value": "1D7B5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B5" }, 120758: { "value": "1D7B6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B6" }, 120759: { "value": "1D7B7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B7" }, 120760: { "value": "1D7B8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B8" }, 120761: { "value": "1D7B9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B9" }, 120762: { "value": "1D7BA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BA" }, 120763: { "value": "1D7BB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BB" }, 120764: { "value": "1D7BC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BC" }, 120765: { "value": "1D7BD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BD" }, 120766: { "value": "1D7BE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BE" }, 120767: { "value": "1D7BF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BF" }, 120768: { "value": "1D7C0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C0" }, 120769: { "value": "1D7C1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C1" }, 120770: { "value": "1D7C2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C2" }, 120772: { "value": "1D7C4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C4" }, 120773: { "value": "1D7C5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C5" }, 120774: { "value": "1D7C6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C6" }, 120775: { "value": "1D7C7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C7" }, 120776: { "value": "1D7C8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C8" }, 120777: { "value": "1D7C9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C9" }, 120779: { "value": "1D7CB", "name": "MATHEMATICAL BOLD SMALL DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03DD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7CB" }, 125218: { "value": "1E922", "name": "ADLAM SMALL LETTER ALIF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E900", "lowercase_mapping": "", "titlecase_mapping": "1E900", "symbol": "\uE922" }, 125219: { "value": "1E923", "name": "ADLAM SMALL LETTER DAALI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E901", "lowercase_mapping": "", "titlecase_mapping": "1E901", "symbol": "\uE923" }, 125220: { "value": "1E924", "name": "ADLAM SMALL LETTER LAAM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E902", "lowercase_mapping": "", "titlecase_mapping": "1E902", "symbol": "\uE924" }, 125221: { "value": "1E925", "name": "ADLAM SMALL LETTER MIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E903", "lowercase_mapping": "", "titlecase_mapping": "1E903", "symbol": "\uE925" }, 125222: { "value": "1E926", "name": "ADLAM SMALL LETTER BA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E904", "lowercase_mapping": "", "titlecase_mapping": "1E904", "symbol": "\uE926" }, 125223: { "value": "1E927", "name": "ADLAM SMALL LETTER SINNYIIYHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E905", "lowercase_mapping": "", "titlecase_mapping": "1E905", "symbol": "\uE927" }, 125224: { "value": "1E928", "name": "ADLAM SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E906", "lowercase_mapping": "", "titlecase_mapping": "1E906", "symbol": "\uE928" }, 125225: { "value": "1E929", "name": "ADLAM SMALL LETTER BHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E907", "lowercase_mapping": "", "titlecase_mapping": "1E907", "symbol": "\uE929" }, 125226: { "value": "1E92A", "name": "ADLAM SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E908", "lowercase_mapping": "", "titlecase_mapping": "1E908", "symbol": "\uE92A" }, 125227: { "value": "1E92B", "name": "ADLAM SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E909", "lowercase_mapping": "", "titlecase_mapping": "1E909", "symbol": "\uE92B" }, 125228: { "value": "1E92C", "name": "ADLAM SMALL LETTER FA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90A", "lowercase_mapping": "", "titlecase_mapping": "1E90A", "symbol": "\uE92C" }, 125229: { "value": "1E92D", "name": "ADLAM SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90B", "lowercase_mapping": "", "titlecase_mapping": "1E90B", "symbol": "\uE92D" }, 125230: { "value": "1E92E", "name": "ADLAM SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90C", "lowercase_mapping": "", "titlecase_mapping": "1E90C", "symbol": "\uE92E" }, 125231: { "value": "1E92F", "name": "ADLAM SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90D", "lowercase_mapping": "", "titlecase_mapping": "1E90D", "symbol": "\uE92F" }, 125232: { "value": "1E930", "name": "ADLAM SMALL LETTER YHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90E", "lowercase_mapping": "", "titlecase_mapping": "1E90E", "symbol": "\uE930" }, 125233: { "value": "1E931", "name": "ADLAM SMALL LETTER WAW", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90F", "lowercase_mapping": "", "titlecase_mapping": "1E90F", "symbol": "\uE931" }, 125234: { "value": "1E932", "name": "ADLAM SMALL LETTER NUN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E910", "lowercase_mapping": "", "titlecase_mapping": "1E910", "symbol": "\uE932" }, 125235: { "value": "1E933", "name": "ADLAM SMALL LETTER KAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E911", "lowercase_mapping": "", "titlecase_mapping": "1E911", "symbol": "\uE933" }, 125236: { "value": "1E934", "name": "ADLAM SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E912", "lowercase_mapping": "", "titlecase_mapping": "1E912", "symbol": "\uE934" }, 125237: { "value": "1E935", "name": "ADLAM SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E913", "lowercase_mapping": "", "titlecase_mapping": "1E913", "symbol": "\uE935" }, 125238: { "value": "1E936", "name": "ADLAM SMALL LETTER JIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E914", "lowercase_mapping": "", "titlecase_mapping": "1E914", "symbol": "\uE936" }, 125239: { "value": "1E937", "name": "ADLAM SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E915", "lowercase_mapping": "", "titlecase_mapping": "1E915", "symbol": "\uE937" }, 125240: { "value": "1E938", "name": "ADLAM SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E916", "lowercase_mapping": "", "titlecase_mapping": "1E916", "symbol": "\uE938" }, 125241: { "value": "1E939", "name": "ADLAM SMALL LETTER QAAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E917", "lowercase_mapping": "", "titlecase_mapping": "1E917", "symbol": "\uE939" }, 125242: { "value": "1E93A", "name": "ADLAM SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E918", "lowercase_mapping": "", "titlecase_mapping": "1E918", "symbol": "\uE93A" }, 125243: { "value": "1E93B", "name": "ADLAM SMALL LETTER NYA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E919", "lowercase_mapping": "", "titlecase_mapping": "1E919", "symbol": "\uE93B" }, 125244: { "value": "1E93C", "name": "ADLAM SMALL LETTER TU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91A", "lowercase_mapping": "", "titlecase_mapping": "1E91A", "symbol": "\uE93C" }, 125245: { "value": "1E93D", "name": "ADLAM SMALL LETTER NHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91B", "lowercase_mapping": "", "titlecase_mapping": "1E91B", "symbol": "\uE93D" }, 125246: { "value": "1E93E", "name": "ADLAM SMALL LETTER VA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91C", "lowercase_mapping": "", "titlecase_mapping": "1E91C", "symbol": "\uE93E" }, 125247: { "value": "1E93F", "name": "ADLAM SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91D", "lowercase_mapping": "", "titlecase_mapping": "1E91D", "symbol": "\uE93F" }, 125248: { "value": "1E940", "name": "ADLAM SMALL LETTER GBE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91E", "lowercase_mapping": "", "titlecase_mapping": "1E91E", "symbol": "\uE940" }, 125249: { "value": "1E941", "name": "ADLAM SMALL LETTER ZAL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91F", "lowercase_mapping": "", "titlecase_mapping": "1E91F", "symbol": "\uE941" }, 125250: { "value": "1E942", "name": "ADLAM SMALL LETTER KPO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E920", "lowercase_mapping": "", "titlecase_mapping": "1E920", "symbol": "\uE942" }, 125251: { "value": "1E943", "name": "ADLAM SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E921", "lowercase_mapping": "", "titlecase_mapping": "1E921", "symbol": "\uE943" } }; - // async filereader - var fileReader = new FileReader(); - fileReader.onload = function () { - // this.result == arraybuffer - if (containingObject) { - containingObject[curKey] = this.result; - } else { - bloblessData = this.result; - } +},{}],768:[function(require,module,exports){ +"use strict"; - // if nothing pending its callback time - if (! --pendingBlobs) { - callback(bloblessData); - } - }; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer - } else if (isArray(obj)) { - // handle array - for (var i = 0; i < obj.length; i++) { - _removeBlobs(obj[i], i, obj); - } - } else if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && !isBuf(obj)) { - // and object - for (var key in obj) { - _removeBlobs(obj[key], key, obj); - } - } - } +(function (root) { + "use strict"; - var pendingBlobs = 0; - var bloblessData = data; - _removeBlobs(bloblessData); - if (!pendingBlobs) { - callback(bloblessData); - } -}; + /***** unorm.js *****/ -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./is-buffer":760,"isarray":763}],759:[function(require,module,exports){ -'use strict'; + /* + * UnicodeNormalizer 1.0.0 + * Copyright (c) 2008 Matsuza + * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. + * $Date: 2008-06-05 16:44:17 +0200 (Thu, 05 Jun 2008) $ + * $Rev: 13309 $ + */ -/** - * Module dependencies. - */ + var DEFAULT_FEATURE = [null, 0, {}]; + var CACHE_THRESHOLD = 10; + var SBase = 0xAC00, + LBase = 0x1100, + VBase = 0x1161, + TBase = 0x11A7, + LCount = 19, + VCount = 21, + TCount = 28; + var NCount = VCount * TCount; // 588 + var SCount = LCount * NCount; // 11172 -var debug = require('debug')('socket.io-parser'); -var Emitter = require('component-emitter'); -var binary = require('./binary'); -var isArray = require('isarray'); -var isBuf = require('./is-buffer'); + var UChar = function UChar(cp, feature) { + this.codepoint = cp; + this.feature = feature; + }; -/** - * Protocol version. - * - * @api public - */ + // Strategies + var cache = {}; + var cacheCounter = []; + for (var i = 0; i <= 0xFF; ++i) { + cacheCounter[i] = 0; + } -exports.protocol = 4; + function fromCache(next, cp, needFeature) { + var ret = cache[cp]; + if (!ret) { + ret = next(cp, needFeature); + if (!!ret.feature && ++cacheCounter[cp >> 8 & 0xFF] > CACHE_THRESHOLD) { + cache[cp] = ret; + } + } + return ret; + } -/** - * Packet types. - * - * @api public - */ + function fromData(next, cp, needFeature) { + var hash = cp & 0xFF00; + var dunit = UChar.udata[hash] || {}; + var f = dunit[cp]; + return f ? new UChar(cp, f) : new UChar(cp, DEFAULT_FEATURE); + } + function fromCpOnly(next, cp, needFeature) { + return !!needFeature ? next(cp, needFeature) : new UChar(cp, null); + } + function fromRuleBasedJamo(next, cp, needFeature) { + var j; + if (cp < LBase || LBase + LCount <= cp && cp < SBase || SBase + SCount < cp) { + return next(cp, needFeature); + } + if (LBase <= cp && cp < LBase + LCount) { + var c = {}; + var base = (cp - LBase) * VCount; + for (j = 0; j < VCount; ++j) { + c[VBase + j] = SBase + TCount * (j + base); + } + return new UChar(cp, [,, c]); + } -exports.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']; + var SIndex = cp - SBase; + var TIndex = SIndex % TCount; + var feature = []; + if (TIndex !== 0) { + feature[0] = [SBase + SIndex - TIndex, TBase + TIndex]; + } else { + feature[0] = [LBase + Math.floor(SIndex / NCount), VBase + Math.floor(SIndex % NCount / TCount)]; + feature[2] = {}; + for (j = 1; j < TCount; ++j) { + feature[2][TBase + j] = cp + j; + } + } + return new UChar(cp, feature); + } + function fromCpFilter(next, cp, needFeature) { + return cp < 60 || 13311 < cp && cp < 42607 ? new UChar(cp, DEFAULT_FEATURE) : next(cp, needFeature); + } -/** - * Packet type `connect`. - * - * @api public - */ + var strategies = [fromCpFilter, fromCache, fromCpOnly, fromRuleBasedJamo, fromData]; -exports.CONNECT = 0; + UChar.fromCharCode = strategies.reduceRight(function (next, strategy) { + return function (cp, needFeature) { + return strategy(next, cp, needFeature); + }; + }, null); -/** - * Packet type `disconnect`. - * - * @api public - */ - -exports.DISCONNECT = 1; - -/** - * Packet type `event`. - * - * @api public - */ + UChar.isHighSurrogate = function (cp) { + return cp >= 0xD800 && cp <= 0xDBFF; + }; + UChar.isLowSurrogate = function (cp) { + return cp >= 0xDC00 && cp <= 0xDFFF; + }; -exports.EVENT = 2; + UChar.prototype.prepFeature = function () { + if (!this.feature) { + this.feature = UChar.fromCharCode(this.codepoint, true).feature; + } + }; -/** - * Packet type `ack`. - * - * @api public - */ + UChar.prototype.toString = function () { + if (this.codepoint < 0x10000) { + return String.fromCharCode(this.codepoint); + } else { + var x = this.codepoint - 0x10000; + return String.fromCharCode(Math.floor(x / 0x400) + 0xD800, x % 0x400 + 0xDC00); + } + }; -exports.ACK = 3; + UChar.prototype.getDecomp = function () { + this.prepFeature(); + return this.feature[0] || null; + }; -/** - * Packet type `error`. - * - * @api public - */ + UChar.prototype.isCompatibility = function () { + this.prepFeature(); + return !!this.feature[1] && this.feature[1] & 1 << 8; + }; + UChar.prototype.isExclude = function () { + this.prepFeature(); + return !!this.feature[1] && this.feature[1] & 1 << 9; + }; + UChar.prototype.getCanonicalClass = function () { + this.prepFeature(); + return !!this.feature[1] ? this.feature[1] & 0xff : 0; + }; + UChar.prototype.getComposite = function (following) { + this.prepFeature(); + if (!this.feature[2]) { + return null; + } + var cp = this.feature[2][following.codepoint]; + return cp ? UChar.fromCharCode(cp) : null; + }; -exports.ERROR = 4; + var UCharIterator = function UCharIterator(str) { + this.str = str; + this.cursor = 0; + }; + UCharIterator.prototype.next = function () { + if (!!this.str && this.cursor < this.str.length) { + var cp = this.str.charCodeAt(this.cursor++); + var d; + if (UChar.isHighSurrogate(cp) && this.cursor < this.str.length && UChar.isLowSurrogate(d = this.str.charCodeAt(this.cursor))) { + cp = (cp - 0xD800) * 0x400 + (d - 0xDC00) + 0x10000; + ++this.cursor; + } + return UChar.fromCharCode(cp); + } else { + this.str = null; + return null; + } + }; -/** - * Packet type 'binary event' - * - * @api public - */ + var RecursDecompIterator = function RecursDecompIterator(it, cano) { + this.it = it; + this.canonical = cano; + this.resBuf = []; + }; -exports.BINARY_EVENT = 5; + RecursDecompIterator.prototype.next = function () { + function recursiveDecomp(cano, uchar) { + var decomp = uchar.getDecomp(); + if (!!decomp && !(cano && uchar.isCompatibility())) { + var ret = []; + for (var i = 0; i < decomp.length; ++i) { + var a = recursiveDecomp(cano, UChar.fromCharCode(decomp[i])); + ret = ret.concat(a); + } + return ret; + } else { + return [uchar]; + } + } + if (this.resBuf.length === 0) { + var uchar = this.it.next(); + if (!uchar) { + return null; + } + this.resBuf = recursiveDecomp(this.canonical, uchar); + } + return this.resBuf.shift(); + }; -/** - * Packet type `binary ack`. For acks with binary arguments. - * - * @api public - */ + var DecompIterator = function DecompIterator(it) { + this.it = it; + this.resBuf = []; + }; -exports.BINARY_ACK = 6; + DecompIterator.prototype.next = function () { + var cc; + if (this.resBuf.length === 0) { + do { + var uchar = this.it.next(); + if (!uchar) { + break; + } + cc = uchar.getCanonicalClass(); + var inspt = this.resBuf.length; + if (cc !== 0) { + for (; inspt > 0; --inspt) { + var uchar2 = this.resBuf[inspt - 1]; + var cc2 = uchar2.getCanonicalClass(); + if (cc2 <= cc) { + break; + } + } + } + this.resBuf.splice(inspt, 0, uchar); + } while (cc !== 0); + } + return this.resBuf.shift(); + }; -/** - * Encoder constructor. - * - * @api public - */ + var CompIterator = function CompIterator(it) { + this.it = it; + this.procBuf = []; + this.resBuf = []; + this.lastClass = null; + }; -exports.Encoder = Encoder; + CompIterator.prototype.next = function () { + while (this.resBuf.length === 0) { + var uchar = this.it.next(); + if (!uchar) { + this.resBuf = this.procBuf; + this.procBuf = []; + break; + } + if (this.procBuf.length === 0) { + this.lastClass = uchar.getCanonicalClass(); + this.procBuf.push(uchar); + } else { + var starter = this.procBuf[0]; + var composite = starter.getComposite(uchar); + var cc = uchar.getCanonicalClass(); + if (!!composite && (this.lastClass < cc || this.lastClass === 0)) { + this.procBuf[0] = composite; + } else { + if (cc === 0) { + this.resBuf = this.procBuf; + this.procBuf = []; + } + this.lastClass = cc; + this.procBuf.push(uchar); + } + } + } + return this.resBuf.shift(); + }; -/** - * Decoder constructor. - * - * @api public - */ + var createIterator = function createIterator(mode, str) { + switch (mode) { + case "NFD": + return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true)); + case "NFKD": + return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false)); + case "NFC": + return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true))); + case "NFKC": + return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false))); + } + throw mode + " is invalid"; + }; + var normalize = function normalize(mode, str) { + var it = createIterator(mode, str); + var ret = ""; + var uchar; + while (!!(uchar = it.next())) { + ret += uchar.toString(); + } + return ret; + }; -exports.Decoder = Decoder; + /* API functions */ + function nfd(str) { + return normalize("NFD", str); + } -/** - * A socket.io Encoder instance - * - * @api public - */ + function nfkd(str) { + return normalize("NFKD", str); + } -function Encoder() {} + function nfc(str) { + return normalize("NFC", str); + } -var ERROR_PACKET = exports.ERROR + '"encode error"'; + function nfkc(str) { + return normalize("NFKC", str); + } -/** - * Encode a packet as a single string if non-binary, or as a - * buffer sequence, depending on packet type. - * - * @param {Object} obj - packet object - * @param {Function} callback - function to handle encodings (likely engine.write) - * @return Calls callback with Array of encodings - * @api public - */ + /* Unicode data */ + UChar.udata = { + 0: { 60: [,, { 824: 8814 }], 61: [,, { 824: 8800 }], 62: [,, { 824: 8815 }], 65: [,, { 768: 192, 769: 193, 770: 194, 771: 195, 772: 256, 774: 258, 775: 550, 776: 196, 777: 7842, 778: 197, 780: 461, 783: 512, 785: 514, 803: 7840, 805: 7680, 808: 260 }], 66: [,, { 775: 7682, 803: 7684, 817: 7686 }], 67: [,, { 769: 262, 770: 264, 775: 266, 780: 268, 807: 199 }], 68: [,, { 775: 7690, 780: 270, 803: 7692, 807: 7696, 813: 7698, 817: 7694 }], 69: [,, { 768: 200, 769: 201, 770: 202, 771: 7868, 772: 274, 774: 276, 775: 278, 776: 203, 777: 7866, 780: 282, 783: 516, 785: 518, 803: 7864, 807: 552, 808: 280, 813: 7704, 816: 7706 }], 70: [,, { 775: 7710 }], 71: [,, { 769: 500, 770: 284, 772: 7712, 774: 286, 775: 288, 780: 486, 807: 290 }], 72: [,, { 770: 292, 775: 7714, 776: 7718, 780: 542, 803: 7716, 807: 7720, 814: 7722 }], 73: [,, { 768: 204, 769: 205, 770: 206, 771: 296, 772: 298, 774: 300, 775: 304, 776: 207, 777: 7880, 780: 463, 783: 520, 785: 522, 803: 7882, 808: 302, 816: 7724 }], 74: [,, { 770: 308 }], 75: [,, { 769: 7728, 780: 488, 803: 7730, 807: 310, 817: 7732 }], 76: [,, { 769: 313, 780: 317, 803: 7734, 807: 315, 813: 7740, 817: 7738 }], 77: [,, { 769: 7742, 775: 7744, 803: 7746 }], 78: [,, { 768: 504, 769: 323, 771: 209, 775: 7748, 780: 327, 803: 7750, 807: 325, 813: 7754, 817: 7752 }], 79: [,, { 768: 210, 769: 211, 770: 212, 771: 213, 772: 332, 774: 334, 775: 558, 776: 214, 777: 7886, 779: 336, 780: 465, 783: 524, 785: 526, 795: 416, 803: 7884, 808: 490 }], 80: [,, { 769: 7764, 775: 7766 }], 82: [,, { 769: 340, 775: 7768, 780: 344, 783: 528, 785: 530, 803: 7770, 807: 342, 817: 7774 }], 83: [,, { 769: 346, 770: 348, 775: 7776, 780: 352, 803: 7778, 806: 536, 807: 350 }], 84: [,, { 775: 7786, 780: 356, 803: 7788, 806: 538, 807: 354, 813: 7792, 817: 7790 }], 85: [,, { 768: 217, 769: 218, 770: 219, 771: 360, 772: 362, 774: 364, 776: 220, 777: 7910, 778: 366, 779: 368, 780: 467, 783: 532, 785: 534, 795: 431, 803: 7908, 804: 7794, 808: 370, 813: 7798, 816: 7796 }], 86: [,, { 771: 7804, 803: 7806 }], 87: [,, { 768: 7808, 769: 7810, 770: 372, 775: 7814, 776: 7812, 803: 7816 }], 88: [,, { 775: 7818, 776: 7820 }], 89: [,, { 768: 7922, 769: 221, 770: 374, 771: 7928, 772: 562, 775: 7822, 776: 376, 777: 7926, 803: 7924 }], 90: [,, { 769: 377, 770: 7824, 775: 379, 780: 381, 803: 7826, 817: 7828 }], 97: [,, { 768: 224, 769: 225, 770: 226, 771: 227, 772: 257, 774: 259, 775: 551, 776: 228, 777: 7843, 778: 229, 780: 462, 783: 513, 785: 515, 803: 7841, 805: 7681, 808: 261 }], 98: [,, { 775: 7683, 803: 7685, 817: 7687 }], 99: [,, { 769: 263, 770: 265, 775: 267, 780: 269, 807: 231 }], 100: [,, { 775: 7691, 780: 271, 803: 7693, 807: 7697, 813: 7699, 817: 7695 }], 101: [,, { 768: 232, 769: 233, 770: 234, 771: 7869, 772: 275, 774: 277, 775: 279, 776: 235, 777: 7867, 780: 283, 783: 517, 785: 519, 803: 7865, 807: 553, 808: 281, 813: 7705, 816: 7707 }], 102: [,, { 775: 7711 }], 103: [,, { 769: 501, 770: 285, 772: 7713, 774: 287, 775: 289, 780: 487, 807: 291 }], 104: [,, { 770: 293, 775: 7715, 776: 7719, 780: 543, 803: 7717, 807: 7721, 814: 7723, 817: 7830 }], 105: [,, { 768: 236, 769: 237, 770: 238, 771: 297, 772: 299, 774: 301, 776: 239, 777: 7881, 780: 464, 783: 521, 785: 523, 803: 7883, 808: 303, 816: 7725 }], 106: [,, { 770: 309, 780: 496 }], 107: [,, { 769: 7729, 780: 489, 803: 7731, 807: 311, 817: 7733 }], 108: [,, { 769: 314, 780: 318, 803: 7735, 807: 316, 813: 7741, 817: 7739 }], 109: [,, { 769: 7743, 775: 7745, 803: 7747 }], 110: [,, { 768: 505, 769: 324, 771: 241, 775: 7749, 780: 328, 803: 7751, 807: 326, 813: 7755, 817: 7753 }], 111: [,, { 768: 242, 769: 243, 770: 244, 771: 245, 772: 333, 774: 335, 775: 559, 776: 246, 777: 7887, 779: 337, 780: 466, 783: 525, 785: 527, 795: 417, 803: 7885, 808: 491 }], 112: [,, { 769: 7765, 775: 7767 }], 114: [,, { 769: 341, 775: 7769, 780: 345, 783: 529, 785: 531, 803: 7771, 807: 343, 817: 7775 }], 115: [,, { 769: 347, 770: 349, 775: 7777, 780: 353, 803: 7779, 806: 537, 807: 351 }], 116: [,, { 775: 7787, 776: 7831, 780: 357, 803: 7789, 806: 539, 807: 355, 813: 7793, 817: 7791 }], 117: [,, { 768: 249, 769: 250, 770: 251, 771: 361, 772: 363, 774: 365, 776: 252, 777: 7911, 778: 367, 779: 369, 780: 468, 783: 533, 785: 535, 795: 432, 803: 7909, 804: 7795, 808: 371, 813: 7799, 816: 7797 }], 118: [,, { 771: 7805, 803: 7807 }], 119: [,, { 768: 7809, 769: 7811, 770: 373, 775: 7815, 776: 7813, 778: 7832, 803: 7817 }], 120: [,, { 775: 7819, 776: 7821 }], 121: [,, { 768: 7923, 769: 253, 770: 375, 771: 7929, 772: 563, 775: 7823, 776: 255, 777: 7927, 778: 7833, 803: 7925 }], 122: [,, { 769: 378, 770: 7825, 775: 380, 780: 382, 803: 7827, 817: 7829 }], 160: [[32], 256], 168: [[32, 776], 256, { 768: 8173, 769: 901, 834: 8129 }], 170: [[97], 256], 175: [[32, 772], 256], 178: [[50], 256], 179: [[51], 256], 180: [[32, 769], 256], 181: [[956], 256], 184: [[32, 807], 256], 185: [[49], 256], 186: [[111], 256], 188: [[49, 8260, 52], 256], 189: [[49, 8260, 50], 256], 190: [[51, 8260, 52], 256], 192: [[65, 768]], 193: [[65, 769]], 194: [[65, 770],, { 768: 7846, 769: 7844, 771: 7850, 777: 7848 }], 195: [[65, 771]], 196: [[65, 776],, { 772: 478 }], 197: [[65, 778],, { 769: 506 }], 198: [,, { 769: 508, 772: 482 }], 199: [[67, 807],, { 769: 7688 }], 200: [[69, 768]], 201: [[69, 769]], 202: [[69, 770],, { 768: 7872, 769: 7870, 771: 7876, 777: 7874 }], 203: [[69, 776]], 204: [[73, 768]], 205: [[73, 769]], 206: [[73, 770]], 207: [[73, 776],, { 769: 7726 }], 209: [[78, 771]], 210: [[79, 768]], 211: [[79, 769]], 212: [[79, 770],, { 768: 7890, 769: 7888, 771: 7894, 777: 7892 }], 213: [[79, 771],, { 769: 7756, 772: 556, 776: 7758 }], 214: [[79, 776],, { 772: 554 }], 216: [,, { 769: 510 }], 217: [[85, 768]], 218: [[85, 769]], 219: [[85, 770]], 220: [[85, 776],, { 768: 475, 769: 471, 772: 469, 780: 473 }], 221: [[89, 769]], 224: [[97, 768]], 225: [[97, 769]], 226: [[97, 770],, { 768: 7847, 769: 7845, 771: 7851, 777: 7849 }], 227: [[97, 771]], 228: [[97, 776],, { 772: 479 }], 229: [[97, 778],, { 769: 507 }], 230: [,, { 769: 509, 772: 483 }], 231: [[99, 807],, { 769: 7689 }], 232: [[101, 768]], 233: [[101, 769]], 234: [[101, 770],, { 768: 7873, 769: 7871, 771: 7877, 777: 7875 }], 235: [[101, 776]], 236: [[105, 768]], 237: [[105, 769]], 238: [[105, 770]], 239: [[105, 776],, { 769: 7727 }], 241: [[110, 771]], 242: [[111, 768]], 243: [[111, 769]], 244: [[111, 770],, { 768: 7891, 769: 7889, 771: 7895, 777: 7893 }], 245: [[111, 771],, { 769: 7757, 772: 557, 776: 7759 }], 246: [[111, 776],, { 772: 555 }], 248: [,, { 769: 511 }], 249: [[117, 768]], 250: [[117, 769]], 251: [[117, 770]], 252: [[117, 776],, { 768: 476, 769: 472, 772: 470, 780: 474 }], 253: [[121, 769]], 255: [[121, 776]] }, + 256: { 256: [[65, 772]], 257: [[97, 772]], 258: [[65, 774],, { 768: 7856, 769: 7854, 771: 7860, 777: 7858 }], 259: [[97, 774],, { 768: 7857, 769: 7855, 771: 7861, 777: 7859 }], 260: [[65, 808]], 261: [[97, 808]], 262: [[67, 769]], 263: [[99, 769]], 264: [[67, 770]], 265: [[99, 770]], 266: [[67, 775]], 267: [[99, 775]], 268: [[67, 780]], 269: [[99, 780]], 270: [[68, 780]], 271: [[100, 780]], 274: [[69, 772],, { 768: 7700, 769: 7702 }], 275: [[101, 772],, { 768: 7701, 769: 7703 }], 276: [[69, 774]], 277: [[101, 774]], 278: [[69, 775]], 279: [[101, 775]], 280: [[69, 808]], 281: [[101, 808]], 282: [[69, 780]], 283: [[101, 780]], 284: [[71, 770]], 285: [[103, 770]], 286: [[71, 774]], 287: [[103, 774]], 288: [[71, 775]], 289: [[103, 775]], 290: [[71, 807]], 291: [[103, 807]], 292: [[72, 770]], 293: [[104, 770]], 296: [[73, 771]], 297: [[105, 771]], 298: [[73, 772]], 299: [[105, 772]], 300: [[73, 774]], 301: [[105, 774]], 302: [[73, 808]], 303: [[105, 808]], 304: [[73, 775]], 306: [[73, 74], 256], 307: [[105, 106], 256], 308: [[74, 770]], 309: [[106, 770]], 310: [[75, 807]], 311: [[107, 807]], 313: [[76, 769]], 314: [[108, 769]], 315: [[76, 807]], 316: [[108, 807]], 317: [[76, 780]], 318: [[108, 780]], 319: [[76, 183], 256], 320: [[108, 183], 256], 323: [[78, 769]], 324: [[110, 769]], 325: [[78, 807]], 326: [[110, 807]], 327: [[78, 780]], 328: [[110, 780]], 329: [[700, 110], 256], 332: [[79, 772],, { 768: 7760, 769: 7762 }], 333: [[111, 772],, { 768: 7761, 769: 7763 }], 334: [[79, 774]], 335: [[111, 774]], 336: [[79, 779]], 337: [[111, 779]], 340: [[82, 769]], 341: [[114, 769]], 342: [[82, 807]], 343: [[114, 807]], 344: [[82, 780]], 345: [[114, 780]], 346: [[83, 769],, { 775: 7780 }], 347: [[115, 769],, { 775: 7781 }], 348: [[83, 770]], 349: [[115, 770]], 350: [[83, 807]], 351: [[115, 807]], 352: [[83, 780],, { 775: 7782 }], 353: [[115, 780],, { 775: 7783 }], 354: [[84, 807]], 355: [[116, 807]], 356: [[84, 780]], 357: [[116, 780]], 360: [[85, 771],, { 769: 7800 }], 361: [[117, 771],, { 769: 7801 }], 362: [[85, 772],, { 776: 7802 }], 363: [[117, 772],, { 776: 7803 }], 364: [[85, 774]], 365: [[117, 774]], 366: [[85, 778]], 367: [[117, 778]], 368: [[85, 779]], 369: [[117, 779]], 370: [[85, 808]], 371: [[117, 808]], 372: [[87, 770]], 373: [[119, 770]], 374: [[89, 770]], 375: [[121, 770]], 376: [[89, 776]], 377: [[90, 769]], 378: [[122, 769]], 379: [[90, 775]], 380: [[122, 775]], 381: [[90, 780]], 382: [[122, 780]], 383: [[115], 256, { 775: 7835 }], 416: [[79, 795],, { 768: 7900, 769: 7898, 771: 7904, 777: 7902, 803: 7906 }], 417: [[111, 795],, { 768: 7901, 769: 7899, 771: 7905, 777: 7903, 803: 7907 }], 431: [[85, 795],, { 768: 7914, 769: 7912, 771: 7918, 777: 7916, 803: 7920 }], 432: [[117, 795],, { 768: 7915, 769: 7913, 771: 7919, 777: 7917, 803: 7921 }], 439: [,, { 780: 494 }], 452: [[68, 381], 256], 453: [[68, 382], 256], 454: [[100, 382], 256], 455: [[76, 74], 256], 456: [[76, 106], 256], 457: [[108, 106], 256], 458: [[78, 74], 256], 459: [[78, 106], 256], 460: [[110, 106], 256], 461: [[65, 780]], 462: [[97, 780]], 463: [[73, 780]], 464: [[105, 780]], 465: [[79, 780]], 466: [[111, 780]], 467: [[85, 780]], 468: [[117, 780]], 469: [[220, 772]], 470: [[252, 772]], 471: [[220, 769]], 472: [[252, 769]], 473: [[220, 780]], 474: [[252, 780]], 475: [[220, 768]], 476: [[252, 768]], 478: [[196, 772]], 479: [[228, 772]], 480: [[550, 772]], 481: [[551, 772]], 482: [[198, 772]], 483: [[230, 772]], 486: [[71, 780]], 487: [[103, 780]], 488: [[75, 780]], 489: [[107, 780]], 490: [[79, 808],, { 772: 492 }], 491: [[111, 808],, { 772: 493 }], 492: [[490, 772]], 493: [[491, 772]], 494: [[439, 780]], 495: [[658, 780]], 496: [[106, 780]], 497: [[68, 90], 256], 498: [[68, 122], 256], 499: [[100, 122], 256], 500: [[71, 769]], 501: [[103, 769]], 504: [[78, 768]], 505: [[110, 768]], 506: [[197, 769]], 507: [[229, 769]], 508: [[198, 769]], 509: [[230, 769]], 510: [[216, 769]], 511: [[248, 769]], 66045: [, 220] }, + 512: { 512: [[65, 783]], 513: [[97, 783]], 514: [[65, 785]], 515: [[97, 785]], 516: [[69, 783]], 517: [[101, 783]], 518: [[69, 785]], 519: [[101, 785]], 520: [[73, 783]], 521: [[105, 783]], 522: [[73, 785]], 523: [[105, 785]], 524: [[79, 783]], 525: [[111, 783]], 526: [[79, 785]], 527: [[111, 785]], 528: [[82, 783]], 529: [[114, 783]], 530: [[82, 785]], 531: [[114, 785]], 532: [[85, 783]], 533: [[117, 783]], 534: [[85, 785]], 535: [[117, 785]], 536: [[83, 806]], 537: [[115, 806]], 538: [[84, 806]], 539: [[116, 806]], 542: [[72, 780]], 543: [[104, 780]], 550: [[65, 775],, { 772: 480 }], 551: [[97, 775],, { 772: 481 }], 552: [[69, 807],, { 774: 7708 }], 553: [[101, 807],, { 774: 7709 }], 554: [[214, 772]], 555: [[246, 772]], 556: [[213, 772]], 557: [[245, 772]], 558: [[79, 775],, { 772: 560 }], 559: [[111, 775],, { 772: 561 }], 560: [[558, 772]], 561: [[559, 772]], 562: [[89, 772]], 563: [[121, 772]], 658: [,, { 780: 495 }], 688: [[104], 256], 689: [[614], 256], 690: [[106], 256], 691: [[114], 256], 692: [[633], 256], 693: [[635], 256], 694: [[641], 256], 695: [[119], 256], 696: [[121], 256], 728: [[32, 774], 256], 729: [[32, 775], 256], 730: [[32, 778], 256], 731: [[32, 808], 256], 732: [[32, 771], 256], 733: [[32, 779], 256], 736: [[611], 256], 737: [[108], 256], 738: [[115], 256], 739: [[120], 256], 740: [[661], 256], 66272: [, 220] }, + 768: { 768: [, 230], 769: [, 230], 770: [, 230], 771: [, 230], 772: [, 230], 773: [, 230], 774: [, 230], 775: [, 230], 776: [, 230, { 769: 836 }], 777: [, 230], 778: [, 230], 779: [, 230], 780: [, 230], 781: [, 230], 782: [, 230], 783: [, 230], 784: [, 230], 785: [, 230], 786: [, 230], 787: [, 230], 788: [, 230], 789: [, 232], 790: [, 220], 791: [, 220], 792: [, 220], 793: [, 220], 794: [, 232], 795: [, 216], 796: [, 220], 797: [, 220], 798: [, 220], 799: [, 220], 800: [, 220], 801: [, 202], 802: [, 202], 803: [, 220], 804: [, 220], 805: [, 220], 806: [, 220], 807: [, 202], 808: [, 202], 809: [, 220], 810: [, 220], 811: [, 220], 812: [, 220], 813: [, 220], 814: [, 220], 815: [, 220], 816: [, 220], 817: [, 220], 818: [, 220], 819: [, 220], 820: [, 1], 821: [, 1], 822: [, 1], 823: [, 1], 824: [, 1], 825: [, 220], 826: [, 220], 827: [, 220], 828: [, 220], 829: [, 230], 830: [, 230], 831: [, 230], 832: [[768], 230], 833: [[769], 230], 834: [, 230], 835: [[787], 230], 836: [[776, 769], 230], 837: [, 240], 838: [, 230], 839: [, 220], 840: [, 220], 841: [, 220], 842: [, 230], 843: [, 230], 844: [, 230], 845: [, 220], 846: [, 220], 848: [, 230], 849: [, 230], 850: [, 230], 851: [, 220], 852: [, 220], 853: [, 220], 854: [, 220], 855: [, 230], 856: [, 232], 857: [, 220], 858: [, 220], 859: [, 230], 860: [, 233], 861: [, 234], 862: [, 234], 863: [, 233], 864: [, 234], 865: [, 234], 866: [, 233], 867: [, 230], 868: [, 230], 869: [, 230], 870: [, 230], 871: [, 230], 872: [, 230], 873: [, 230], 874: [, 230], 875: [, 230], 876: [, 230], 877: [, 230], 878: [, 230], 879: [, 230], 884: [[697]], 890: [[32, 837], 256], 894: [[59]], 900: [[32, 769], 256], 901: [[168, 769]], 902: [[913, 769]], 903: [[183]], 904: [[917, 769]], 905: [[919, 769]], 906: [[921, 769]], 908: [[927, 769]], 910: [[933, 769]], 911: [[937, 769]], 912: [[970, 769]], 913: [,, { 768: 8122, 769: 902, 772: 8121, 774: 8120, 787: 7944, 788: 7945, 837: 8124 }], 917: [,, { 768: 8136, 769: 904, 787: 7960, 788: 7961 }], 919: [,, { 768: 8138, 769: 905, 787: 7976, 788: 7977, 837: 8140 }], 921: [,, { 768: 8154, 769: 906, 772: 8153, 774: 8152, 776: 938, 787: 7992, 788: 7993 }], 927: [,, { 768: 8184, 769: 908, 787: 8008, 788: 8009 }], 929: [,, { 788: 8172 }], 933: [,, { 768: 8170, 769: 910, 772: 8169, 774: 8168, 776: 939, 788: 8025 }], 937: [,, { 768: 8186, 769: 911, 787: 8040, 788: 8041, 837: 8188 }], 938: [[921, 776]], 939: [[933, 776]], 940: [[945, 769],, { 837: 8116 }], 941: [[949, 769]], 942: [[951, 769],, { 837: 8132 }], 943: [[953, 769]], 944: [[971, 769]], 945: [,, { 768: 8048, 769: 940, 772: 8113, 774: 8112, 787: 7936, 788: 7937, 834: 8118, 837: 8115 }], 949: [,, { 768: 8050, 769: 941, 787: 7952, 788: 7953 }], 951: [,, { 768: 8052, 769: 942, 787: 7968, 788: 7969, 834: 8134, 837: 8131 }], 953: [,, { 768: 8054, 769: 943, 772: 8145, 774: 8144, 776: 970, 787: 7984, 788: 7985, 834: 8150 }], 959: [,, { 768: 8056, 769: 972, 787: 8000, 788: 8001 }], 961: [,, { 787: 8164, 788: 8165 }], 965: [,, { 768: 8058, 769: 973, 772: 8161, 774: 8160, 776: 971, 787: 8016, 788: 8017, 834: 8166 }], 969: [,, { 768: 8060, 769: 974, 787: 8032, 788: 8033, 834: 8182, 837: 8179 }], 970: [[953, 776],, { 768: 8146, 769: 912, 834: 8151 }], 971: [[965, 776],, { 768: 8162, 769: 944, 834: 8167 }], 972: [[959, 769]], 973: [[965, 769]], 974: [[969, 769],, { 837: 8180 }], 976: [[946], 256], 977: [[952], 256], 978: [[933], 256, { 769: 979, 776: 980 }], 979: [[978, 769]], 980: [[978, 776]], 981: [[966], 256], 982: [[960], 256], 1008: [[954], 256], 1009: [[961], 256], 1010: [[962], 256], 1012: [[920], 256], 1013: [[949], 256], 1017: [[931], 256], 66422: [, 230], 66423: [, 230], 66424: [, 230], 66425: [, 230], 66426: [, 230] }, + 1024: { 1024: [[1045, 768]], 1025: [[1045, 776]], 1027: [[1043, 769]], 1030: [,, { 776: 1031 }], 1031: [[1030, 776]], 1036: [[1050, 769]], 1037: [[1048, 768]], 1038: [[1059, 774]], 1040: [,, { 774: 1232, 776: 1234 }], 1043: [,, { 769: 1027 }], 1045: [,, { 768: 1024, 774: 1238, 776: 1025 }], 1046: [,, { 774: 1217, 776: 1244 }], 1047: [,, { 776: 1246 }], 1048: [,, { 768: 1037, 772: 1250, 774: 1049, 776: 1252 }], 1049: [[1048, 774]], 1050: [,, { 769: 1036 }], 1054: [,, { 776: 1254 }], 1059: [,, { 772: 1262, 774: 1038, 776: 1264, 779: 1266 }], 1063: [,, { 776: 1268 }], 1067: [,, { 776: 1272 }], 1069: [,, { 776: 1260 }], 1072: [,, { 774: 1233, 776: 1235 }], 1075: [,, { 769: 1107 }], 1077: [,, { 768: 1104, 774: 1239, 776: 1105 }], 1078: [,, { 774: 1218, 776: 1245 }], 1079: [,, { 776: 1247 }], 1080: [,, { 768: 1117, 772: 1251, 774: 1081, 776: 1253 }], 1081: [[1080, 774]], 1082: [,, { 769: 1116 }], 1086: [,, { 776: 1255 }], 1091: [,, { 772: 1263, 774: 1118, 776: 1265, 779: 1267 }], 1095: [,, { 776: 1269 }], 1099: [,, { 776: 1273 }], 1101: [,, { 776: 1261 }], 1104: [[1077, 768]], 1105: [[1077, 776]], 1107: [[1075, 769]], 1110: [,, { 776: 1111 }], 1111: [[1110, 776]], 1116: [[1082, 769]], 1117: [[1080, 768]], 1118: [[1091, 774]], 1140: [,, { 783: 1142 }], 1141: [,, { 783: 1143 }], 1142: [[1140, 783]], 1143: [[1141, 783]], 1155: [, 230], 1156: [, 230], 1157: [, 230], 1158: [, 230], 1159: [, 230], 1217: [[1046, 774]], 1218: [[1078, 774]], 1232: [[1040, 774]], 1233: [[1072, 774]], 1234: [[1040, 776]], 1235: [[1072, 776]], 1238: [[1045, 774]], 1239: [[1077, 774]], 1240: [,, { 776: 1242 }], 1241: [,, { 776: 1243 }], 1242: [[1240, 776]], 1243: [[1241, 776]], 1244: [[1046, 776]], 1245: [[1078, 776]], 1246: [[1047, 776]], 1247: [[1079, 776]], 1250: [[1048, 772]], 1251: [[1080, 772]], 1252: [[1048, 776]], 1253: [[1080, 776]], 1254: [[1054, 776]], 1255: [[1086, 776]], 1256: [,, { 776: 1258 }], 1257: [,, { 776: 1259 }], 1258: [[1256, 776]], 1259: [[1257, 776]], 1260: [[1069, 776]], 1261: [[1101, 776]], 1262: [[1059, 772]], 1263: [[1091, 772]], 1264: [[1059, 776]], 1265: [[1091, 776]], 1266: [[1059, 779]], 1267: [[1091, 779]], 1268: [[1063, 776]], 1269: [[1095, 776]], 1272: [[1067, 776]], 1273: [[1099, 776]] }, + 1280: { 1415: [[1381, 1410], 256], 1425: [, 220], 1426: [, 230], 1427: [, 230], 1428: [, 230], 1429: [, 230], 1430: [, 220], 1431: [, 230], 1432: [, 230], 1433: [, 230], 1434: [, 222], 1435: [, 220], 1436: [, 230], 1437: [, 230], 1438: [, 230], 1439: [, 230], 1440: [, 230], 1441: [, 230], 1442: [, 220], 1443: [, 220], 1444: [, 220], 1445: [, 220], 1446: [, 220], 1447: [, 220], 1448: [, 230], 1449: [, 230], 1450: [, 220], 1451: [, 230], 1452: [, 230], 1453: [, 222], 1454: [, 228], 1455: [, 230], 1456: [, 10], 1457: [, 11], 1458: [, 12], 1459: [, 13], 1460: [, 14], 1461: [, 15], 1462: [, 16], 1463: [, 17], 1464: [, 18], 1465: [, 19], 1466: [, 19], 1467: [, 20], 1468: [, 21], 1469: [, 22], 1471: [, 23], 1473: [, 24], 1474: [, 25], 1476: [, 230], 1477: [, 220], 1479: [, 18] }, + 1536: { 1552: [, 230], 1553: [, 230], 1554: [, 230], 1555: [, 230], 1556: [, 230], 1557: [, 230], 1558: [, 230], 1559: [, 230], 1560: [, 30], 1561: [, 31], 1562: [, 32], 1570: [[1575, 1619]], 1571: [[1575, 1620]], 1572: [[1608, 1620]], 1573: [[1575, 1621]], 1574: [[1610, 1620]], 1575: [,, { 1619: 1570, 1620: 1571, 1621: 1573 }], 1608: [,, { 1620: 1572 }], 1610: [,, { 1620: 1574 }], 1611: [, 27], 1612: [, 28], 1613: [, 29], 1614: [, 30], 1615: [, 31], 1616: [, 32], 1617: [, 33], 1618: [, 34], 1619: [, 230], 1620: [, 230], 1621: [, 220], 1622: [, 220], 1623: [, 230], 1624: [, 230], 1625: [, 230], 1626: [, 230], 1627: [, 230], 1628: [, 220], 1629: [, 230], 1630: [, 230], 1631: [, 220], 1648: [, 35], 1653: [[1575, 1652], 256], 1654: [[1608, 1652], 256], 1655: [[1735, 1652], 256], 1656: [[1610, 1652], 256], 1728: [[1749, 1620]], 1729: [,, { 1620: 1730 }], 1730: [[1729, 1620]], 1746: [,, { 1620: 1747 }], 1747: [[1746, 1620]], 1749: [,, { 1620: 1728 }], 1750: [, 230], 1751: [, 230], 1752: [, 230], 1753: [, 230], 1754: [, 230], 1755: [, 230], 1756: [, 230], 1759: [, 230], 1760: [, 230], 1761: [, 230], 1762: [, 230], 1763: [, 220], 1764: [, 230], 1767: [, 230], 1768: [, 230], 1770: [, 220], 1771: [, 230], 1772: [, 230], 1773: [, 220] }, + 1792: { 1809: [, 36], 1840: [, 230], 1841: [, 220], 1842: [, 230], 1843: [, 230], 1844: [, 220], 1845: [, 230], 1846: [, 230], 1847: [, 220], 1848: [, 220], 1849: [, 220], 1850: [, 230], 1851: [, 220], 1852: [, 220], 1853: [, 230], 1854: [, 220], 1855: [, 230], 1856: [, 230], 1857: [, 230], 1858: [, 220], 1859: [, 230], 1860: [, 220], 1861: [, 230], 1862: [, 220], 1863: [, 230], 1864: [, 220], 1865: [, 230], 1866: [, 230], 2027: [, 230], 2028: [, 230], 2029: [, 230], 2030: [, 230], 2031: [, 230], 2032: [, 230], 2033: [, 230], 2034: [, 220], 2035: [, 230] }, + 2048: { 2070: [, 230], 2071: [, 230], 2072: [, 230], 2073: [, 230], 2075: [, 230], 2076: [, 230], 2077: [, 230], 2078: [, 230], 2079: [, 230], 2080: [, 230], 2081: [, 230], 2082: [, 230], 2083: [, 230], 2085: [, 230], 2086: [, 230], 2087: [, 230], 2089: [, 230], 2090: [, 230], 2091: [, 230], 2092: [, 230], 2093: [, 230], 2137: [, 220], 2138: [, 220], 2139: [, 220], 2276: [, 230], 2277: [, 230], 2278: [, 220], 2279: [, 230], 2280: [, 230], 2281: [, 220], 2282: [, 230], 2283: [, 230], 2284: [, 230], 2285: [, 220], 2286: [, 220], 2287: [, 220], 2288: [, 27], 2289: [, 28], 2290: [, 29], 2291: [, 230], 2292: [, 230], 2293: [, 230], 2294: [, 220], 2295: [, 230], 2296: [, 230], 2297: [, 220], 2298: [, 220], 2299: [, 230], 2300: [, 230], 2301: [, 230], 2302: [, 230], 2303: [, 230] }, + 2304: { 2344: [,, { 2364: 2345 }], 2345: [[2344, 2364]], 2352: [,, { 2364: 2353 }], 2353: [[2352, 2364]], 2355: [,, { 2364: 2356 }], 2356: [[2355, 2364]], 2364: [, 7], 2381: [, 9], 2385: [, 230], 2386: [, 220], 2387: [, 230], 2388: [, 230], 2392: [[2325, 2364], 512], 2393: [[2326, 2364], 512], 2394: [[2327, 2364], 512], 2395: [[2332, 2364], 512], 2396: [[2337, 2364], 512], 2397: [[2338, 2364], 512], 2398: [[2347, 2364], 512], 2399: [[2351, 2364], 512], 2492: [, 7], 2503: [,, { 2494: 2507, 2519: 2508 }], 2507: [[2503, 2494]], 2508: [[2503, 2519]], 2509: [, 9], 2524: [[2465, 2492], 512], 2525: [[2466, 2492], 512], 2527: [[2479, 2492], 512] }, + 2560: { 2611: [[2610, 2620], 512], 2614: [[2616, 2620], 512], 2620: [, 7], 2637: [, 9], 2649: [[2582, 2620], 512], 2650: [[2583, 2620], 512], 2651: [[2588, 2620], 512], 2654: [[2603, 2620], 512], 2748: [, 7], 2765: [, 9], 68109: [, 220], 68111: [, 230], 68152: [, 230], 68153: [, 1], 68154: [, 220], 68159: [, 9], 68325: [, 230], 68326: [, 220] }, + 2816: { 2876: [, 7], 2887: [,, { 2878: 2891, 2902: 2888, 2903: 2892 }], 2888: [[2887, 2902]], 2891: [[2887, 2878]], 2892: [[2887, 2903]], 2893: [, 9], 2908: [[2849, 2876], 512], 2909: [[2850, 2876], 512], 2962: [,, { 3031: 2964 }], 2964: [[2962, 3031]], 3014: [,, { 3006: 3018, 3031: 3020 }], 3015: [,, { 3006: 3019 }], 3018: [[3014, 3006]], 3019: [[3015, 3006]], 3020: [[3014, 3031]], 3021: [, 9] }, + 3072: { 3142: [,, { 3158: 3144 }], 3144: [[3142, 3158]], 3149: [, 9], 3157: [, 84], 3158: [, 91], 3260: [, 7], 3263: [,, { 3285: 3264 }], 3264: [[3263, 3285]], 3270: [,, { 3266: 3274, 3285: 3271, 3286: 3272 }], 3271: [[3270, 3285]], 3272: [[3270, 3286]], 3274: [[3270, 3266],, { 3285: 3275 }], 3275: [[3274, 3285]], 3277: [, 9] }, + 3328: { 3398: [,, { 3390: 3402, 3415: 3404 }], 3399: [,, { 3390: 3403 }], 3402: [[3398, 3390]], 3403: [[3399, 3390]], 3404: [[3398, 3415]], 3405: [, 9], 3530: [, 9], 3545: [,, { 3530: 3546, 3535: 3548, 3551: 3550 }], 3546: [[3545, 3530]], 3548: [[3545, 3535],, { 3530: 3549 }], 3549: [[3548, 3530]], 3550: [[3545, 3551]] }, + 3584: { 3635: [[3661, 3634], 256], 3640: [, 103], 3641: [, 103], 3642: [, 9], 3656: [, 107], 3657: [, 107], 3658: [, 107], 3659: [, 107], 3763: [[3789, 3762], 256], 3768: [, 118], 3769: [, 118], 3784: [, 122], 3785: [, 122], 3786: [, 122], 3787: [, 122], 3804: [[3755, 3737], 256], 3805: [[3755, 3745], 256] }, + 3840: { 3852: [[3851], 256], 3864: [, 220], 3865: [, 220], 3893: [, 220], 3895: [, 220], 3897: [, 216], 3907: [[3906, 4023], 512], 3917: [[3916, 4023], 512], 3922: [[3921, 4023], 512], 3927: [[3926, 4023], 512], 3932: [[3931, 4023], 512], 3945: [[3904, 4021], 512], 3953: [, 129], 3954: [, 130], 3955: [[3953, 3954], 512], 3956: [, 132], 3957: [[3953, 3956], 512], 3958: [[4018, 3968], 512], 3959: [[4018, 3969], 256], 3960: [[4019, 3968], 512], 3961: [[4019, 3969], 256], 3962: [, 130], 3963: [, 130], 3964: [, 130], 3965: [, 130], 3968: [, 130], 3969: [[3953, 3968], 512], 3970: [, 230], 3971: [, 230], 3972: [, 9], 3974: [, 230], 3975: [, 230], 3987: [[3986, 4023], 512], 3997: [[3996, 4023], 512], 4002: [[4001, 4023], 512], 4007: [[4006, 4023], 512], 4012: [[4011, 4023], 512], 4025: [[3984, 4021], 512], 4038: [, 220] }, + 4096: { 4133: [,, { 4142: 4134 }], 4134: [[4133, 4142]], 4151: [, 7], 4153: [, 9], 4154: [, 9], 4237: [, 220], 4348: [[4316], 256], 69702: [, 9], 69759: [, 9], 69785: [,, { 69818: 69786 }], 69786: [[69785, 69818]], 69787: [,, { 69818: 69788 }], 69788: [[69787, 69818]], 69797: [,, { 69818: 69803 }], 69803: [[69797, 69818]], 69817: [, 9], 69818: [, 7] }, + 4352: { 69888: [, 230], 69889: [, 230], 69890: [, 230], 69934: [[69937, 69927]], 69935: [[69938, 69927]], 69937: [,, { 69927: 69934 }], 69938: [,, { 69927: 69935 }], 69939: [, 9], 69940: [, 9], 70003: [, 7], 70080: [, 9] }, + 4608: { 70197: [, 9], 70198: [, 7], 70377: [, 7], 70378: [, 9] }, + 4864: { 4957: [, 230], 4958: [, 230], 4959: [, 230], 70460: [, 7], 70471: [,, { 70462: 70475, 70487: 70476 }], 70475: [[70471, 70462]], 70476: [[70471, 70487]], 70477: [, 9], 70502: [, 230], 70503: [, 230], 70504: [, 230], 70505: [, 230], 70506: [, 230], 70507: [, 230], 70508: [, 230], 70512: [, 230], 70513: [, 230], 70514: [, 230], 70515: [, 230], 70516: [, 230] }, + 5120: { 70841: [,, { 70832: 70844, 70842: 70843, 70845: 70846 }], 70843: [[70841, 70842]], 70844: [[70841, 70832]], 70846: [[70841, 70845]], 70850: [, 9], 70851: [, 7] }, + 5376: { 71096: [,, { 71087: 71098 }], 71097: [,, { 71087: 71099 }], 71098: [[71096, 71087]], 71099: [[71097, 71087]], 71103: [, 9], 71104: [, 7] }, + 5632: { 71231: [, 9], 71350: [, 9], 71351: [, 7] }, + 5888: { 5908: [, 9], 5940: [, 9], 6098: [, 9], 6109: [, 230] }, + 6144: { 6313: [, 228] }, + 6400: { 6457: [, 222], 6458: [, 230], 6459: [, 220] }, + 6656: { 6679: [, 230], 6680: [, 220], 6752: [, 9], 6773: [, 230], 6774: [, 230], 6775: [, 230], 6776: [, 230], 6777: [, 230], 6778: [, 230], 6779: [, 230], 6780: [, 230], 6783: [, 220], 6832: [, 230], 6833: [, 230], 6834: [, 230], 6835: [, 230], 6836: [, 230], 6837: [, 220], 6838: [, 220], 6839: [, 220], 6840: [, 220], 6841: [, 220], 6842: [, 220], 6843: [, 230], 6844: [, 230], 6845: [, 220] }, + 6912: { 6917: [,, { 6965: 6918 }], 6918: [[6917, 6965]], 6919: [,, { 6965: 6920 }], 6920: [[6919, 6965]], 6921: [,, { 6965: 6922 }], 6922: [[6921, 6965]], 6923: [,, { 6965: 6924 }], 6924: [[6923, 6965]], 6925: [,, { 6965: 6926 }], 6926: [[6925, 6965]], 6929: [,, { 6965: 6930 }], 6930: [[6929, 6965]], 6964: [, 7], 6970: [,, { 6965: 6971 }], 6971: [[6970, 6965]], 6972: [,, { 6965: 6973 }], 6973: [[6972, 6965]], 6974: [,, { 6965: 6976 }], 6975: [,, { 6965: 6977 }], 6976: [[6974, 6965]], 6977: [[6975, 6965]], 6978: [,, { 6965: 6979 }], 6979: [[6978, 6965]], 6980: [, 9], 7019: [, 230], 7020: [, 220], 7021: [, 230], 7022: [, 230], 7023: [, 230], 7024: [, 230], 7025: [, 230], 7026: [, 230], 7027: [, 230], 7082: [, 9], 7083: [, 9], 7142: [, 7], 7154: [, 9], 7155: [, 9] }, + 7168: { 7223: [, 7], 7376: [, 230], 7377: [, 230], 7378: [, 230], 7380: [, 1], 7381: [, 220], 7382: [, 220], 7383: [, 220], 7384: [, 220], 7385: [, 220], 7386: [, 230], 7387: [, 230], 7388: [, 220], 7389: [, 220], 7390: [, 220], 7391: [, 220], 7392: [, 230], 7394: [, 1], 7395: [, 1], 7396: [, 1], 7397: [, 1], 7398: [, 1], 7399: [, 1], 7400: [, 1], 7405: [, 220], 7412: [, 230], 7416: [, 230], 7417: [, 230] }, + 7424: { 7468: [[65], 256], 7469: [[198], 256], 7470: [[66], 256], 7472: [[68], 256], 7473: [[69], 256], 7474: [[398], 256], 7475: [[71], 256], 7476: [[72], 256], 7477: [[73], 256], 7478: [[74], 256], 7479: [[75], 256], 7480: [[76], 256], 7481: [[77], 256], 7482: [[78], 256], 7484: [[79], 256], 7485: [[546], 256], 7486: [[80], 256], 7487: [[82], 256], 7488: [[84], 256], 7489: [[85], 256], 7490: [[87], 256], 7491: [[97], 256], 7492: [[592], 256], 7493: [[593], 256], 7494: [[7426], 256], 7495: [[98], 256], 7496: [[100], 256], 7497: [[101], 256], 7498: [[601], 256], 7499: [[603], 256], 7500: [[604], 256], 7501: [[103], 256], 7503: [[107], 256], 7504: [[109], 256], 7505: [[331], 256], 7506: [[111], 256], 7507: [[596], 256], 7508: [[7446], 256], 7509: [[7447], 256], 7510: [[112], 256], 7511: [[116], 256], 7512: [[117], 256], 7513: [[7453], 256], 7514: [[623], 256], 7515: [[118], 256], 7516: [[7461], 256], 7517: [[946], 256], 7518: [[947], 256], 7519: [[948], 256], 7520: [[966], 256], 7521: [[967], 256], 7522: [[105], 256], 7523: [[114], 256], 7524: [[117], 256], 7525: [[118], 256], 7526: [[946], 256], 7527: [[947], 256], 7528: [[961], 256], 7529: [[966], 256], 7530: [[967], 256], 7544: [[1085], 256], 7579: [[594], 256], 7580: [[99], 256], 7581: [[597], 256], 7582: [[240], 256], 7583: [[604], 256], 7584: [[102], 256], 7585: [[607], 256], 7586: [[609], 256], 7587: [[613], 256], 7588: [[616], 256], 7589: [[617], 256], 7590: [[618], 256], 7591: [[7547], 256], 7592: [[669], 256], 7593: [[621], 256], 7594: [[7557], 256], 7595: [[671], 256], 7596: [[625], 256], 7597: [[624], 256], 7598: [[626], 256], 7599: [[627], 256], 7600: [[628], 256], 7601: [[629], 256], 7602: [[632], 256], 7603: [[642], 256], 7604: [[643], 256], 7605: [[427], 256], 7606: [[649], 256], 7607: [[650], 256], 7608: [[7452], 256], 7609: [[651], 256], 7610: [[652], 256], 7611: [[122], 256], 7612: [[656], 256], 7613: [[657], 256], 7614: [[658], 256], 7615: [[952], 256], 7616: [, 230], 7617: [, 230], 7618: [, 220], 7619: [, 230], 7620: [, 230], 7621: [, 230], 7622: [, 230], 7623: [, 230], 7624: [, 230], 7625: [, 230], 7626: [, 220], 7627: [, 230], 7628: [, 230], 7629: [, 234], 7630: [, 214], 7631: [, 220], 7632: [, 202], 7633: [, 230], 7634: [, 230], 7635: [, 230], 7636: [, 230], 7637: [, 230], 7638: [, 230], 7639: [, 230], 7640: [, 230], 7641: [, 230], 7642: [, 230], 7643: [, 230], 7644: [, 230], 7645: [, 230], 7646: [, 230], 7647: [, 230], 7648: [, 230], 7649: [, 230], 7650: [, 230], 7651: [, 230], 7652: [, 230], 7653: [, 230], 7654: [, 230], 7655: [, 230], 7656: [, 230], 7657: [, 230], 7658: [, 230], 7659: [, 230], 7660: [, 230], 7661: [, 230], 7662: [, 230], 7663: [, 230], 7664: [, 230], 7665: [, 230], 7666: [, 230], 7667: [, 230], 7668: [, 230], 7669: [, 230], 7676: [, 233], 7677: [, 220], 7678: [, 230], 7679: [, 220] }, + 7680: { 7680: [[65, 805]], 7681: [[97, 805]], 7682: [[66, 775]], 7683: [[98, 775]], 7684: [[66, 803]], 7685: [[98, 803]], 7686: [[66, 817]], 7687: [[98, 817]], 7688: [[199, 769]], 7689: [[231, 769]], 7690: [[68, 775]], 7691: [[100, 775]], 7692: [[68, 803]], 7693: [[100, 803]], 7694: [[68, 817]], 7695: [[100, 817]], 7696: [[68, 807]], 7697: [[100, 807]], 7698: [[68, 813]], 7699: [[100, 813]], 7700: [[274, 768]], 7701: [[275, 768]], 7702: [[274, 769]], 7703: [[275, 769]], 7704: [[69, 813]], 7705: [[101, 813]], 7706: [[69, 816]], 7707: [[101, 816]], 7708: [[552, 774]], 7709: [[553, 774]], 7710: [[70, 775]], 7711: [[102, 775]], 7712: [[71, 772]], 7713: [[103, 772]], 7714: [[72, 775]], 7715: [[104, 775]], 7716: [[72, 803]], 7717: [[104, 803]], 7718: [[72, 776]], 7719: [[104, 776]], 7720: [[72, 807]], 7721: [[104, 807]], 7722: [[72, 814]], 7723: [[104, 814]], 7724: [[73, 816]], 7725: [[105, 816]], 7726: [[207, 769]], 7727: [[239, 769]], 7728: [[75, 769]], 7729: [[107, 769]], 7730: [[75, 803]], 7731: [[107, 803]], 7732: [[75, 817]], 7733: [[107, 817]], 7734: [[76, 803],, { 772: 7736 }], 7735: [[108, 803],, { 772: 7737 }], 7736: [[7734, 772]], 7737: [[7735, 772]], 7738: [[76, 817]], 7739: [[108, 817]], 7740: [[76, 813]], 7741: [[108, 813]], 7742: [[77, 769]], 7743: [[109, 769]], 7744: [[77, 775]], 7745: [[109, 775]], 7746: [[77, 803]], 7747: [[109, 803]], 7748: [[78, 775]], 7749: [[110, 775]], 7750: [[78, 803]], 7751: [[110, 803]], 7752: [[78, 817]], 7753: [[110, 817]], 7754: [[78, 813]], 7755: [[110, 813]], 7756: [[213, 769]], 7757: [[245, 769]], 7758: [[213, 776]], 7759: [[245, 776]], 7760: [[332, 768]], 7761: [[333, 768]], 7762: [[332, 769]], 7763: [[333, 769]], 7764: [[80, 769]], 7765: [[112, 769]], 7766: [[80, 775]], 7767: [[112, 775]], 7768: [[82, 775]], 7769: [[114, 775]], 7770: [[82, 803],, { 772: 7772 }], 7771: [[114, 803],, { 772: 7773 }], 7772: [[7770, 772]], 7773: [[7771, 772]], 7774: [[82, 817]], 7775: [[114, 817]], 7776: [[83, 775]], 7777: [[115, 775]], 7778: [[83, 803],, { 775: 7784 }], 7779: [[115, 803],, { 775: 7785 }], 7780: [[346, 775]], 7781: [[347, 775]], 7782: [[352, 775]], 7783: [[353, 775]], 7784: [[7778, 775]], 7785: [[7779, 775]], 7786: [[84, 775]], 7787: [[116, 775]], 7788: [[84, 803]], 7789: [[116, 803]], 7790: [[84, 817]], 7791: [[116, 817]], 7792: [[84, 813]], 7793: [[116, 813]], 7794: [[85, 804]], 7795: [[117, 804]], 7796: [[85, 816]], 7797: [[117, 816]], 7798: [[85, 813]], 7799: [[117, 813]], 7800: [[360, 769]], 7801: [[361, 769]], 7802: [[362, 776]], 7803: [[363, 776]], 7804: [[86, 771]], 7805: [[118, 771]], 7806: [[86, 803]], 7807: [[118, 803]], 7808: [[87, 768]], 7809: [[119, 768]], 7810: [[87, 769]], 7811: [[119, 769]], 7812: [[87, 776]], 7813: [[119, 776]], 7814: [[87, 775]], 7815: [[119, 775]], 7816: [[87, 803]], 7817: [[119, 803]], 7818: [[88, 775]], 7819: [[120, 775]], 7820: [[88, 776]], 7821: [[120, 776]], 7822: [[89, 775]], 7823: [[121, 775]], 7824: [[90, 770]], 7825: [[122, 770]], 7826: [[90, 803]], 7827: [[122, 803]], 7828: [[90, 817]], 7829: [[122, 817]], 7830: [[104, 817]], 7831: [[116, 776]], 7832: [[119, 778]], 7833: [[121, 778]], 7834: [[97, 702], 256], 7835: [[383, 775]], 7840: [[65, 803],, { 770: 7852, 774: 7862 }], 7841: [[97, 803],, { 770: 7853, 774: 7863 }], 7842: [[65, 777]], 7843: [[97, 777]], 7844: [[194, 769]], 7845: [[226, 769]], 7846: [[194, 768]], 7847: [[226, 768]], 7848: [[194, 777]], 7849: [[226, 777]], 7850: [[194, 771]], 7851: [[226, 771]], 7852: [[7840, 770]], 7853: [[7841, 770]], 7854: [[258, 769]], 7855: [[259, 769]], 7856: [[258, 768]], 7857: [[259, 768]], 7858: [[258, 777]], 7859: [[259, 777]], 7860: [[258, 771]], 7861: [[259, 771]], 7862: [[7840, 774]], 7863: [[7841, 774]], 7864: [[69, 803],, { 770: 7878 }], 7865: [[101, 803],, { 770: 7879 }], 7866: [[69, 777]], 7867: [[101, 777]], 7868: [[69, 771]], 7869: [[101, 771]], 7870: [[202, 769]], 7871: [[234, 769]], 7872: [[202, 768]], 7873: [[234, 768]], 7874: [[202, 777]], 7875: [[234, 777]], 7876: [[202, 771]], 7877: [[234, 771]], 7878: [[7864, 770]], 7879: [[7865, 770]], 7880: [[73, 777]], 7881: [[105, 777]], 7882: [[73, 803]], 7883: [[105, 803]], 7884: [[79, 803],, { 770: 7896 }], 7885: [[111, 803],, { 770: 7897 }], 7886: [[79, 777]], 7887: [[111, 777]], 7888: [[212, 769]], 7889: [[244, 769]], 7890: [[212, 768]], 7891: [[244, 768]], 7892: [[212, 777]], 7893: [[244, 777]], 7894: [[212, 771]], 7895: [[244, 771]], 7896: [[7884, 770]], 7897: [[7885, 770]], 7898: [[416, 769]], 7899: [[417, 769]], 7900: [[416, 768]], 7901: [[417, 768]], 7902: [[416, 777]], 7903: [[417, 777]], 7904: [[416, 771]], 7905: [[417, 771]], 7906: [[416, 803]], 7907: [[417, 803]], 7908: [[85, 803]], 7909: [[117, 803]], 7910: [[85, 777]], 7911: [[117, 777]], 7912: [[431, 769]], 7913: [[432, 769]], 7914: [[431, 768]], 7915: [[432, 768]], 7916: [[431, 777]], 7917: [[432, 777]], 7918: [[431, 771]], 7919: [[432, 771]], 7920: [[431, 803]], 7921: [[432, 803]], 7922: [[89, 768]], 7923: [[121, 768]], 7924: [[89, 803]], 7925: [[121, 803]], 7926: [[89, 777]], 7927: [[121, 777]], 7928: [[89, 771]], 7929: [[121, 771]] }, + 7936: { 7936: [[945, 787],, { 768: 7938, 769: 7940, 834: 7942, 837: 8064 }], 7937: [[945, 788],, { 768: 7939, 769: 7941, 834: 7943, 837: 8065 }], 7938: [[7936, 768],, { 837: 8066 }], 7939: [[7937, 768],, { 837: 8067 }], 7940: [[7936, 769],, { 837: 8068 }], 7941: [[7937, 769],, { 837: 8069 }], 7942: [[7936, 834],, { 837: 8070 }], 7943: [[7937, 834],, { 837: 8071 }], 7944: [[913, 787],, { 768: 7946, 769: 7948, 834: 7950, 837: 8072 }], 7945: [[913, 788],, { 768: 7947, 769: 7949, 834: 7951, 837: 8073 }], 7946: [[7944, 768],, { 837: 8074 }], 7947: [[7945, 768],, { 837: 8075 }], 7948: [[7944, 769],, { 837: 8076 }], 7949: [[7945, 769],, { 837: 8077 }], 7950: [[7944, 834],, { 837: 8078 }], 7951: [[7945, 834],, { 837: 8079 }], 7952: [[949, 787],, { 768: 7954, 769: 7956 }], 7953: [[949, 788],, { 768: 7955, 769: 7957 }], 7954: [[7952, 768]], 7955: [[7953, 768]], 7956: [[7952, 769]], 7957: [[7953, 769]], 7960: [[917, 787],, { 768: 7962, 769: 7964 }], 7961: [[917, 788],, { 768: 7963, 769: 7965 }], 7962: [[7960, 768]], 7963: [[7961, 768]], 7964: [[7960, 769]], 7965: [[7961, 769]], 7968: [[951, 787],, { 768: 7970, 769: 7972, 834: 7974, 837: 8080 }], 7969: [[951, 788],, { 768: 7971, 769: 7973, 834: 7975, 837: 8081 }], 7970: [[7968, 768],, { 837: 8082 }], 7971: [[7969, 768],, { 837: 8083 }], 7972: [[7968, 769],, { 837: 8084 }], 7973: [[7969, 769],, { 837: 8085 }], 7974: [[7968, 834],, { 837: 8086 }], 7975: [[7969, 834],, { 837: 8087 }], 7976: [[919, 787],, { 768: 7978, 769: 7980, 834: 7982, 837: 8088 }], 7977: [[919, 788],, { 768: 7979, 769: 7981, 834: 7983, 837: 8089 }], 7978: [[7976, 768],, { 837: 8090 }], 7979: [[7977, 768],, { 837: 8091 }], 7980: [[7976, 769],, { 837: 8092 }], 7981: [[7977, 769],, { 837: 8093 }], 7982: [[7976, 834],, { 837: 8094 }], 7983: [[7977, 834],, { 837: 8095 }], 7984: [[953, 787],, { 768: 7986, 769: 7988, 834: 7990 }], 7985: [[953, 788],, { 768: 7987, 769: 7989, 834: 7991 }], 7986: [[7984, 768]], 7987: [[7985, 768]], 7988: [[7984, 769]], 7989: [[7985, 769]], 7990: [[7984, 834]], 7991: [[7985, 834]], 7992: [[921, 787],, { 768: 7994, 769: 7996, 834: 7998 }], 7993: [[921, 788],, { 768: 7995, 769: 7997, 834: 7999 }], 7994: [[7992, 768]], 7995: [[7993, 768]], 7996: [[7992, 769]], 7997: [[7993, 769]], 7998: [[7992, 834]], 7999: [[7993, 834]], 8000: [[959, 787],, { 768: 8002, 769: 8004 }], 8001: [[959, 788],, { 768: 8003, 769: 8005 }], 8002: [[8000, 768]], 8003: [[8001, 768]], 8004: [[8000, 769]], 8005: [[8001, 769]], 8008: [[927, 787],, { 768: 8010, 769: 8012 }], 8009: [[927, 788],, { 768: 8011, 769: 8013 }], 8010: [[8008, 768]], 8011: [[8009, 768]], 8012: [[8008, 769]], 8013: [[8009, 769]], 8016: [[965, 787],, { 768: 8018, 769: 8020, 834: 8022 }], 8017: [[965, 788],, { 768: 8019, 769: 8021, 834: 8023 }], 8018: [[8016, 768]], 8019: [[8017, 768]], 8020: [[8016, 769]], 8021: [[8017, 769]], 8022: [[8016, 834]], 8023: [[8017, 834]], 8025: [[933, 788],, { 768: 8027, 769: 8029, 834: 8031 }], 8027: [[8025, 768]], 8029: [[8025, 769]], 8031: [[8025, 834]], 8032: [[969, 787],, { 768: 8034, 769: 8036, 834: 8038, 837: 8096 }], 8033: [[969, 788],, { 768: 8035, 769: 8037, 834: 8039, 837: 8097 }], 8034: [[8032, 768],, { 837: 8098 }], 8035: [[8033, 768],, { 837: 8099 }], 8036: [[8032, 769],, { 837: 8100 }], 8037: [[8033, 769],, { 837: 8101 }], 8038: [[8032, 834],, { 837: 8102 }], 8039: [[8033, 834],, { 837: 8103 }], 8040: [[937, 787],, { 768: 8042, 769: 8044, 834: 8046, 837: 8104 }], 8041: [[937, 788],, { 768: 8043, 769: 8045, 834: 8047, 837: 8105 }], 8042: [[8040, 768],, { 837: 8106 }], 8043: [[8041, 768],, { 837: 8107 }], 8044: [[8040, 769],, { 837: 8108 }], 8045: [[8041, 769],, { 837: 8109 }], 8046: [[8040, 834],, { 837: 8110 }], 8047: [[8041, 834],, { 837: 8111 }], 8048: [[945, 768],, { 837: 8114 }], 8049: [[940]], 8050: [[949, 768]], 8051: [[941]], 8052: [[951, 768],, { 837: 8130 }], 8053: [[942]], 8054: [[953, 768]], 8055: [[943]], 8056: [[959, 768]], 8057: [[972]], 8058: [[965, 768]], 8059: [[973]], 8060: [[969, 768],, { 837: 8178 }], 8061: [[974]], 8064: [[7936, 837]], 8065: [[7937, 837]], 8066: [[7938, 837]], 8067: [[7939, 837]], 8068: [[7940, 837]], 8069: [[7941, 837]], 8070: [[7942, 837]], 8071: [[7943, 837]], 8072: [[7944, 837]], 8073: [[7945, 837]], 8074: [[7946, 837]], 8075: [[7947, 837]], 8076: [[7948, 837]], 8077: [[7949, 837]], 8078: [[7950, 837]], 8079: [[7951, 837]], 8080: [[7968, 837]], 8081: [[7969, 837]], 8082: [[7970, 837]], 8083: [[7971, 837]], 8084: [[7972, 837]], 8085: [[7973, 837]], 8086: [[7974, 837]], 8087: [[7975, 837]], 8088: [[7976, 837]], 8089: [[7977, 837]], 8090: [[7978, 837]], 8091: [[7979, 837]], 8092: [[7980, 837]], 8093: [[7981, 837]], 8094: [[7982, 837]], 8095: [[7983, 837]], 8096: [[8032, 837]], 8097: [[8033, 837]], 8098: [[8034, 837]], 8099: [[8035, 837]], 8100: [[8036, 837]], 8101: [[8037, 837]], 8102: [[8038, 837]], 8103: [[8039, 837]], 8104: [[8040, 837]], 8105: [[8041, 837]], 8106: [[8042, 837]], 8107: [[8043, 837]], 8108: [[8044, 837]], 8109: [[8045, 837]], 8110: [[8046, 837]], 8111: [[8047, 837]], 8112: [[945, 774]], 8113: [[945, 772]], 8114: [[8048, 837]], 8115: [[945, 837]], 8116: [[940, 837]], 8118: [[945, 834],, { 837: 8119 }], 8119: [[8118, 837]], 8120: [[913, 774]], 8121: [[913, 772]], 8122: [[913, 768]], 8123: [[902]], 8124: [[913, 837]], 8125: [[32, 787], 256], 8126: [[953]], 8127: [[32, 787], 256, { 768: 8141, 769: 8142, 834: 8143 }], 8128: [[32, 834], 256], 8129: [[168, 834]], 8130: [[8052, 837]], 8131: [[951, 837]], 8132: [[942, 837]], 8134: [[951, 834],, { 837: 8135 }], 8135: [[8134, 837]], 8136: [[917, 768]], 8137: [[904]], 8138: [[919, 768]], 8139: [[905]], 8140: [[919, 837]], 8141: [[8127, 768]], 8142: [[8127, 769]], 8143: [[8127, 834]], 8144: [[953, 774]], 8145: [[953, 772]], 8146: [[970, 768]], 8147: [[912]], 8150: [[953, 834]], 8151: [[970, 834]], 8152: [[921, 774]], 8153: [[921, 772]], 8154: [[921, 768]], 8155: [[906]], 8157: [[8190, 768]], 8158: [[8190, 769]], 8159: [[8190, 834]], 8160: [[965, 774]], 8161: [[965, 772]], 8162: [[971, 768]], 8163: [[944]], 8164: [[961, 787]], 8165: [[961, 788]], 8166: [[965, 834]], 8167: [[971, 834]], 8168: [[933, 774]], 8169: [[933, 772]], 8170: [[933, 768]], 8171: [[910]], 8172: [[929, 788]], 8173: [[168, 768]], 8174: [[901]], 8175: [[96]], 8178: [[8060, 837]], 8179: [[969, 837]], 8180: [[974, 837]], 8182: [[969, 834],, { 837: 8183 }], 8183: [[8182, 837]], 8184: [[927, 768]], 8185: [[908]], 8186: [[937, 768]], 8187: [[911]], 8188: [[937, 837]], 8189: [[180]], 8190: [[32, 788], 256, { 768: 8157, 769: 8158, 834: 8159 }] }, + 8192: { 8192: [[8194]], 8193: [[8195]], 8194: [[32], 256], 8195: [[32], 256], 8196: [[32], 256], 8197: [[32], 256], 8198: [[32], 256], 8199: [[32], 256], 8200: [[32], 256], 8201: [[32], 256], 8202: [[32], 256], 8209: [[8208], 256], 8215: [[32, 819], 256], 8228: [[46], 256], 8229: [[46, 46], 256], 8230: [[46, 46, 46], 256], 8239: [[32], 256], 8243: [[8242, 8242], 256], 8244: [[8242, 8242, 8242], 256], 8246: [[8245, 8245], 256], 8247: [[8245, 8245, 8245], 256], 8252: [[33, 33], 256], 8254: [[32, 773], 256], 8263: [[63, 63], 256], 8264: [[63, 33], 256], 8265: [[33, 63], 256], 8279: [[8242, 8242, 8242, 8242], 256], 8287: [[32], 256], 8304: [[48], 256], 8305: [[105], 256], 8308: [[52], 256], 8309: [[53], 256], 8310: [[54], 256], 8311: [[55], 256], 8312: [[56], 256], 8313: [[57], 256], 8314: [[43], 256], 8315: [[8722], 256], 8316: [[61], 256], 8317: [[40], 256], 8318: [[41], 256], 8319: [[110], 256], 8320: [[48], 256], 8321: [[49], 256], 8322: [[50], 256], 8323: [[51], 256], 8324: [[52], 256], 8325: [[53], 256], 8326: [[54], 256], 8327: [[55], 256], 8328: [[56], 256], 8329: [[57], 256], 8330: [[43], 256], 8331: [[8722], 256], 8332: [[61], 256], 8333: [[40], 256], 8334: [[41], 256], 8336: [[97], 256], 8337: [[101], 256], 8338: [[111], 256], 8339: [[120], 256], 8340: [[601], 256], 8341: [[104], 256], 8342: [[107], 256], 8343: [[108], 256], 8344: [[109], 256], 8345: [[110], 256], 8346: [[112], 256], 8347: [[115], 256], 8348: [[116], 256], 8360: [[82, 115], 256], 8400: [, 230], 8401: [, 230], 8402: [, 1], 8403: [, 1], 8404: [, 230], 8405: [, 230], 8406: [, 230], 8407: [, 230], 8408: [, 1], 8409: [, 1], 8410: [, 1], 8411: [, 230], 8412: [, 230], 8417: [, 230], 8421: [, 1], 8422: [, 1], 8423: [, 230], 8424: [, 220], 8425: [, 230], 8426: [, 1], 8427: [, 1], 8428: [, 220], 8429: [, 220], 8430: [, 220], 8431: [, 220], 8432: [, 230] }, + 8448: { 8448: [[97, 47, 99], 256], 8449: [[97, 47, 115], 256], 8450: [[67], 256], 8451: [[176, 67], 256], 8453: [[99, 47, 111], 256], 8454: [[99, 47, 117], 256], 8455: [[400], 256], 8457: [[176, 70], 256], 8458: [[103], 256], 8459: [[72], 256], 8460: [[72], 256], 8461: [[72], 256], 8462: [[104], 256], 8463: [[295], 256], 8464: [[73], 256], 8465: [[73], 256], 8466: [[76], 256], 8467: [[108], 256], 8469: [[78], 256], 8470: [[78, 111], 256], 8473: [[80], 256], 8474: [[81], 256], 8475: [[82], 256], 8476: [[82], 256], 8477: [[82], 256], 8480: [[83, 77], 256], 8481: [[84, 69, 76], 256], 8482: [[84, 77], 256], 8484: [[90], 256], 8486: [[937]], 8488: [[90], 256], 8490: [[75]], 8491: [[197]], 8492: [[66], 256], 8493: [[67], 256], 8495: [[101], 256], 8496: [[69], 256], 8497: [[70], 256], 8499: [[77], 256], 8500: [[111], 256], 8501: [[1488], 256], 8502: [[1489], 256], 8503: [[1490], 256], 8504: [[1491], 256], 8505: [[105], 256], 8507: [[70, 65, 88], 256], 8508: [[960], 256], 8509: [[947], 256], 8510: [[915], 256], 8511: [[928], 256], 8512: [[8721], 256], 8517: [[68], 256], 8518: [[100], 256], 8519: [[101], 256], 8520: [[105], 256], 8521: [[106], 256], 8528: [[49, 8260, 55], 256], 8529: [[49, 8260, 57], 256], 8530: [[49, 8260, 49, 48], 256], 8531: [[49, 8260, 51], 256], 8532: [[50, 8260, 51], 256], 8533: [[49, 8260, 53], 256], 8534: [[50, 8260, 53], 256], 8535: [[51, 8260, 53], 256], 8536: [[52, 8260, 53], 256], 8537: [[49, 8260, 54], 256], 8538: [[53, 8260, 54], 256], 8539: [[49, 8260, 56], 256], 8540: [[51, 8260, 56], 256], 8541: [[53, 8260, 56], 256], 8542: [[55, 8260, 56], 256], 8543: [[49, 8260], 256], 8544: [[73], 256], 8545: [[73, 73], 256], 8546: [[73, 73, 73], 256], 8547: [[73, 86], 256], 8548: [[86], 256], 8549: [[86, 73], 256], 8550: [[86, 73, 73], 256], 8551: [[86, 73, 73, 73], 256], 8552: [[73, 88], 256], 8553: [[88], 256], 8554: [[88, 73], 256], 8555: [[88, 73, 73], 256], 8556: [[76], 256], 8557: [[67], 256], 8558: [[68], 256], 8559: [[77], 256], 8560: [[105], 256], 8561: [[105, 105], 256], 8562: [[105, 105, 105], 256], 8563: [[105, 118], 256], 8564: [[118], 256], 8565: [[118, 105], 256], 8566: [[118, 105, 105], 256], 8567: [[118, 105, 105, 105], 256], 8568: [[105, 120], 256], 8569: [[120], 256], 8570: [[120, 105], 256], 8571: [[120, 105, 105], 256], 8572: [[108], 256], 8573: [[99], 256], 8574: [[100], 256], 8575: [[109], 256], 8585: [[48, 8260, 51], 256], 8592: [,, { 824: 8602 }], 8594: [,, { 824: 8603 }], 8596: [,, { 824: 8622 }], 8602: [[8592, 824]], 8603: [[8594, 824]], 8622: [[8596, 824]], 8653: [[8656, 824]], 8654: [[8660, 824]], 8655: [[8658, 824]], 8656: [,, { 824: 8653 }], 8658: [,, { 824: 8655 }], 8660: [,, { 824: 8654 }] }, + 8704: { 8707: [,, { 824: 8708 }], 8708: [[8707, 824]], 8712: [,, { 824: 8713 }], 8713: [[8712, 824]], 8715: [,, { 824: 8716 }], 8716: [[8715, 824]], 8739: [,, { 824: 8740 }], 8740: [[8739, 824]], 8741: [,, { 824: 8742 }], 8742: [[8741, 824]], 8748: [[8747, 8747], 256], 8749: [[8747, 8747, 8747], 256], 8751: [[8750, 8750], 256], 8752: [[8750, 8750, 8750], 256], 8764: [,, { 824: 8769 }], 8769: [[8764, 824]], 8771: [,, { 824: 8772 }], 8772: [[8771, 824]], 8773: [,, { 824: 8775 }], 8775: [[8773, 824]], 8776: [,, { 824: 8777 }], 8777: [[8776, 824]], 8781: [,, { 824: 8813 }], 8800: [[61, 824]], 8801: [,, { 824: 8802 }], 8802: [[8801, 824]], 8804: [,, { 824: 8816 }], 8805: [,, { 824: 8817 }], 8813: [[8781, 824]], 8814: [[60, 824]], 8815: [[62, 824]], 8816: [[8804, 824]], 8817: [[8805, 824]], 8818: [,, { 824: 8820 }], 8819: [,, { 824: 8821 }], 8820: [[8818, 824]], 8821: [[8819, 824]], 8822: [,, { 824: 8824 }], 8823: [,, { 824: 8825 }], 8824: [[8822, 824]], 8825: [[8823, 824]], 8826: [,, { 824: 8832 }], 8827: [,, { 824: 8833 }], 8828: [,, { 824: 8928 }], 8829: [,, { 824: 8929 }], 8832: [[8826, 824]], 8833: [[8827, 824]], 8834: [,, { 824: 8836 }], 8835: [,, { 824: 8837 }], 8836: [[8834, 824]], 8837: [[8835, 824]], 8838: [,, { 824: 8840 }], 8839: [,, { 824: 8841 }], 8840: [[8838, 824]], 8841: [[8839, 824]], 8849: [,, { 824: 8930 }], 8850: [,, { 824: 8931 }], 8866: [,, { 824: 8876 }], 8872: [,, { 824: 8877 }], 8873: [,, { 824: 8878 }], 8875: [,, { 824: 8879 }], 8876: [[8866, 824]], 8877: [[8872, 824]], 8878: [[8873, 824]], 8879: [[8875, 824]], 8882: [,, { 824: 8938 }], 8883: [,, { 824: 8939 }], 8884: [,, { 824: 8940 }], 8885: [,, { 824: 8941 }], 8928: [[8828, 824]], 8929: [[8829, 824]], 8930: [[8849, 824]], 8931: [[8850, 824]], 8938: [[8882, 824]], 8939: [[8883, 824]], 8940: [[8884, 824]], 8941: [[8885, 824]] }, + 8960: { 9001: [[12296]], 9002: [[12297]] }, + 9216: { 9312: [[49], 256], 9313: [[50], 256], 9314: [[51], 256], 9315: [[52], 256], 9316: [[53], 256], 9317: [[54], 256], 9318: [[55], 256], 9319: [[56], 256], 9320: [[57], 256], 9321: [[49, 48], 256], 9322: [[49, 49], 256], 9323: [[49, 50], 256], 9324: [[49, 51], 256], 9325: [[49, 52], 256], 9326: [[49, 53], 256], 9327: [[49, 54], 256], 9328: [[49, 55], 256], 9329: [[49, 56], 256], 9330: [[49, 57], 256], 9331: [[50, 48], 256], 9332: [[40, 49, 41], 256], 9333: [[40, 50, 41], 256], 9334: [[40, 51, 41], 256], 9335: [[40, 52, 41], 256], 9336: [[40, 53, 41], 256], 9337: [[40, 54, 41], 256], 9338: [[40, 55, 41], 256], 9339: [[40, 56, 41], 256], 9340: [[40, 57, 41], 256], 9341: [[40, 49, 48, 41], 256], 9342: [[40, 49, 49, 41], 256], 9343: [[40, 49, 50, 41], 256], 9344: [[40, 49, 51, 41], 256], 9345: [[40, 49, 52, 41], 256], 9346: [[40, 49, 53, 41], 256], 9347: [[40, 49, 54, 41], 256], 9348: [[40, 49, 55, 41], 256], 9349: [[40, 49, 56, 41], 256], 9350: [[40, 49, 57, 41], 256], 9351: [[40, 50, 48, 41], 256], 9352: [[49, 46], 256], 9353: [[50, 46], 256], 9354: [[51, 46], 256], 9355: [[52, 46], 256], 9356: [[53, 46], 256], 9357: [[54, 46], 256], 9358: [[55, 46], 256], 9359: [[56, 46], 256], 9360: [[57, 46], 256], 9361: [[49, 48, 46], 256], 9362: [[49, 49, 46], 256], 9363: [[49, 50, 46], 256], 9364: [[49, 51, 46], 256], 9365: [[49, 52, 46], 256], 9366: [[49, 53, 46], 256], 9367: [[49, 54, 46], 256], 9368: [[49, 55, 46], 256], 9369: [[49, 56, 46], 256], 9370: [[49, 57, 46], 256], 9371: [[50, 48, 46], 256], 9372: [[40, 97, 41], 256], 9373: [[40, 98, 41], 256], 9374: [[40, 99, 41], 256], 9375: [[40, 100, 41], 256], 9376: [[40, 101, 41], 256], 9377: [[40, 102, 41], 256], 9378: [[40, 103, 41], 256], 9379: [[40, 104, 41], 256], 9380: [[40, 105, 41], 256], 9381: [[40, 106, 41], 256], 9382: [[40, 107, 41], 256], 9383: [[40, 108, 41], 256], 9384: [[40, 109, 41], 256], 9385: [[40, 110, 41], 256], 9386: [[40, 111, 41], 256], 9387: [[40, 112, 41], 256], 9388: [[40, 113, 41], 256], 9389: [[40, 114, 41], 256], 9390: [[40, 115, 41], 256], 9391: [[40, 116, 41], 256], 9392: [[40, 117, 41], 256], 9393: [[40, 118, 41], 256], 9394: [[40, 119, 41], 256], 9395: [[40, 120, 41], 256], 9396: [[40, 121, 41], 256], 9397: [[40, 122, 41], 256], 9398: [[65], 256], 9399: [[66], 256], 9400: [[67], 256], 9401: [[68], 256], 9402: [[69], 256], 9403: [[70], 256], 9404: [[71], 256], 9405: [[72], 256], 9406: [[73], 256], 9407: [[74], 256], 9408: [[75], 256], 9409: [[76], 256], 9410: [[77], 256], 9411: [[78], 256], 9412: [[79], 256], 9413: [[80], 256], 9414: [[81], 256], 9415: [[82], 256], 9416: [[83], 256], 9417: [[84], 256], 9418: [[85], 256], 9419: [[86], 256], 9420: [[87], 256], 9421: [[88], 256], 9422: [[89], 256], 9423: [[90], 256], 9424: [[97], 256], 9425: [[98], 256], 9426: [[99], 256], 9427: [[100], 256], 9428: [[101], 256], 9429: [[102], 256], 9430: [[103], 256], 9431: [[104], 256], 9432: [[105], 256], 9433: [[106], 256], 9434: [[107], 256], 9435: [[108], 256], 9436: [[109], 256], 9437: [[110], 256], 9438: [[111], 256], 9439: [[112], 256], 9440: [[113], 256], 9441: [[114], 256], 9442: [[115], 256], 9443: [[116], 256], 9444: [[117], 256], 9445: [[118], 256], 9446: [[119], 256], 9447: [[120], 256], 9448: [[121], 256], 9449: [[122], 256], 9450: [[48], 256] }, + 10752: { 10764: [[8747, 8747, 8747, 8747], 256], 10868: [[58, 58, 61], 256], 10869: [[61, 61], 256], 10870: [[61, 61, 61], 256], 10972: [[10973, 824], 512] }, + 11264: { 11388: [[106], 256], 11389: [[86], 256], 11503: [, 230], 11504: [, 230], 11505: [, 230] }, + 11520: { 11631: [[11617], 256], 11647: [, 9], 11744: [, 230], 11745: [, 230], 11746: [, 230], 11747: [, 230], 11748: [, 230], 11749: [, 230], 11750: [, 230], 11751: [, 230], 11752: [, 230], 11753: [, 230], 11754: [, 230], 11755: [, 230], 11756: [, 230], 11757: [, 230], 11758: [, 230], 11759: [, 230], 11760: [, 230], 11761: [, 230], 11762: [, 230], 11763: [, 230], 11764: [, 230], 11765: [, 230], 11766: [, 230], 11767: [, 230], 11768: [, 230], 11769: [, 230], 11770: [, 230], 11771: [, 230], 11772: [, 230], 11773: [, 230], 11774: [, 230], 11775: [, 230] }, + 11776: { 11935: [[27597], 256], 12019: [[40863], 256] }, + 12032: { 12032: [[19968], 256], 12033: [[20008], 256], 12034: [[20022], 256], 12035: [[20031], 256], 12036: [[20057], 256], 12037: [[20101], 256], 12038: [[20108], 256], 12039: [[20128], 256], 12040: [[20154], 256], 12041: [[20799], 256], 12042: [[20837], 256], 12043: [[20843], 256], 12044: [[20866], 256], 12045: [[20886], 256], 12046: [[20907], 256], 12047: [[20960], 256], 12048: [[20981], 256], 12049: [[20992], 256], 12050: [[21147], 256], 12051: [[21241], 256], 12052: [[21269], 256], 12053: [[21274], 256], 12054: [[21304], 256], 12055: [[21313], 256], 12056: [[21340], 256], 12057: [[21353], 256], 12058: [[21378], 256], 12059: [[21430], 256], 12060: [[21448], 256], 12061: [[21475], 256], 12062: [[22231], 256], 12063: [[22303], 256], 12064: [[22763], 256], 12065: [[22786], 256], 12066: [[22794], 256], 12067: [[22805], 256], 12068: [[22823], 256], 12069: [[22899], 256], 12070: [[23376], 256], 12071: [[23424], 256], 12072: [[23544], 256], 12073: [[23567], 256], 12074: [[23586], 256], 12075: [[23608], 256], 12076: [[23662], 256], 12077: [[23665], 256], 12078: [[24027], 256], 12079: [[24037], 256], 12080: [[24049], 256], 12081: [[24062], 256], 12082: [[24178], 256], 12083: [[24186], 256], 12084: [[24191], 256], 12085: [[24308], 256], 12086: [[24318], 256], 12087: [[24331], 256], 12088: [[24339], 256], 12089: [[24400], 256], 12090: [[24417], 256], 12091: [[24435], 256], 12092: [[24515], 256], 12093: [[25096], 256], 12094: [[25142], 256], 12095: [[25163], 256], 12096: [[25903], 256], 12097: [[25908], 256], 12098: [[25991], 256], 12099: [[26007], 256], 12100: [[26020], 256], 12101: [[26041], 256], 12102: [[26080], 256], 12103: [[26085], 256], 12104: [[26352], 256], 12105: [[26376], 256], 12106: [[26408], 256], 12107: [[27424], 256], 12108: [[27490], 256], 12109: [[27513], 256], 12110: [[27571], 256], 12111: [[27595], 256], 12112: [[27604], 256], 12113: [[27611], 256], 12114: [[27663], 256], 12115: [[27668], 256], 12116: [[27700], 256], 12117: [[28779], 256], 12118: [[29226], 256], 12119: [[29238], 256], 12120: [[29243], 256], 12121: [[29247], 256], 12122: [[29255], 256], 12123: [[29273], 256], 12124: [[29275], 256], 12125: [[29356], 256], 12126: [[29572], 256], 12127: [[29577], 256], 12128: [[29916], 256], 12129: [[29926], 256], 12130: [[29976], 256], 12131: [[29983], 256], 12132: [[29992], 256], 12133: [[30000], 256], 12134: [[30091], 256], 12135: [[30098], 256], 12136: [[30326], 256], 12137: [[30333], 256], 12138: [[30382], 256], 12139: [[30399], 256], 12140: [[30446], 256], 12141: [[30683], 256], 12142: [[30690], 256], 12143: [[30707], 256], 12144: [[31034], 256], 12145: [[31160], 256], 12146: [[31166], 256], 12147: [[31348], 256], 12148: [[31435], 256], 12149: [[31481], 256], 12150: [[31859], 256], 12151: [[31992], 256], 12152: [[32566], 256], 12153: [[32593], 256], 12154: [[32650], 256], 12155: [[32701], 256], 12156: [[32769], 256], 12157: [[32780], 256], 12158: [[32786], 256], 12159: [[32819], 256], 12160: [[32895], 256], 12161: [[32905], 256], 12162: [[33251], 256], 12163: [[33258], 256], 12164: [[33267], 256], 12165: [[33276], 256], 12166: [[33292], 256], 12167: [[33307], 256], 12168: [[33311], 256], 12169: [[33390], 256], 12170: [[33394], 256], 12171: [[33400], 256], 12172: [[34381], 256], 12173: [[34411], 256], 12174: [[34880], 256], 12175: [[34892], 256], 12176: [[34915], 256], 12177: [[35198], 256], 12178: [[35211], 256], 12179: [[35282], 256], 12180: [[35328], 256], 12181: [[35895], 256], 12182: [[35910], 256], 12183: [[35925], 256], 12184: [[35960], 256], 12185: [[35997], 256], 12186: [[36196], 256], 12187: [[36208], 256], 12188: [[36275], 256], 12189: [[36523], 256], 12190: [[36554], 256], 12191: [[36763], 256], 12192: [[36784], 256], 12193: [[36789], 256], 12194: [[37009], 256], 12195: [[37193], 256], 12196: [[37318], 256], 12197: [[37324], 256], 12198: [[37329], 256], 12199: [[38263], 256], 12200: [[38272], 256], 12201: [[38428], 256], 12202: [[38582], 256], 12203: [[38585], 256], 12204: [[38632], 256], 12205: [[38737], 256], 12206: [[38750], 256], 12207: [[38754], 256], 12208: [[38761], 256], 12209: [[38859], 256], 12210: [[38893], 256], 12211: [[38899], 256], 12212: [[38913], 256], 12213: [[39080], 256], 12214: [[39131], 256], 12215: [[39135], 256], 12216: [[39318], 256], 12217: [[39321], 256], 12218: [[39340], 256], 12219: [[39592], 256], 12220: [[39640], 256], 12221: [[39647], 256], 12222: [[39717], 256], 12223: [[39727], 256], 12224: [[39730], 256], 12225: [[39740], 256], 12226: [[39770], 256], 12227: [[40165], 256], 12228: [[40565], 256], 12229: [[40575], 256], 12230: [[40613], 256], 12231: [[40635], 256], 12232: [[40643], 256], 12233: [[40653], 256], 12234: [[40657], 256], 12235: [[40697], 256], 12236: [[40701], 256], 12237: [[40718], 256], 12238: [[40723], 256], 12239: [[40736], 256], 12240: [[40763], 256], 12241: [[40778], 256], 12242: [[40786], 256], 12243: [[40845], 256], 12244: [[40860], 256], 12245: [[40864], 256] }, + 12288: { 12288: [[32], 256], 12330: [, 218], 12331: [, 228], 12332: [, 232], 12333: [, 222], 12334: [, 224], 12335: [, 224], 12342: [[12306], 256], 12344: [[21313], 256], 12345: [[21316], 256], 12346: [[21317], 256], 12358: [,, { 12441: 12436 }], 12363: [,, { 12441: 12364 }], 12364: [[12363, 12441]], 12365: [,, { 12441: 12366 }], 12366: [[12365, 12441]], 12367: [,, { 12441: 12368 }], 12368: [[12367, 12441]], 12369: [,, { 12441: 12370 }], 12370: [[12369, 12441]], 12371: [,, { 12441: 12372 }], 12372: [[12371, 12441]], 12373: [,, { 12441: 12374 }], 12374: [[12373, 12441]], 12375: [,, { 12441: 12376 }], 12376: [[12375, 12441]], 12377: [,, { 12441: 12378 }], 12378: [[12377, 12441]], 12379: [,, { 12441: 12380 }], 12380: [[12379, 12441]], 12381: [,, { 12441: 12382 }], 12382: [[12381, 12441]], 12383: [,, { 12441: 12384 }], 12384: [[12383, 12441]], 12385: [,, { 12441: 12386 }], 12386: [[12385, 12441]], 12388: [,, { 12441: 12389 }], 12389: [[12388, 12441]], 12390: [,, { 12441: 12391 }], 12391: [[12390, 12441]], 12392: [,, { 12441: 12393 }], 12393: [[12392, 12441]], 12399: [,, { 12441: 12400, 12442: 12401 }], 12400: [[12399, 12441]], 12401: [[12399, 12442]], 12402: [,, { 12441: 12403, 12442: 12404 }], 12403: [[12402, 12441]], 12404: [[12402, 12442]], 12405: [,, { 12441: 12406, 12442: 12407 }], 12406: [[12405, 12441]], 12407: [[12405, 12442]], 12408: [,, { 12441: 12409, 12442: 12410 }], 12409: [[12408, 12441]], 12410: [[12408, 12442]], 12411: [,, { 12441: 12412, 12442: 12413 }], 12412: [[12411, 12441]], 12413: [[12411, 12442]], 12436: [[12358, 12441]], 12441: [, 8], 12442: [, 8], 12443: [[32, 12441], 256], 12444: [[32, 12442], 256], 12445: [,, { 12441: 12446 }], 12446: [[12445, 12441]], 12447: [[12424, 12426], 256], 12454: [,, { 12441: 12532 }], 12459: [,, { 12441: 12460 }], 12460: [[12459, 12441]], 12461: [,, { 12441: 12462 }], 12462: [[12461, 12441]], 12463: [,, { 12441: 12464 }], 12464: [[12463, 12441]], 12465: [,, { 12441: 12466 }], 12466: [[12465, 12441]], 12467: [,, { 12441: 12468 }], 12468: [[12467, 12441]], 12469: [,, { 12441: 12470 }], 12470: [[12469, 12441]], 12471: [,, { 12441: 12472 }], 12472: [[12471, 12441]], 12473: [,, { 12441: 12474 }], 12474: [[12473, 12441]], 12475: [,, { 12441: 12476 }], 12476: [[12475, 12441]], 12477: [,, { 12441: 12478 }], 12478: [[12477, 12441]], 12479: [,, { 12441: 12480 }], 12480: [[12479, 12441]], 12481: [,, { 12441: 12482 }], 12482: [[12481, 12441]], 12484: [,, { 12441: 12485 }], 12485: [[12484, 12441]], 12486: [,, { 12441: 12487 }], 12487: [[12486, 12441]], 12488: [,, { 12441: 12489 }], 12489: [[12488, 12441]], 12495: [,, { 12441: 12496, 12442: 12497 }], 12496: [[12495, 12441]], 12497: [[12495, 12442]], 12498: [,, { 12441: 12499, 12442: 12500 }], 12499: [[12498, 12441]], 12500: [[12498, 12442]], 12501: [,, { 12441: 12502, 12442: 12503 }], 12502: [[12501, 12441]], 12503: [[12501, 12442]], 12504: [,, { 12441: 12505, 12442: 12506 }], 12505: [[12504, 12441]], 12506: [[12504, 12442]], 12507: [,, { 12441: 12508, 12442: 12509 }], 12508: [[12507, 12441]], 12509: [[12507, 12442]], 12527: [,, { 12441: 12535 }], 12528: [,, { 12441: 12536 }], 12529: [,, { 12441: 12537 }], 12530: [,, { 12441: 12538 }], 12532: [[12454, 12441]], 12535: [[12527, 12441]], 12536: [[12528, 12441]], 12537: [[12529, 12441]], 12538: [[12530, 12441]], 12541: [,, { 12441: 12542 }], 12542: [[12541, 12441]], 12543: [[12467, 12488], 256] }, + 12544: { 12593: [[4352], 256], 12594: [[4353], 256], 12595: [[4522], 256], 12596: [[4354], 256], 12597: [[4524], 256], 12598: [[4525], 256], 12599: [[4355], 256], 12600: [[4356], 256], 12601: [[4357], 256], 12602: [[4528], 256], 12603: [[4529], 256], 12604: [[4530], 256], 12605: [[4531], 256], 12606: [[4532], 256], 12607: [[4533], 256], 12608: [[4378], 256], 12609: [[4358], 256], 12610: [[4359], 256], 12611: [[4360], 256], 12612: [[4385], 256], 12613: [[4361], 256], 12614: [[4362], 256], 12615: [[4363], 256], 12616: [[4364], 256], 12617: [[4365], 256], 12618: [[4366], 256], 12619: [[4367], 256], 12620: [[4368], 256], 12621: [[4369], 256], 12622: [[4370], 256], 12623: [[4449], 256], 12624: [[4450], 256], 12625: [[4451], 256], 12626: [[4452], 256], 12627: [[4453], 256], 12628: [[4454], 256], 12629: [[4455], 256], 12630: [[4456], 256], 12631: [[4457], 256], 12632: [[4458], 256], 12633: [[4459], 256], 12634: [[4460], 256], 12635: [[4461], 256], 12636: [[4462], 256], 12637: [[4463], 256], 12638: [[4464], 256], 12639: [[4465], 256], 12640: [[4466], 256], 12641: [[4467], 256], 12642: [[4468], 256], 12643: [[4469], 256], 12644: [[4448], 256], 12645: [[4372], 256], 12646: [[4373], 256], 12647: [[4551], 256], 12648: [[4552], 256], 12649: [[4556], 256], 12650: [[4558], 256], 12651: [[4563], 256], 12652: [[4567], 256], 12653: [[4569], 256], 12654: [[4380], 256], 12655: [[4573], 256], 12656: [[4575], 256], 12657: [[4381], 256], 12658: [[4382], 256], 12659: [[4384], 256], 12660: [[4386], 256], 12661: [[4387], 256], 12662: [[4391], 256], 12663: [[4393], 256], 12664: [[4395], 256], 12665: [[4396], 256], 12666: [[4397], 256], 12667: [[4398], 256], 12668: [[4399], 256], 12669: [[4402], 256], 12670: [[4406], 256], 12671: [[4416], 256], 12672: [[4423], 256], 12673: [[4428], 256], 12674: [[4593], 256], 12675: [[4594], 256], 12676: [[4439], 256], 12677: [[4440], 256], 12678: [[4441], 256], 12679: [[4484], 256], 12680: [[4485], 256], 12681: [[4488], 256], 12682: [[4497], 256], 12683: [[4498], 256], 12684: [[4500], 256], 12685: [[4510], 256], 12686: [[4513], 256], 12690: [[19968], 256], 12691: [[20108], 256], 12692: [[19977], 256], 12693: [[22235], 256], 12694: [[19978], 256], 12695: [[20013], 256], 12696: [[19979], 256], 12697: [[30002], 256], 12698: [[20057], 256], 12699: [[19993], 256], 12700: [[19969], 256], 12701: [[22825], 256], 12702: [[22320], 256], 12703: [[20154], 256] }, + 12800: { 12800: [[40, 4352, 41], 256], 12801: [[40, 4354, 41], 256], 12802: [[40, 4355, 41], 256], 12803: [[40, 4357, 41], 256], 12804: [[40, 4358, 41], 256], 12805: [[40, 4359, 41], 256], 12806: [[40, 4361, 41], 256], 12807: [[40, 4363, 41], 256], 12808: [[40, 4364, 41], 256], 12809: [[40, 4366, 41], 256], 12810: [[40, 4367, 41], 256], 12811: [[40, 4368, 41], 256], 12812: [[40, 4369, 41], 256], 12813: [[40, 4370, 41], 256], 12814: [[40, 4352, 4449, 41], 256], 12815: [[40, 4354, 4449, 41], 256], 12816: [[40, 4355, 4449, 41], 256], 12817: [[40, 4357, 4449, 41], 256], 12818: [[40, 4358, 4449, 41], 256], 12819: [[40, 4359, 4449, 41], 256], 12820: [[40, 4361, 4449, 41], 256], 12821: [[40, 4363, 4449, 41], 256], 12822: [[40, 4364, 4449, 41], 256], 12823: [[40, 4366, 4449, 41], 256], 12824: [[40, 4367, 4449, 41], 256], 12825: [[40, 4368, 4449, 41], 256], 12826: [[40, 4369, 4449, 41], 256], 12827: [[40, 4370, 4449, 41], 256], 12828: [[40, 4364, 4462, 41], 256], 12829: [[40, 4363, 4457, 4364, 4453, 4523, 41], 256], 12830: [[40, 4363, 4457, 4370, 4462, 41], 256], 12832: [[40, 19968, 41], 256], 12833: [[40, 20108, 41], 256], 12834: [[40, 19977, 41], 256], 12835: [[40, 22235, 41], 256], 12836: [[40, 20116, 41], 256], 12837: [[40, 20845, 41], 256], 12838: [[40, 19971, 41], 256], 12839: [[40, 20843, 41], 256], 12840: [[40, 20061, 41], 256], 12841: [[40, 21313, 41], 256], 12842: [[40, 26376, 41], 256], 12843: [[40, 28779, 41], 256], 12844: [[40, 27700, 41], 256], 12845: [[40, 26408, 41], 256], 12846: [[40, 37329, 41], 256], 12847: [[40, 22303, 41], 256], 12848: [[40, 26085, 41], 256], 12849: [[40, 26666, 41], 256], 12850: [[40, 26377, 41], 256], 12851: [[40, 31038, 41], 256], 12852: [[40, 21517, 41], 256], 12853: [[40, 29305, 41], 256], 12854: [[40, 36001, 41], 256], 12855: [[40, 31069, 41], 256], 12856: [[40, 21172, 41], 256], 12857: [[40, 20195, 41], 256], 12858: [[40, 21628, 41], 256], 12859: [[40, 23398, 41], 256], 12860: [[40, 30435, 41], 256], 12861: [[40, 20225, 41], 256], 12862: [[40, 36039, 41], 256], 12863: [[40, 21332, 41], 256], 12864: [[40, 31085, 41], 256], 12865: [[40, 20241, 41], 256], 12866: [[40, 33258, 41], 256], 12867: [[40, 33267, 41], 256], 12868: [[21839], 256], 12869: [[24188], 256], 12870: [[25991], 256], 12871: [[31631], 256], 12880: [[80, 84, 69], 256], 12881: [[50, 49], 256], 12882: [[50, 50], 256], 12883: [[50, 51], 256], 12884: [[50, 52], 256], 12885: [[50, 53], 256], 12886: [[50, 54], 256], 12887: [[50, 55], 256], 12888: [[50, 56], 256], 12889: [[50, 57], 256], 12890: [[51, 48], 256], 12891: [[51, 49], 256], 12892: [[51, 50], 256], 12893: [[51, 51], 256], 12894: [[51, 52], 256], 12895: [[51, 53], 256], 12896: [[4352], 256], 12897: [[4354], 256], 12898: [[4355], 256], 12899: [[4357], 256], 12900: [[4358], 256], 12901: [[4359], 256], 12902: [[4361], 256], 12903: [[4363], 256], 12904: [[4364], 256], 12905: [[4366], 256], 12906: [[4367], 256], 12907: [[4368], 256], 12908: [[4369], 256], 12909: [[4370], 256], 12910: [[4352, 4449], 256], 12911: [[4354, 4449], 256], 12912: [[4355, 4449], 256], 12913: [[4357, 4449], 256], 12914: [[4358, 4449], 256], 12915: [[4359, 4449], 256], 12916: [[4361, 4449], 256], 12917: [[4363, 4449], 256], 12918: [[4364, 4449], 256], 12919: [[4366, 4449], 256], 12920: [[4367, 4449], 256], 12921: [[4368, 4449], 256], 12922: [[4369, 4449], 256], 12923: [[4370, 4449], 256], 12924: [[4366, 4449, 4535, 4352, 4457], 256], 12925: [[4364, 4462, 4363, 4468], 256], 12926: [[4363, 4462], 256], 12928: [[19968], 256], 12929: [[20108], 256], 12930: [[19977], 256], 12931: [[22235], 256], 12932: [[20116], 256], 12933: [[20845], 256], 12934: [[19971], 256], 12935: [[20843], 256], 12936: [[20061], 256], 12937: [[21313], 256], 12938: [[26376], 256], 12939: [[28779], 256], 12940: [[27700], 256], 12941: [[26408], 256], 12942: [[37329], 256], 12943: [[22303], 256], 12944: [[26085], 256], 12945: [[26666], 256], 12946: [[26377], 256], 12947: [[31038], 256], 12948: [[21517], 256], 12949: [[29305], 256], 12950: [[36001], 256], 12951: [[31069], 256], 12952: [[21172], 256], 12953: [[31192], 256], 12954: [[30007], 256], 12955: [[22899], 256], 12956: [[36969], 256], 12957: [[20778], 256], 12958: [[21360], 256], 12959: [[27880], 256], 12960: [[38917], 256], 12961: [[20241], 256], 12962: [[20889], 256], 12963: [[27491], 256], 12964: [[19978], 256], 12965: [[20013], 256], 12966: [[19979], 256], 12967: [[24038], 256], 12968: [[21491], 256], 12969: [[21307], 256], 12970: [[23447], 256], 12971: [[23398], 256], 12972: [[30435], 256], 12973: [[20225], 256], 12974: [[36039], 256], 12975: [[21332], 256], 12976: [[22812], 256], 12977: [[51, 54], 256], 12978: [[51, 55], 256], 12979: [[51, 56], 256], 12980: [[51, 57], 256], 12981: [[52, 48], 256], 12982: [[52, 49], 256], 12983: [[52, 50], 256], 12984: [[52, 51], 256], 12985: [[52, 52], 256], 12986: [[52, 53], 256], 12987: [[52, 54], 256], 12988: [[52, 55], 256], 12989: [[52, 56], 256], 12990: [[52, 57], 256], 12991: [[53, 48], 256], 12992: [[49, 26376], 256], 12993: [[50, 26376], 256], 12994: [[51, 26376], 256], 12995: [[52, 26376], 256], 12996: [[53, 26376], 256], 12997: [[54, 26376], 256], 12998: [[55, 26376], 256], 12999: [[56, 26376], 256], 13000: [[57, 26376], 256], 13001: [[49, 48, 26376], 256], 13002: [[49, 49, 26376], 256], 13003: [[49, 50, 26376], 256], 13004: [[72, 103], 256], 13005: [[101, 114, 103], 256], 13006: [[101, 86], 256], 13007: [[76, 84, 68], 256], 13008: [[12450], 256], 13009: [[12452], 256], 13010: [[12454], 256], 13011: [[12456], 256], 13012: [[12458], 256], 13013: [[12459], 256], 13014: [[12461], 256], 13015: [[12463], 256], 13016: [[12465], 256], 13017: [[12467], 256], 13018: [[12469], 256], 13019: [[12471], 256], 13020: [[12473], 256], 13021: [[12475], 256], 13022: [[12477], 256], 13023: [[12479], 256], 13024: [[12481], 256], 13025: [[12484], 256], 13026: [[12486], 256], 13027: [[12488], 256], 13028: [[12490], 256], 13029: [[12491], 256], 13030: [[12492], 256], 13031: [[12493], 256], 13032: [[12494], 256], 13033: [[12495], 256], 13034: [[12498], 256], 13035: [[12501], 256], 13036: [[12504], 256], 13037: [[12507], 256], 13038: [[12510], 256], 13039: [[12511], 256], 13040: [[12512], 256], 13041: [[12513], 256], 13042: [[12514], 256], 13043: [[12516], 256], 13044: [[12518], 256], 13045: [[12520], 256], 13046: [[12521], 256], 13047: [[12522], 256], 13048: [[12523], 256], 13049: [[12524], 256], 13050: [[12525], 256], 13051: [[12527], 256], 13052: [[12528], 256], 13053: [[12529], 256], 13054: [[12530], 256] }, + 13056: { 13056: [[12450, 12497, 12540, 12488], 256], 13057: [[12450, 12523, 12501, 12449], 256], 13058: [[12450, 12531, 12506, 12450], 256], 13059: [[12450, 12540, 12523], 256], 13060: [[12452, 12491, 12531, 12464], 256], 13061: [[12452, 12531, 12481], 256], 13062: [[12454, 12457, 12531], 256], 13063: [[12456, 12473, 12463, 12540, 12489], 256], 13064: [[12456, 12540, 12459, 12540], 256], 13065: [[12458, 12531, 12473], 256], 13066: [[12458, 12540, 12512], 256], 13067: [[12459, 12452, 12522], 256], 13068: [[12459, 12521, 12483, 12488], 256], 13069: [[12459, 12525, 12522, 12540], 256], 13070: [[12460, 12525, 12531], 256], 13071: [[12460, 12531, 12510], 256], 13072: [[12462, 12460], 256], 13073: [[12462, 12491, 12540], 256], 13074: [[12461, 12517, 12522, 12540], 256], 13075: [[12462, 12523, 12480, 12540], 256], 13076: [[12461, 12525], 256], 13077: [[12461, 12525, 12464, 12521, 12512], 256], 13078: [[12461, 12525, 12513, 12540, 12488, 12523], 256], 13079: [[12461, 12525, 12527, 12483, 12488], 256], 13080: [[12464, 12521, 12512], 256], 13081: [[12464, 12521, 12512, 12488, 12531], 256], 13082: [[12463, 12523, 12476, 12452, 12525], 256], 13083: [[12463, 12525, 12540, 12493], 256], 13084: [[12465, 12540, 12473], 256], 13085: [[12467, 12523, 12490], 256], 13086: [[12467, 12540, 12509], 256], 13087: [[12469, 12452, 12463, 12523], 256], 13088: [[12469, 12531, 12481, 12540, 12512], 256], 13089: [[12471, 12522, 12531, 12464], 256], 13090: [[12475, 12531, 12481], 256], 13091: [[12475, 12531, 12488], 256], 13092: [[12480, 12540, 12473], 256], 13093: [[12487, 12471], 256], 13094: [[12489, 12523], 256], 13095: [[12488, 12531], 256], 13096: [[12490, 12494], 256], 13097: [[12494, 12483, 12488], 256], 13098: [[12495, 12452, 12484], 256], 13099: [[12497, 12540, 12475, 12531, 12488], 256], 13100: [[12497, 12540, 12484], 256], 13101: [[12496, 12540, 12524, 12523], 256], 13102: [[12500, 12450, 12473, 12488, 12523], 256], 13103: [[12500, 12463, 12523], 256], 13104: [[12500, 12467], 256], 13105: [[12499, 12523], 256], 13106: [[12501, 12449, 12521, 12483, 12489], 256], 13107: [[12501, 12451, 12540, 12488], 256], 13108: [[12502, 12483, 12471, 12455, 12523], 256], 13109: [[12501, 12521, 12531], 256], 13110: [[12504, 12463, 12479, 12540, 12523], 256], 13111: [[12506, 12477], 256], 13112: [[12506, 12491, 12498], 256], 13113: [[12504, 12523, 12484], 256], 13114: [[12506, 12531, 12473], 256], 13115: [[12506, 12540, 12472], 256], 13116: [[12505, 12540, 12479], 256], 13117: [[12509, 12452, 12531, 12488], 256], 13118: [[12508, 12523, 12488], 256], 13119: [[12507, 12531], 256], 13120: [[12509, 12531, 12489], 256], 13121: [[12507, 12540, 12523], 256], 13122: [[12507, 12540, 12531], 256], 13123: [[12510, 12452, 12463, 12525], 256], 13124: [[12510, 12452, 12523], 256], 13125: [[12510, 12483, 12495], 256], 13126: [[12510, 12523, 12463], 256], 13127: [[12510, 12531, 12471, 12519, 12531], 256], 13128: [[12511, 12463, 12525, 12531], 256], 13129: [[12511, 12522], 256], 13130: [[12511, 12522, 12496, 12540, 12523], 256], 13131: [[12513, 12460], 256], 13132: [[12513, 12460, 12488, 12531], 256], 13133: [[12513, 12540, 12488, 12523], 256], 13134: [[12516, 12540, 12489], 256], 13135: [[12516, 12540, 12523], 256], 13136: [[12518, 12450, 12531], 256], 13137: [[12522, 12483, 12488, 12523], 256], 13138: [[12522, 12521], 256], 13139: [[12523, 12500, 12540], 256], 13140: [[12523, 12540, 12502, 12523], 256], 13141: [[12524, 12512], 256], 13142: [[12524, 12531, 12488, 12466, 12531], 256], 13143: [[12527, 12483, 12488], 256], 13144: [[48, 28857], 256], 13145: [[49, 28857], 256], 13146: [[50, 28857], 256], 13147: [[51, 28857], 256], 13148: [[52, 28857], 256], 13149: [[53, 28857], 256], 13150: [[54, 28857], 256], 13151: [[55, 28857], 256], 13152: [[56, 28857], 256], 13153: [[57, 28857], 256], 13154: [[49, 48, 28857], 256], 13155: [[49, 49, 28857], 256], 13156: [[49, 50, 28857], 256], 13157: [[49, 51, 28857], 256], 13158: [[49, 52, 28857], 256], 13159: [[49, 53, 28857], 256], 13160: [[49, 54, 28857], 256], 13161: [[49, 55, 28857], 256], 13162: [[49, 56, 28857], 256], 13163: [[49, 57, 28857], 256], 13164: [[50, 48, 28857], 256], 13165: [[50, 49, 28857], 256], 13166: [[50, 50, 28857], 256], 13167: [[50, 51, 28857], 256], 13168: [[50, 52, 28857], 256], 13169: [[104, 80, 97], 256], 13170: [[100, 97], 256], 13171: [[65, 85], 256], 13172: [[98, 97, 114], 256], 13173: [[111, 86], 256], 13174: [[112, 99], 256], 13175: [[100, 109], 256], 13176: [[100, 109, 178], 256], 13177: [[100, 109, 179], 256], 13178: [[73, 85], 256], 13179: [[24179, 25104], 256], 13180: [[26157, 21644], 256], 13181: [[22823, 27491], 256], 13182: [[26126, 27835], 256], 13183: [[26666, 24335, 20250, 31038], 256], 13184: [[112, 65], 256], 13185: [[110, 65], 256], 13186: [[956, 65], 256], 13187: [[109, 65], 256], 13188: [[107, 65], 256], 13189: [[75, 66], 256], 13190: [[77, 66], 256], 13191: [[71, 66], 256], 13192: [[99, 97, 108], 256], 13193: [[107, 99, 97, 108], 256], 13194: [[112, 70], 256], 13195: [[110, 70], 256], 13196: [[956, 70], 256], 13197: [[956, 103], 256], 13198: [[109, 103], 256], 13199: [[107, 103], 256], 13200: [[72, 122], 256], 13201: [[107, 72, 122], 256], 13202: [[77, 72, 122], 256], 13203: [[71, 72, 122], 256], 13204: [[84, 72, 122], 256], 13205: [[956, 8467], 256], 13206: [[109, 8467], 256], 13207: [[100, 8467], 256], 13208: [[107, 8467], 256], 13209: [[102, 109], 256], 13210: [[110, 109], 256], 13211: [[956, 109], 256], 13212: [[109, 109], 256], 13213: [[99, 109], 256], 13214: [[107, 109], 256], 13215: [[109, 109, 178], 256], 13216: [[99, 109, 178], 256], 13217: [[109, 178], 256], 13218: [[107, 109, 178], 256], 13219: [[109, 109, 179], 256], 13220: [[99, 109, 179], 256], 13221: [[109, 179], 256], 13222: [[107, 109, 179], 256], 13223: [[109, 8725, 115], 256], 13224: [[109, 8725, 115, 178], 256], 13225: [[80, 97], 256], 13226: [[107, 80, 97], 256], 13227: [[77, 80, 97], 256], 13228: [[71, 80, 97], 256], 13229: [[114, 97, 100], 256], 13230: [[114, 97, 100, 8725, 115], 256], 13231: [[114, 97, 100, 8725, 115, 178], 256], 13232: [[112, 115], 256], 13233: [[110, 115], 256], 13234: [[956, 115], 256], 13235: [[109, 115], 256], 13236: [[112, 86], 256], 13237: [[110, 86], 256], 13238: [[956, 86], 256], 13239: [[109, 86], 256], 13240: [[107, 86], 256], 13241: [[77, 86], 256], 13242: [[112, 87], 256], 13243: [[110, 87], 256], 13244: [[956, 87], 256], 13245: [[109, 87], 256], 13246: [[107, 87], 256], 13247: [[77, 87], 256], 13248: [[107, 937], 256], 13249: [[77, 937], 256], 13250: [[97, 46, 109, 46], 256], 13251: [[66, 113], 256], 13252: [[99, 99], 256], 13253: [[99, 100], 256], 13254: [[67, 8725, 107, 103], 256], 13255: [[67, 111, 46], 256], 13256: [[100, 66], 256], 13257: [[71, 121], 256], 13258: [[104, 97], 256], 13259: [[72, 80], 256], 13260: [[105, 110], 256], 13261: [[75, 75], 256], 13262: [[75, 77], 256], 13263: [[107, 116], 256], 13264: [[108, 109], 256], 13265: [[108, 110], 256], 13266: [[108, 111, 103], 256], 13267: [[108, 120], 256], 13268: [[109, 98], 256], 13269: [[109, 105, 108], 256], 13270: [[109, 111, 108], 256], 13271: [[80, 72], 256], 13272: [[112, 46, 109, 46], 256], 13273: [[80, 80, 77], 256], 13274: [[80, 82], 256], 13275: [[115, 114], 256], 13276: [[83, 118], 256], 13277: [[87, 98], 256], 13278: [[86, 8725, 109], 256], 13279: [[65, 8725, 109], 256], 13280: [[49, 26085], 256], 13281: [[50, 26085], 256], 13282: [[51, 26085], 256], 13283: [[52, 26085], 256], 13284: [[53, 26085], 256], 13285: [[54, 26085], 256], 13286: [[55, 26085], 256], 13287: [[56, 26085], 256], 13288: [[57, 26085], 256], 13289: [[49, 48, 26085], 256], 13290: [[49, 49, 26085], 256], 13291: [[49, 50, 26085], 256], 13292: [[49, 51, 26085], 256], 13293: [[49, 52, 26085], 256], 13294: [[49, 53, 26085], 256], 13295: [[49, 54, 26085], 256], 13296: [[49, 55, 26085], 256], 13297: [[49, 56, 26085], 256], 13298: [[49, 57, 26085], 256], 13299: [[50, 48, 26085], 256], 13300: [[50, 49, 26085], 256], 13301: [[50, 50, 26085], 256], 13302: [[50, 51, 26085], 256], 13303: [[50, 52, 26085], 256], 13304: [[50, 53, 26085], 256], 13305: [[50, 54, 26085], 256], 13306: [[50, 55, 26085], 256], 13307: [[50, 56, 26085], 256], 13308: [[50, 57, 26085], 256], 13309: [[51, 48, 26085], 256], 13310: [[51, 49, 26085], 256], 13311: [[103, 97, 108], 256] }, + 27136: { 92912: [, 1], 92913: [, 1], 92914: [, 1], 92915: [, 1], 92916: [, 1] }, + 27392: { 92976: [, 230], 92977: [, 230], 92978: [, 230], 92979: [, 230], 92980: [, 230], 92981: [, 230], 92982: [, 230] }, + 42496: { 42607: [, 230], 42612: [, 230], 42613: [, 230], 42614: [, 230], 42615: [, 230], 42616: [, 230], 42617: [, 230], 42618: [, 230], 42619: [, 230], 42620: [, 230], 42621: [, 230], 42652: [[1098], 256], 42653: [[1100], 256], 42655: [, 230], 42736: [, 230], 42737: [, 230] }, + 42752: { 42864: [[42863], 256], 43000: [[294], 256], 43001: [[339], 256] }, + 43008: { 43014: [, 9], 43204: [, 9], 43232: [, 230], 43233: [, 230], 43234: [, 230], 43235: [, 230], 43236: [, 230], 43237: [, 230], 43238: [, 230], 43239: [, 230], 43240: [, 230], 43241: [, 230], 43242: [, 230], 43243: [, 230], 43244: [, 230], 43245: [, 230], 43246: [, 230], 43247: [, 230], 43248: [, 230], 43249: [, 230] }, + 43264: { 43307: [, 220], 43308: [, 220], 43309: [, 220], 43347: [, 9], 43443: [, 7], 43456: [, 9] }, + 43520: { 43696: [, 230], 43698: [, 230], 43699: [, 230], 43700: [, 220], 43703: [, 230], 43704: [, 230], 43710: [, 230], 43711: [, 230], 43713: [, 230], 43766: [, 9] }, + 43776: { 43868: [[42791], 256], 43869: [[43831], 256], 43870: [[619], 256], 43871: [[43858], 256], 44013: [, 9] }, + 48128: { 113822: [, 1] }, + 53504: { 119134: [[119127, 119141], 512], 119135: [[119128, 119141], 512], 119136: [[119135, 119150], 512], 119137: [[119135, 119151], 512], 119138: [[119135, 119152], 512], 119139: [[119135, 119153], 512], 119140: [[119135, 119154], 512], 119141: [, 216], 119142: [, 216], 119143: [, 1], 119144: [, 1], 119145: [, 1], 119149: [, 226], 119150: [, 216], 119151: [, 216], 119152: [, 216], 119153: [, 216], 119154: [, 216], 119163: [, 220], 119164: [, 220], 119165: [, 220], 119166: [, 220], 119167: [, 220], 119168: [, 220], 119169: [, 220], 119170: [, 220], 119173: [, 230], 119174: [, 230], 119175: [, 230], 119176: [, 230], 119177: [, 230], 119178: [, 220], 119179: [, 220], 119210: [, 230], 119211: [, 230], 119212: [, 230], 119213: [, 230], 119227: [[119225, 119141], 512], 119228: [[119226, 119141], 512], 119229: [[119227, 119150], 512], 119230: [[119228, 119150], 512], 119231: [[119227, 119151], 512], 119232: [[119228, 119151], 512] }, + 53760: { 119362: [, 230], 119363: [, 230], 119364: [, 230] }, + 54272: { 119808: [[65], 256], 119809: [[66], 256], 119810: [[67], 256], 119811: [[68], 256], 119812: [[69], 256], 119813: [[70], 256], 119814: [[71], 256], 119815: [[72], 256], 119816: [[73], 256], 119817: [[74], 256], 119818: [[75], 256], 119819: [[76], 256], 119820: [[77], 256], 119821: [[78], 256], 119822: [[79], 256], 119823: [[80], 256], 119824: [[81], 256], 119825: [[82], 256], 119826: [[83], 256], 119827: [[84], 256], 119828: [[85], 256], 119829: [[86], 256], 119830: [[87], 256], 119831: [[88], 256], 119832: [[89], 256], 119833: [[90], 256], 119834: [[97], 256], 119835: [[98], 256], 119836: [[99], 256], 119837: [[100], 256], 119838: [[101], 256], 119839: [[102], 256], 119840: [[103], 256], 119841: [[104], 256], 119842: [[105], 256], 119843: [[106], 256], 119844: [[107], 256], 119845: [[108], 256], 119846: [[109], 256], 119847: [[110], 256], 119848: [[111], 256], 119849: [[112], 256], 119850: [[113], 256], 119851: [[114], 256], 119852: [[115], 256], 119853: [[116], 256], 119854: [[117], 256], 119855: [[118], 256], 119856: [[119], 256], 119857: [[120], 256], 119858: [[121], 256], 119859: [[122], 256], 119860: [[65], 256], 119861: [[66], 256], 119862: [[67], 256], 119863: [[68], 256], 119864: [[69], 256], 119865: [[70], 256], 119866: [[71], 256], 119867: [[72], 256], 119868: [[73], 256], 119869: [[74], 256], 119870: [[75], 256], 119871: [[76], 256], 119872: [[77], 256], 119873: [[78], 256], 119874: [[79], 256], 119875: [[80], 256], 119876: [[81], 256], 119877: [[82], 256], 119878: [[83], 256], 119879: [[84], 256], 119880: [[85], 256], 119881: [[86], 256], 119882: [[87], 256], 119883: [[88], 256], 119884: [[89], 256], 119885: [[90], 256], 119886: [[97], 256], 119887: [[98], 256], 119888: [[99], 256], 119889: [[100], 256], 119890: [[101], 256], 119891: [[102], 256], 119892: [[103], 256], 119894: [[105], 256], 119895: [[106], 256], 119896: [[107], 256], 119897: [[108], 256], 119898: [[109], 256], 119899: [[110], 256], 119900: [[111], 256], 119901: [[112], 256], 119902: [[113], 256], 119903: [[114], 256], 119904: [[115], 256], 119905: [[116], 256], 119906: [[117], 256], 119907: [[118], 256], 119908: [[119], 256], 119909: [[120], 256], 119910: [[121], 256], 119911: [[122], 256], 119912: [[65], 256], 119913: [[66], 256], 119914: [[67], 256], 119915: [[68], 256], 119916: [[69], 256], 119917: [[70], 256], 119918: [[71], 256], 119919: [[72], 256], 119920: [[73], 256], 119921: [[74], 256], 119922: [[75], 256], 119923: [[76], 256], 119924: [[77], 256], 119925: [[78], 256], 119926: [[79], 256], 119927: [[80], 256], 119928: [[81], 256], 119929: [[82], 256], 119930: [[83], 256], 119931: [[84], 256], 119932: [[85], 256], 119933: [[86], 256], 119934: [[87], 256], 119935: [[88], 256], 119936: [[89], 256], 119937: [[90], 256], 119938: [[97], 256], 119939: [[98], 256], 119940: [[99], 256], 119941: [[100], 256], 119942: [[101], 256], 119943: [[102], 256], 119944: [[103], 256], 119945: [[104], 256], 119946: [[105], 256], 119947: [[106], 256], 119948: [[107], 256], 119949: [[108], 256], 119950: [[109], 256], 119951: [[110], 256], 119952: [[111], 256], 119953: [[112], 256], 119954: [[113], 256], 119955: [[114], 256], 119956: [[115], 256], 119957: [[116], 256], 119958: [[117], 256], 119959: [[118], 256], 119960: [[119], 256], 119961: [[120], 256], 119962: [[121], 256], 119963: [[122], 256], 119964: [[65], 256], 119966: [[67], 256], 119967: [[68], 256], 119970: [[71], 256], 119973: [[74], 256], 119974: [[75], 256], 119977: [[78], 256], 119978: [[79], 256], 119979: [[80], 256], 119980: [[81], 256], 119982: [[83], 256], 119983: [[84], 256], 119984: [[85], 256], 119985: [[86], 256], 119986: [[87], 256], 119987: [[88], 256], 119988: [[89], 256], 119989: [[90], 256], 119990: [[97], 256], 119991: [[98], 256], 119992: [[99], 256], 119993: [[100], 256], 119995: [[102], 256], 119997: [[104], 256], 119998: [[105], 256], 119999: [[106], 256], 120000: [[107], 256], 120001: [[108], 256], 120002: [[109], 256], 120003: [[110], 256], 120005: [[112], 256], 120006: [[113], 256], 120007: [[114], 256], 120008: [[115], 256], 120009: [[116], 256], 120010: [[117], 256], 120011: [[118], 256], 120012: [[119], 256], 120013: [[120], 256], 120014: [[121], 256], 120015: [[122], 256], 120016: [[65], 256], 120017: [[66], 256], 120018: [[67], 256], 120019: [[68], 256], 120020: [[69], 256], 120021: [[70], 256], 120022: [[71], 256], 120023: [[72], 256], 120024: [[73], 256], 120025: [[74], 256], 120026: [[75], 256], 120027: [[76], 256], 120028: [[77], 256], 120029: [[78], 256], 120030: [[79], 256], 120031: [[80], 256], 120032: [[81], 256], 120033: [[82], 256], 120034: [[83], 256], 120035: [[84], 256], 120036: [[85], 256], 120037: [[86], 256], 120038: [[87], 256], 120039: [[88], 256], 120040: [[89], 256], 120041: [[90], 256], 120042: [[97], 256], 120043: [[98], 256], 120044: [[99], 256], 120045: [[100], 256], 120046: [[101], 256], 120047: [[102], 256], 120048: [[103], 256], 120049: [[104], 256], 120050: [[105], 256], 120051: [[106], 256], 120052: [[107], 256], 120053: [[108], 256], 120054: [[109], 256], 120055: [[110], 256], 120056: [[111], 256], 120057: [[112], 256], 120058: [[113], 256], 120059: [[114], 256], 120060: [[115], 256], 120061: [[116], 256], 120062: [[117], 256], 120063: [[118], 256] }, + 54528: { 120064: [[119], 256], 120065: [[120], 256], 120066: [[121], 256], 120067: [[122], 256], 120068: [[65], 256], 120069: [[66], 256], 120071: [[68], 256], 120072: [[69], 256], 120073: [[70], 256], 120074: [[71], 256], 120077: [[74], 256], 120078: [[75], 256], 120079: [[76], 256], 120080: [[77], 256], 120081: [[78], 256], 120082: [[79], 256], 120083: [[80], 256], 120084: [[81], 256], 120086: [[83], 256], 120087: [[84], 256], 120088: [[85], 256], 120089: [[86], 256], 120090: [[87], 256], 120091: [[88], 256], 120092: [[89], 256], 120094: [[97], 256], 120095: [[98], 256], 120096: [[99], 256], 120097: [[100], 256], 120098: [[101], 256], 120099: [[102], 256], 120100: [[103], 256], 120101: [[104], 256], 120102: [[105], 256], 120103: [[106], 256], 120104: [[107], 256], 120105: [[108], 256], 120106: [[109], 256], 120107: [[110], 256], 120108: [[111], 256], 120109: [[112], 256], 120110: [[113], 256], 120111: [[114], 256], 120112: [[115], 256], 120113: [[116], 256], 120114: [[117], 256], 120115: [[118], 256], 120116: [[119], 256], 120117: [[120], 256], 120118: [[121], 256], 120119: [[122], 256], 120120: [[65], 256], 120121: [[66], 256], 120123: [[68], 256], 120124: [[69], 256], 120125: [[70], 256], 120126: [[71], 256], 120128: [[73], 256], 120129: [[74], 256], 120130: [[75], 256], 120131: [[76], 256], 120132: [[77], 256], 120134: [[79], 256], 120138: [[83], 256], 120139: [[84], 256], 120140: [[85], 256], 120141: [[86], 256], 120142: [[87], 256], 120143: [[88], 256], 120144: [[89], 256], 120146: [[97], 256], 120147: [[98], 256], 120148: [[99], 256], 120149: [[100], 256], 120150: [[101], 256], 120151: [[102], 256], 120152: [[103], 256], 120153: [[104], 256], 120154: [[105], 256], 120155: [[106], 256], 120156: [[107], 256], 120157: [[108], 256], 120158: [[109], 256], 120159: [[110], 256], 120160: [[111], 256], 120161: [[112], 256], 120162: [[113], 256], 120163: [[114], 256], 120164: [[115], 256], 120165: [[116], 256], 120166: [[117], 256], 120167: [[118], 256], 120168: [[119], 256], 120169: [[120], 256], 120170: [[121], 256], 120171: [[122], 256], 120172: [[65], 256], 120173: [[66], 256], 120174: [[67], 256], 120175: [[68], 256], 120176: [[69], 256], 120177: [[70], 256], 120178: [[71], 256], 120179: [[72], 256], 120180: [[73], 256], 120181: [[74], 256], 120182: [[75], 256], 120183: [[76], 256], 120184: [[77], 256], 120185: [[78], 256], 120186: [[79], 256], 120187: [[80], 256], 120188: [[81], 256], 120189: [[82], 256], 120190: [[83], 256], 120191: [[84], 256], 120192: [[85], 256], 120193: [[86], 256], 120194: [[87], 256], 120195: [[88], 256], 120196: [[89], 256], 120197: [[90], 256], 120198: [[97], 256], 120199: [[98], 256], 120200: [[99], 256], 120201: [[100], 256], 120202: [[101], 256], 120203: [[102], 256], 120204: [[103], 256], 120205: [[104], 256], 120206: [[105], 256], 120207: [[106], 256], 120208: [[107], 256], 120209: [[108], 256], 120210: [[109], 256], 120211: [[110], 256], 120212: [[111], 256], 120213: [[112], 256], 120214: [[113], 256], 120215: [[114], 256], 120216: [[115], 256], 120217: [[116], 256], 120218: [[117], 256], 120219: [[118], 256], 120220: [[119], 256], 120221: [[120], 256], 120222: [[121], 256], 120223: [[122], 256], 120224: [[65], 256], 120225: [[66], 256], 120226: [[67], 256], 120227: [[68], 256], 120228: [[69], 256], 120229: [[70], 256], 120230: [[71], 256], 120231: [[72], 256], 120232: [[73], 256], 120233: [[74], 256], 120234: [[75], 256], 120235: [[76], 256], 120236: [[77], 256], 120237: [[78], 256], 120238: [[79], 256], 120239: [[80], 256], 120240: [[81], 256], 120241: [[82], 256], 120242: [[83], 256], 120243: [[84], 256], 120244: [[85], 256], 120245: [[86], 256], 120246: [[87], 256], 120247: [[88], 256], 120248: [[89], 256], 120249: [[90], 256], 120250: [[97], 256], 120251: [[98], 256], 120252: [[99], 256], 120253: [[100], 256], 120254: [[101], 256], 120255: [[102], 256], 120256: [[103], 256], 120257: [[104], 256], 120258: [[105], 256], 120259: [[106], 256], 120260: [[107], 256], 120261: [[108], 256], 120262: [[109], 256], 120263: [[110], 256], 120264: [[111], 256], 120265: [[112], 256], 120266: [[113], 256], 120267: [[114], 256], 120268: [[115], 256], 120269: [[116], 256], 120270: [[117], 256], 120271: [[118], 256], 120272: [[119], 256], 120273: [[120], 256], 120274: [[121], 256], 120275: [[122], 256], 120276: [[65], 256], 120277: [[66], 256], 120278: [[67], 256], 120279: [[68], 256], 120280: [[69], 256], 120281: [[70], 256], 120282: [[71], 256], 120283: [[72], 256], 120284: [[73], 256], 120285: [[74], 256], 120286: [[75], 256], 120287: [[76], 256], 120288: [[77], 256], 120289: [[78], 256], 120290: [[79], 256], 120291: [[80], 256], 120292: [[81], 256], 120293: [[82], 256], 120294: [[83], 256], 120295: [[84], 256], 120296: [[85], 256], 120297: [[86], 256], 120298: [[87], 256], 120299: [[88], 256], 120300: [[89], 256], 120301: [[90], 256], 120302: [[97], 256], 120303: [[98], 256], 120304: [[99], 256], 120305: [[100], 256], 120306: [[101], 256], 120307: [[102], 256], 120308: [[103], 256], 120309: [[104], 256], 120310: [[105], 256], 120311: [[106], 256], 120312: [[107], 256], 120313: [[108], 256], 120314: [[109], 256], 120315: [[110], 256], 120316: [[111], 256], 120317: [[112], 256], 120318: [[113], 256], 120319: [[114], 256] }, + 54784: { 120320: [[115], 256], 120321: [[116], 256], 120322: [[117], 256], 120323: [[118], 256], 120324: [[119], 256], 120325: [[120], 256], 120326: [[121], 256], 120327: [[122], 256], 120328: [[65], 256], 120329: [[66], 256], 120330: [[67], 256], 120331: [[68], 256], 120332: [[69], 256], 120333: [[70], 256], 120334: [[71], 256], 120335: [[72], 256], 120336: [[73], 256], 120337: [[74], 256], 120338: [[75], 256], 120339: [[76], 256], 120340: [[77], 256], 120341: [[78], 256], 120342: [[79], 256], 120343: [[80], 256], 120344: [[81], 256], 120345: [[82], 256], 120346: [[83], 256], 120347: [[84], 256], 120348: [[85], 256], 120349: [[86], 256], 120350: [[87], 256], 120351: [[88], 256], 120352: [[89], 256], 120353: [[90], 256], 120354: [[97], 256], 120355: [[98], 256], 120356: [[99], 256], 120357: [[100], 256], 120358: [[101], 256], 120359: [[102], 256], 120360: [[103], 256], 120361: [[104], 256], 120362: [[105], 256], 120363: [[106], 256], 120364: [[107], 256], 120365: [[108], 256], 120366: [[109], 256], 120367: [[110], 256], 120368: [[111], 256], 120369: [[112], 256], 120370: [[113], 256], 120371: [[114], 256], 120372: [[115], 256], 120373: [[116], 256], 120374: [[117], 256], 120375: [[118], 256], 120376: [[119], 256], 120377: [[120], 256], 120378: [[121], 256], 120379: [[122], 256], 120380: [[65], 256], 120381: [[66], 256], 120382: [[67], 256], 120383: [[68], 256], 120384: [[69], 256], 120385: [[70], 256], 120386: [[71], 256], 120387: [[72], 256], 120388: [[73], 256], 120389: [[74], 256], 120390: [[75], 256], 120391: [[76], 256], 120392: [[77], 256], 120393: [[78], 256], 120394: [[79], 256], 120395: [[80], 256], 120396: [[81], 256], 120397: [[82], 256], 120398: [[83], 256], 120399: [[84], 256], 120400: [[85], 256], 120401: [[86], 256], 120402: [[87], 256], 120403: [[88], 256], 120404: [[89], 256], 120405: [[90], 256], 120406: [[97], 256], 120407: [[98], 256], 120408: [[99], 256], 120409: [[100], 256], 120410: [[101], 256], 120411: [[102], 256], 120412: [[103], 256], 120413: [[104], 256], 120414: [[105], 256], 120415: [[106], 256], 120416: [[107], 256], 120417: [[108], 256], 120418: [[109], 256], 120419: [[110], 256], 120420: [[111], 256], 120421: [[112], 256], 120422: [[113], 256], 120423: [[114], 256], 120424: [[115], 256], 120425: [[116], 256], 120426: [[117], 256], 120427: [[118], 256], 120428: [[119], 256], 120429: [[120], 256], 120430: [[121], 256], 120431: [[122], 256], 120432: [[65], 256], 120433: [[66], 256], 120434: [[67], 256], 120435: [[68], 256], 120436: [[69], 256], 120437: [[70], 256], 120438: [[71], 256], 120439: [[72], 256], 120440: [[73], 256], 120441: [[74], 256], 120442: [[75], 256], 120443: [[76], 256], 120444: [[77], 256], 120445: [[78], 256], 120446: [[79], 256], 120447: [[80], 256], 120448: [[81], 256], 120449: [[82], 256], 120450: [[83], 256], 120451: [[84], 256], 120452: [[85], 256], 120453: [[86], 256], 120454: [[87], 256], 120455: [[88], 256], 120456: [[89], 256], 120457: [[90], 256], 120458: [[97], 256], 120459: [[98], 256], 120460: [[99], 256], 120461: [[100], 256], 120462: [[101], 256], 120463: [[102], 256], 120464: [[103], 256], 120465: [[104], 256], 120466: [[105], 256], 120467: [[106], 256], 120468: [[107], 256], 120469: [[108], 256], 120470: [[109], 256], 120471: [[110], 256], 120472: [[111], 256], 120473: [[112], 256], 120474: [[113], 256], 120475: [[114], 256], 120476: [[115], 256], 120477: [[116], 256], 120478: [[117], 256], 120479: [[118], 256], 120480: [[119], 256], 120481: [[120], 256], 120482: [[121], 256], 120483: [[122], 256], 120484: [[305], 256], 120485: [[567], 256], 120488: [[913], 256], 120489: [[914], 256], 120490: [[915], 256], 120491: [[916], 256], 120492: [[917], 256], 120493: [[918], 256], 120494: [[919], 256], 120495: [[920], 256], 120496: [[921], 256], 120497: [[922], 256], 120498: [[923], 256], 120499: [[924], 256], 120500: [[925], 256], 120501: [[926], 256], 120502: [[927], 256], 120503: [[928], 256], 120504: [[929], 256], 120505: [[1012], 256], 120506: [[931], 256], 120507: [[932], 256], 120508: [[933], 256], 120509: [[934], 256], 120510: [[935], 256], 120511: [[936], 256], 120512: [[937], 256], 120513: [[8711], 256], 120514: [[945], 256], 120515: [[946], 256], 120516: [[947], 256], 120517: [[948], 256], 120518: [[949], 256], 120519: [[950], 256], 120520: [[951], 256], 120521: [[952], 256], 120522: [[953], 256], 120523: [[954], 256], 120524: [[955], 256], 120525: [[956], 256], 120526: [[957], 256], 120527: [[958], 256], 120528: [[959], 256], 120529: [[960], 256], 120530: [[961], 256], 120531: [[962], 256], 120532: [[963], 256], 120533: [[964], 256], 120534: [[965], 256], 120535: [[966], 256], 120536: [[967], 256], 120537: [[968], 256], 120538: [[969], 256], 120539: [[8706], 256], 120540: [[1013], 256], 120541: [[977], 256], 120542: [[1008], 256], 120543: [[981], 256], 120544: [[1009], 256], 120545: [[982], 256], 120546: [[913], 256], 120547: [[914], 256], 120548: [[915], 256], 120549: [[916], 256], 120550: [[917], 256], 120551: [[918], 256], 120552: [[919], 256], 120553: [[920], 256], 120554: [[921], 256], 120555: [[922], 256], 120556: [[923], 256], 120557: [[924], 256], 120558: [[925], 256], 120559: [[926], 256], 120560: [[927], 256], 120561: [[928], 256], 120562: [[929], 256], 120563: [[1012], 256], 120564: [[931], 256], 120565: [[932], 256], 120566: [[933], 256], 120567: [[934], 256], 120568: [[935], 256], 120569: [[936], 256], 120570: [[937], 256], 120571: [[8711], 256], 120572: [[945], 256], 120573: [[946], 256], 120574: [[947], 256], 120575: [[948], 256] }, + 55040: { 120576: [[949], 256], 120577: [[950], 256], 120578: [[951], 256], 120579: [[952], 256], 120580: [[953], 256], 120581: [[954], 256], 120582: [[955], 256], 120583: [[956], 256], 120584: [[957], 256], 120585: [[958], 256], 120586: [[959], 256], 120587: [[960], 256], 120588: [[961], 256], 120589: [[962], 256], 120590: [[963], 256], 120591: [[964], 256], 120592: [[965], 256], 120593: [[966], 256], 120594: [[967], 256], 120595: [[968], 256], 120596: [[969], 256], 120597: [[8706], 256], 120598: [[1013], 256], 120599: [[977], 256], 120600: [[1008], 256], 120601: [[981], 256], 120602: [[1009], 256], 120603: [[982], 256], 120604: [[913], 256], 120605: [[914], 256], 120606: [[915], 256], 120607: [[916], 256], 120608: [[917], 256], 120609: [[918], 256], 120610: [[919], 256], 120611: [[920], 256], 120612: [[921], 256], 120613: [[922], 256], 120614: [[923], 256], 120615: [[924], 256], 120616: [[925], 256], 120617: [[926], 256], 120618: [[927], 256], 120619: [[928], 256], 120620: [[929], 256], 120621: [[1012], 256], 120622: [[931], 256], 120623: [[932], 256], 120624: [[933], 256], 120625: [[934], 256], 120626: [[935], 256], 120627: [[936], 256], 120628: [[937], 256], 120629: [[8711], 256], 120630: [[945], 256], 120631: [[946], 256], 120632: [[947], 256], 120633: [[948], 256], 120634: [[949], 256], 120635: [[950], 256], 120636: [[951], 256], 120637: [[952], 256], 120638: [[953], 256], 120639: [[954], 256], 120640: [[955], 256], 120641: [[956], 256], 120642: [[957], 256], 120643: [[958], 256], 120644: [[959], 256], 120645: [[960], 256], 120646: [[961], 256], 120647: [[962], 256], 120648: [[963], 256], 120649: [[964], 256], 120650: [[965], 256], 120651: [[966], 256], 120652: [[967], 256], 120653: [[968], 256], 120654: [[969], 256], 120655: [[8706], 256], 120656: [[1013], 256], 120657: [[977], 256], 120658: [[1008], 256], 120659: [[981], 256], 120660: [[1009], 256], 120661: [[982], 256], 120662: [[913], 256], 120663: [[914], 256], 120664: [[915], 256], 120665: [[916], 256], 120666: [[917], 256], 120667: [[918], 256], 120668: [[919], 256], 120669: [[920], 256], 120670: [[921], 256], 120671: [[922], 256], 120672: [[923], 256], 120673: [[924], 256], 120674: [[925], 256], 120675: [[926], 256], 120676: [[927], 256], 120677: [[928], 256], 120678: [[929], 256], 120679: [[1012], 256], 120680: [[931], 256], 120681: [[932], 256], 120682: [[933], 256], 120683: [[934], 256], 120684: [[935], 256], 120685: [[936], 256], 120686: [[937], 256], 120687: [[8711], 256], 120688: [[945], 256], 120689: [[946], 256], 120690: [[947], 256], 120691: [[948], 256], 120692: [[949], 256], 120693: [[950], 256], 120694: [[951], 256], 120695: [[952], 256], 120696: [[953], 256], 120697: [[954], 256], 120698: [[955], 256], 120699: [[956], 256], 120700: [[957], 256], 120701: [[958], 256], 120702: [[959], 256], 120703: [[960], 256], 120704: [[961], 256], 120705: [[962], 256], 120706: [[963], 256], 120707: [[964], 256], 120708: [[965], 256], 120709: [[966], 256], 120710: [[967], 256], 120711: [[968], 256], 120712: [[969], 256], 120713: [[8706], 256], 120714: [[1013], 256], 120715: [[977], 256], 120716: [[1008], 256], 120717: [[981], 256], 120718: [[1009], 256], 120719: [[982], 256], 120720: [[913], 256], 120721: [[914], 256], 120722: [[915], 256], 120723: [[916], 256], 120724: [[917], 256], 120725: [[918], 256], 120726: [[919], 256], 120727: [[920], 256], 120728: [[921], 256], 120729: [[922], 256], 120730: [[923], 256], 120731: [[924], 256], 120732: [[925], 256], 120733: [[926], 256], 120734: [[927], 256], 120735: [[928], 256], 120736: [[929], 256], 120737: [[1012], 256], 120738: [[931], 256], 120739: [[932], 256], 120740: [[933], 256], 120741: [[934], 256], 120742: [[935], 256], 120743: [[936], 256], 120744: [[937], 256], 120745: [[8711], 256], 120746: [[945], 256], 120747: [[946], 256], 120748: [[947], 256], 120749: [[948], 256], 120750: [[949], 256], 120751: [[950], 256], 120752: [[951], 256], 120753: [[952], 256], 120754: [[953], 256], 120755: [[954], 256], 120756: [[955], 256], 120757: [[956], 256], 120758: [[957], 256], 120759: [[958], 256], 120760: [[959], 256], 120761: [[960], 256], 120762: [[961], 256], 120763: [[962], 256], 120764: [[963], 256], 120765: [[964], 256], 120766: [[965], 256], 120767: [[966], 256], 120768: [[967], 256], 120769: [[968], 256], 120770: [[969], 256], 120771: [[8706], 256], 120772: [[1013], 256], 120773: [[977], 256], 120774: [[1008], 256], 120775: [[981], 256], 120776: [[1009], 256], 120777: [[982], 256], 120778: [[988], 256], 120779: [[989], 256], 120782: [[48], 256], 120783: [[49], 256], 120784: [[50], 256], 120785: [[51], 256], 120786: [[52], 256], 120787: [[53], 256], 120788: [[54], 256], 120789: [[55], 256], 120790: [[56], 256], 120791: [[57], 256], 120792: [[48], 256], 120793: [[49], 256], 120794: [[50], 256], 120795: [[51], 256], 120796: [[52], 256], 120797: [[53], 256], 120798: [[54], 256], 120799: [[55], 256], 120800: [[56], 256], 120801: [[57], 256], 120802: [[48], 256], 120803: [[49], 256], 120804: [[50], 256], 120805: [[51], 256], 120806: [[52], 256], 120807: [[53], 256], 120808: [[54], 256], 120809: [[55], 256], 120810: [[56], 256], 120811: [[57], 256], 120812: [[48], 256], 120813: [[49], 256], 120814: [[50], 256], 120815: [[51], 256], 120816: [[52], 256], 120817: [[53], 256], 120818: [[54], 256], 120819: [[55], 256], 120820: [[56], 256], 120821: [[57], 256], 120822: [[48], 256], 120823: [[49], 256], 120824: [[50], 256], 120825: [[51], 256], 120826: [[52], 256], 120827: [[53], 256], 120828: [[54], 256], 120829: [[55], 256], 120830: [[56], 256], 120831: [[57], 256] }, + 59392: { 125136: [, 220], 125137: [, 220], 125138: [, 220], 125139: [, 220], 125140: [, 220], 125141: [, 220], 125142: [, 220] }, + 60928: { 126464: [[1575], 256], 126465: [[1576], 256], 126466: [[1580], 256], 126467: [[1583], 256], 126469: [[1608], 256], 126470: [[1586], 256], 126471: [[1581], 256], 126472: [[1591], 256], 126473: [[1610], 256], 126474: [[1603], 256], 126475: [[1604], 256], 126476: [[1605], 256], 126477: [[1606], 256], 126478: [[1587], 256], 126479: [[1593], 256], 126480: [[1601], 256], 126481: [[1589], 256], 126482: [[1602], 256], 126483: [[1585], 256], 126484: [[1588], 256], 126485: [[1578], 256], 126486: [[1579], 256], 126487: [[1582], 256], 126488: [[1584], 256], 126489: [[1590], 256], 126490: [[1592], 256], 126491: [[1594], 256], 126492: [[1646], 256], 126493: [[1722], 256], 126494: [[1697], 256], 126495: [[1647], 256], 126497: [[1576], 256], 126498: [[1580], 256], 126500: [[1607], 256], 126503: [[1581], 256], 126505: [[1610], 256], 126506: [[1603], 256], 126507: [[1604], 256], 126508: [[1605], 256], 126509: [[1606], 256], 126510: [[1587], 256], 126511: [[1593], 256], 126512: [[1601], 256], 126513: [[1589], 256], 126514: [[1602], 256], 126516: [[1588], 256], 126517: [[1578], 256], 126518: [[1579], 256], 126519: [[1582], 256], 126521: [[1590], 256], 126523: [[1594], 256], 126530: [[1580], 256], 126535: [[1581], 256], 126537: [[1610], 256], 126539: [[1604], 256], 126541: [[1606], 256], 126542: [[1587], 256], 126543: [[1593], 256], 126545: [[1589], 256], 126546: [[1602], 256], 126548: [[1588], 256], 126551: [[1582], 256], 126553: [[1590], 256], 126555: [[1594], 256], 126557: [[1722], 256], 126559: [[1647], 256], 126561: [[1576], 256], 126562: [[1580], 256], 126564: [[1607], 256], 126567: [[1581], 256], 126568: [[1591], 256], 126569: [[1610], 256], 126570: [[1603], 256], 126572: [[1605], 256], 126573: [[1606], 256], 126574: [[1587], 256], 126575: [[1593], 256], 126576: [[1601], 256], 126577: [[1589], 256], 126578: [[1602], 256], 126580: [[1588], 256], 126581: [[1578], 256], 126582: [[1579], 256], 126583: [[1582], 256], 126585: [[1590], 256], 126586: [[1592], 256], 126587: [[1594], 256], 126588: [[1646], 256], 126590: [[1697], 256], 126592: [[1575], 256], 126593: [[1576], 256], 126594: [[1580], 256], 126595: [[1583], 256], 126596: [[1607], 256], 126597: [[1608], 256], 126598: [[1586], 256], 126599: [[1581], 256], 126600: [[1591], 256], 126601: [[1610], 256], 126603: [[1604], 256], 126604: [[1605], 256], 126605: [[1606], 256], 126606: [[1587], 256], 126607: [[1593], 256], 126608: [[1601], 256], 126609: [[1589], 256], 126610: [[1602], 256], 126611: [[1585], 256], 126612: [[1588], 256], 126613: [[1578], 256], 126614: [[1579], 256], 126615: [[1582], 256], 126616: [[1584], 256], 126617: [[1590], 256], 126618: [[1592], 256], 126619: [[1594], 256], 126625: [[1576], 256], 126626: [[1580], 256], 126627: [[1583], 256], 126629: [[1608], 256], 126630: [[1586], 256], 126631: [[1581], 256], 126632: [[1591], 256], 126633: [[1610], 256], 126635: [[1604], 256], 126636: [[1605], 256], 126637: [[1606], 256], 126638: [[1587], 256], 126639: [[1593], 256], 126640: [[1601], 256], 126641: [[1589], 256], 126642: [[1602], 256], 126643: [[1585], 256], 126644: [[1588], 256], 126645: [[1578], 256], 126646: [[1579], 256], 126647: [[1582], 256], 126648: [[1584], 256], 126649: [[1590], 256], 126650: [[1592], 256], 126651: [[1594], 256] }, + 61696: { 127232: [[48, 46], 256], 127233: [[48, 44], 256], 127234: [[49, 44], 256], 127235: [[50, 44], 256], 127236: [[51, 44], 256], 127237: [[52, 44], 256], 127238: [[53, 44], 256], 127239: [[54, 44], 256], 127240: [[55, 44], 256], 127241: [[56, 44], 256], 127242: [[57, 44], 256], 127248: [[40, 65, 41], 256], 127249: [[40, 66, 41], 256], 127250: [[40, 67, 41], 256], 127251: [[40, 68, 41], 256], 127252: [[40, 69, 41], 256], 127253: [[40, 70, 41], 256], 127254: [[40, 71, 41], 256], 127255: [[40, 72, 41], 256], 127256: [[40, 73, 41], 256], 127257: [[40, 74, 41], 256], 127258: [[40, 75, 41], 256], 127259: [[40, 76, 41], 256], 127260: [[40, 77, 41], 256], 127261: [[40, 78, 41], 256], 127262: [[40, 79, 41], 256], 127263: [[40, 80, 41], 256], 127264: [[40, 81, 41], 256], 127265: [[40, 82, 41], 256], 127266: [[40, 83, 41], 256], 127267: [[40, 84, 41], 256], 127268: [[40, 85, 41], 256], 127269: [[40, 86, 41], 256], 127270: [[40, 87, 41], 256], 127271: [[40, 88, 41], 256], 127272: [[40, 89, 41], 256], 127273: [[40, 90, 41], 256], 127274: [[12308, 83, 12309], 256], 127275: [[67], 256], 127276: [[82], 256], 127277: [[67, 68], 256], 127278: [[87, 90], 256], 127280: [[65], 256], 127281: [[66], 256], 127282: [[67], 256], 127283: [[68], 256], 127284: [[69], 256], 127285: [[70], 256], 127286: [[71], 256], 127287: [[72], 256], 127288: [[73], 256], 127289: [[74], 256], 127290: [[75], 256], 127291: [[76], 256], 127292: [[77], 256], 127293: [[78], 256], 127294: [[79], 256], 127295: [[80], 256], 127296: [[81], 256], 127297: [[82], 256], 127298: [[83], 256], 127299: [[84], 256], 127300: [[85], 256], 127301: [[86], 256], 127302: [[87], 256], 127303: [[88], 256], 127304: [[89], 256], 127305: [[90], 256], 127306: [[72, 86], 256], 127307: [[77, 86], 256], 127308: [[83, 68], 256], 127309: [[83, 83], 256], 127310: [[80, 80, 86], 256], 127311: [[87, 67], 256], 127338: [[77, 67], 256], 127339: [[77, 68], 256], 127376: [[68, 74], 256] }, + 61952: { 127488: [[12411, 12363], 256], 127489: [[12467, 12467], 256], 127490: [[12469], 256], 127504: [[25163], 256], 127505: [[23383], 256], 127506: [[21452], 256], 127507: [[12487], 256], 127508: [[20108], 256], 127509: [[22810], 256], 127510: [[35299], 256], 127511: [[22825], 256], 127512: [[20132], 256], 127513: [[26144], 256], 127514: [[28961], 256], 127515: [[26009], 256], 127516: [[21069], 256], 127517: [[24460], 256], 127518: [[20877], 256], 127519: [[26032], 256], 127520: [[21021], 256], 127521: [[32066], 256], 127522: [[29983], 256], 127523: [[36009], 256], 127524: [[22768], 256], 127525: [[21561], 256], 127526: [[28436], 256], 127527: [[25237], 256], 127528: [[25429], 256], 127529: [[19968], 256], 127530: [[19977], 256], 127531: [[36938], 256], 127532: [[24038], 256], 127533: [[20013], 256], 127534: [[21491], 256], 127535: [[25351], 256], 127536: [[36208], 256], 127537: [[25171], 256], 127538: [[31105], 256], 127539: [[31354], 256], 127540: [[21512], 256], 127541: [[28288], 256], 127542: [[26377], 256], 127543: [[26376], 256], 127544: [[30003], 256], 127545: [[21106], 256], 127546: [[21942], 256], 127552: [[12308, 26412, 12309], 256], 127553: [[12308, 19977, 12309], 256], 127554: [[12308, 20108, 12309], 256], 127555: [[12308, 23433, 12309], 256], 127556: [[12308, 28857, 12309], 256], 127557: [[12308, 25171, 12309], 256], 127558: [[12308, 30423, 12309], 256], 127559: [[12308, 21213, 12309], 256], 127560: [[12308, 25943, 12309], 256], 127568: [[24471], 256], 127569: [[21487], 256] }, + 63488: { 194560: [[20029]], 194561: [[20024]], 194562: [[20033]], 194563: [[131362]], 194564: [[20320]], 194565: [[20398]], 194566: [[20411]], 194567: [[20482]], 194568: [[20602]], 194569: [[20633]], 194570: [[20711]], 194571: [[20687]], 194572: [[13470]], 194573: [[132666]], 194574: [[20813]], 194575: [[20820]], 194576: [[20836]], 194577: [[20855]], 194578: [[132380]], 194579: [[13497]], 194580: [[20839]], 194581: [[20877]], 194582: [[132427]], 194583: [[20887]], 194584: [[20900]], 194585: [[20172]], 194586: [[20908]], 194587: [[20917]], 194588: [[168415]], 194589: [[20981]], 194590: [[20995]], 194591: [[13535]], 194592: [[21051]], 194593: [[21062]], 194594: [[21106]], 194595: [[21111]], 194596: [[13589]], 194597: [[21191]], 194598: [[21193]], 194599: [[21220]], 194600: [[21242]], 194601: [[21253]], 194602: [[21254]], 194603: [[21271]], 194604: [[21321]], 194605: [[21329]], 194606: [[21338]], 194607: [[21363]], 194608: [[21373]], 194609: [[21375]], 194610: [[21375]], 194611: [[21375]], 194612: [[133676]], 194613: [[28784]], 194614: [[21450]], 194615: [[21471]], 194616: [[133987]], 194617: [[21483]], 194618: [[21489]], 194619: [[21510]], 194620: [[21662]], 194621: [[21560]], 194622: [[21576]], 194623: [[21608]], 194624: [[21666]], 194625: [[21750]], 194626: [[21776]], 194627: [[21843]], 194628: [[21859]], 194629: [[21892]], 194630: [[21892]], 194631: [[21913]], 194632: [[21931]], 194633: [[21939]], 194634: [[21954]], 194635: [[22294]], 194636: [[22022]], 194637: [[22295]], 194638: [[22097]], 194639: [[22132]], 194640: [[20999]], 194641: [[22766]], 194642: [[22478]], 194643: [[22516]], 194644: [[22541]], 194645: [[22411]], 194646: [[22578]], 194647: [[22577]], 194648: [[22700]], 194649: [[136420]], 194650: [[22770]], 194651: [[22775]], 194652: [[22790]], 194653: [[22810]], 194654: [[22818]], 194655: [[22882]], 194656: [[136872]], 194657: [[136938]], 194658: [[23020]], 194659: [[23067]], 194660: [[23079]], 194661: [[23000]], 194662: [[23142]], 194663: [[14062]], 194664: [[14076]], 194665: [[23304]], 194666: [[23358]], 194667: [[23358]], 194668: [[137672]], 194669: [[23491]], 194670: [[23512]], 194671: [[23527]], 194672: [[23539]], 194673: [[138008]], 194674: [[23551]], 194675: [[23558]], 194676: [[24403]], 194677: [[23586]], 194678: [[14209]], 194679: [[23648]], 194680: [[23662]], 194681: [[23744]], 194682: [[23693]], 194683: [[138724]], 194684: [[23875]], 194685: [[138726]], 194686: [[23918]], 194687: [[23915]], 194688: [[23932]], 194689: [[24033]], 194690: [[24034]], 194691: [[14383]], 194692: [[24061]], 194693: [[24104]], 194694: [[24125]], 194695: [[24169]], 194696: [[14434]], 194697: [[139651]], 194698: [[14460]], 194699: [[24240]], 194700: [[24243]], 194701: [[24246]], 194702: [[24266]], 194703: [[172946]], 194704: [[24318]], 194705: [[140081]], 194706: [[140081]], 194707: [[33281]], 194708: [[24354]], 194709: [[24354]], 194710: [[14535]], 194711: [[144056]], 194712: [[156122]], 194713: [[24418]], 194714: [[24427]], 194715: [[14563]], 194716: [[24474]], 194717: [[24525]], 194718: [[24535]], 194719: [[24569]], 194720: [[24705]], 194721: [[14650]], 194722: [[14620]], 194723: [[24724]], 194724: [[141012]], 194725: [[24775]], 194726: [[24904]], 194727: [[24908]], 194728: [[24910]], 194729: [[24908]], 194730: [[24954]], 194731: [[24974]], 194732: [[25010]], 194733: [[24996]], 194734: [[25007]], 194735: [[25054]], 194736: [[25074]], 194737: [[25078]], 194738: [[25104]], 194739: [[25115]], 194740: [[25181]], 194741: [[25265]], 194742: [[25300]], 194743: [[25424]], 194744: [[142092]], 194745: [[25405]], 194746: [[25340]], 194747: [[25448]], 194748: [[25475]], 194749: [[25572]], 194750: [[142321]], 194751: [[25634]], 194752: [[25541]], 194753: [[25513]], 194754: [[14894]], 194755: [[25705]], 194756: [[25726]], 194757: [[25757]], 194758: [[25719]], 194759: [[14956]], 194760: [[25935]], 194761: [[25964]], 194762: [[143370]], 194763: [[26083]], 194764: [[26360]], 194765: [[26185]], 194766: [[15129]], 194767: [[26257]], 194768: [[15112]], 194769: [[15076]], 194770: [[20882]], 194771: [[20885]], 194772: [[26368]], 194773: [[26268]], 194774: [[32941]], 194775: [[17369]], 194776: [[26391]], 194777: [[26395]], 194778: [[26401]], 194779: [[26462]], 194780: [[26451]], 194781: [[144323]], 194782: [[15177]], 194783: [[26618]], 194784: [[26501]], 194785: [[26706]], 194786: [[26757]], 194787: [[144493]], 194788: [[26766]], 194789: [[26655]], 194790: [[26900]], 194791: [[15261]], 194792: [[26946]], 194793: [[27043]], 194794: [[27114]], 194795: [[27304]], 194796: [[145059]], 194797: [[27355]], 194798: [[15384]], 194799: [[27425]], 194800: [[145575]], 194801: [[27476]], 194802: [[15438]], 194803: [[27506]], 194804: [[27551]], 194805: [[27578]], 194806: [[27579]], 194807: [[146061]], 194808: [[138507]], 194809: [[146170]], 194810: [[27726]], 194811: [[146620]], 194812: [[27839]], 194813: [[27853]], 194814: [[27751]], 194815: [[27926]] }, + 63744: { 63744: [[35912]], 63745: [[26356]], 63746: [[36554]], 63747: [[36040]], 63748: [[28369]], 63749: [[20018]], 63750: [[21477]], 63751: [[40860]], 63752: [[40860]], 63753: [[22865]], 63754: [[37329]], 63755: [[21895]], 63756: [[22856]], 63757: [[25078]], 63758: [[30313]], 63759: [[32645]], 63760: [[34367]], 63761: [[34746]], 63762: [[35064]], 63763: [[37007]], 63764: [[27138]], 63765: [[27931]], 63766: [[28889]], 63767: [[29662]], 63768: [[33853]], 63769: [[37226]], 63770: [[39409]], 63771: [[20098]], 63772: [[21365]], 63773: [[27396]], 63774: [[29211]], 63775: [[34349]], 63776: [[40478]], 63777: [[23888]], 63778: [[28651]], 63779: [[34253]], 63780: [[35172]], 63781: [[25289]], 63782: [[33240]], 63783: [[34847]], 63784: [[24266]], 63785: [[26391]], 63786: [[28010]], 63787: [[29436]], 63788: [[37070]], 63789: [[20358]], 63790: [[20919]], 63791: [[21214]], 63792: [[25796]], 63793: [[27347]], 63794: [[29200]], 63795: [[30439]], 63796: [[32769]], 63797: [[34310]], 63798: [[34396]], 63799: [[36335]], 63800: [[38706]], 63801: [[39791]], 63802: [[40442]], 63803: [[30860]], 63804: [[31103]], 63805: [[32160]], 63806: [[33737]], 63807: [[37636]], 63808: [[40575]], 63809: [[35542]], 63810: [[22751]], 63811: [[24324]], 63812: [[31840]], 63813: [[32894]], 63814: [[29282]], 63815: [[30922]], 63816: [[36034]], 63817: [[38647]], 63818: [[22744]], 63819: [[23650]], 63820: [[27155]], 63821: [[28122]], 63822: [[28431]], 63823: [[32047]], 63824: [[32311]], 63825: [[38475]], 63826: [[21202]], 63827: [[32907]], 63828: [[20956]], 63829: [[20940]], 63830: [[31260]], 63831: [[32190]], 63832: [[33777]], 63833: [[38517]], 63834: [[35712]], 63835: [[25295]], 63836: [[27138]], 63837: [[35582]], 63838: [[20025]], 63839: [[23527]], 63840: [[24594]], 63841: [[29575]], 63842: [[30064]], 63843: [[21271]], 63844: [[30971]], 63845: [[20415]], 63846: [[24489]], 63847: [[19981]], 63848: [[27852]], 63849: [[25976]], 63850: [[32034]], 63851: [[21443]], 63852: [[22622]], 63853: [[30465]], 63854: [[33865]], 63855: [[35498]], 63856: [[27578]], 63857: [[36784]], 63858: [[27784]], 63859: [[25342]], 63860: [[33509]], 63861: [[25504]], 63862: [[30053]], 63863: [[20142]], 63864: [[20841]], 63865: [[20937]], 63866: [[26753]], 63867: [[31975]], 63868: [[33391]], 63869: [[35538]], 63870: [[37327]], 63871: [[21237]], 63872: [[21570]], 63873: [[22899]], 63874: [[24300]], 63875: [[26053]], 63876: [[28670]], 63877: [[31018]], 63878: [[38317]], 63879: [[39530]], 63880: [[40599]], 63881: [[40654]], 63882: [[21147]], 63883: [[26310]], 63884: [[27511]], 63885: [[36706]], 63886: [[24180]], 63887: [[24976]], 63888: [[25088]], 63889: [[25754]], 63890: [[28451]], 63891: [[29001]], 63892: [[29833]], 63893: [[31178]], 63894: [[32244]], 63895: [[32879]], 63896: [[36646]], 63897: [[34030]], 63898: [[36899]], 63899: [[37706]], 63900: [[21015]], 63901: [[21155]], 63902: [[21693]], 63903: [[28872]], 63904: [[35010]], 63905: [[35498]], 63906: [[24265]], 63907: [[24565]], 63908: [[25467]], 63909: [[27566]], 63910: [[31806]], 63911: [[29557]], 63912: [[20196]], 63913: [[22265]], 63914: [[23527]], 63915: [[23994]], 63916: [[24604]], 63917: [[29618]], 63918: [[29801]], 63919: [[32666]], 63920: [[32838]], 63921: [[37428]], 63922: [[38646]], 63923: [[38728]], 63924: [[38936]], 63925: [[20363]], 63926: [[31150]], 63927: [[37300]], 63928: [[38584]], 63929: [[24801]], 63930: [[20102]], 63931: [[20698]], 63932: [[23534]], 63933: [[23615]], 63934: [[26009]], 63935: [[27138]], 63936: [[29134]], 63937: [[30274]], 63938: [[34044]], 63939: [[36988]], 63940: [[40845]], 63941: [[26248]], 63942: [[38446]], 63943: [[21129]], 63944: [[26491]], 63945: [[26611]], 63946: [[27969]], 63947: [[28316]], 63948: [[29705]], 63949: [[30041]], 63950: [[30827]], 63951: [[32016]], 63952: [[39006]], 63953: [[20845]], 63954: [[25134]], 63955: [[38520]], 63956: [[20523]], 63957: [[23833]], 63958: [[28138]], 63959: [[36650]], 63960: [[24459]], 63961: [[24900]], 63962: [[26647]], 63963: [[29575]], 63964: [[38534]], 63965: [[21033]], 63966: [[21519]], 63967: [[23653]], 63968: [[26131]], 63969: [[26446]], 63970: [[26792]], 63971: [[27877]], 63972: [[29702]], 63973: [[30178]], 63974: [[32633]], 63975: [[35023]], 63976: [[35041]], 63977: [[37324]], 63978: [[38626]], 63979: [[21311]], 63980: [[28346]], 63981: [[21533]], 63982: [[29136]], 63983: [[29848]], 63984: [[34298]], 63985: [[38563]], 63986: [[40023]], 63987: [[40607]], 63988: [[26519]], 63989: [[28107]], 63990: [[33256]], 63991: [[31435]], 63992: [[31520]], 63993: [[31890]], 63994: [[29376]], 63995: [[28825]], 63996: [[35672]], 63997: [[20160]], 63998: [[33590]], 63999: [[21050]], 194816: [[27966]], 194817: [[28023]], 194818: [[27969]], 194819: [[28009]], 194820: [[28024]], 194821: [[28037]], 194822: [[146718]], 194823: [[27956]], 194824: [[28207]], 194825: [[28270]], 194826: [[15667]], 194827: [[28363]], 194828: [[28359]], 194829: [[147153]], 194830: [[28153]], 194831: [[28526]], 194832: [[147294]], 194833: [[147342]], 194834: [[28614]], 194835: [[28729]], 194836: [[28702]], 194837: [[28699]], 194838: [[15766]], 194839: [[28746]], 194840: [[28797]], 194841: [[28791]], 194842: [[28845]], 194843: [[132389]], 194844: [[28997]], 194845: [[148067]], 194846: [[29084]], 194847: [[148395]], 194848: [[29224]], 194849: [[29237]], 194850: [[29264]], 194851: [[149000]], 194852: [[29312]], 194853: [[29333]], 194854: [[149301]], 194855: [[149524]], 194856: [[29562]], 194857: [[29579]], 194858: [[16044]], 194859: [[29605]], 194860: [[16056]], 194861: [[16056]], 194862: [[29767]], 194863: [[29788]], 194864: [[29809]], 194865: [[29829]], 194866: [[29898]], 194867: [[16155]], 194868: [[29988]], 194869: [[150582]], 194870: [[30014]], 194871: [[150674]], 194872: [[30064]], 194873: [[139679]], 194874: [[30224]], 194875: [[151457]], 194876: [[151480]], 194877: [[151620]], 194878: [[16380]], 194879: [[16392]], 194880: [[30452]], 194881: [[151795]], 194882: [[151794]], 194883: [[151833]], 194884: [[151859]], 194885: [[30494]], 194886: [[30495]], 194887: [[30495]], 194888: [[30538]], 194889: [[16441]], 194890: [[30603]], 194891: [[16454]], 194892: [[16534]], 194893: [[152605]], 194894: [[30798]], 194895: [[30860]], 194896: [[30924]], 194897: [[16611]], 194898: [[153126]], 194899: [[31062]], 194900: [[153242]], 194901: [[153285]], 194902: [[31119]], 194903: [[31211]], 194904: [[16687]], 194905: [[31296]], 194906: [[31306]], 194907: [[31311]], 194908: [[153980]], 194909: [[154279]], 194910: [[154279]], 194911: [[31470]], 194912: [[16898]], 194913: [[154539]], 194914: [[31686]], 194915: [[31689]], 194916: [[16935]], 194917: [[154752]], 194918: [[31954]], 194919: [[17056]], 194920: [[31976]], 194921: [[31971]], 194922: [[32000]], 194923: [[155526]], 194924: [[32099]], 194925: [[17153]], 194926: [[32199]], 194927: [[32258]], 194928: [[32325]], 194929: [[17204]], 194930: [[156200]], 194931: [[156231]], 194932: [[17241]], 194933: [[156377]], 194934: [[32634]], 194935: [[156478]], 194936: [[32661]], 194937: [[32762]], 194938: [[32773]], 194939: [[156890]], 194940: [[156963]], 194941: [[32864]], 194942: [[157096]], 194943: [[32880]], 194944: [[144223]], 194945: [[17365]], 194946: [[32946]], 194947: [[33027]], 194948: [[17419]], 194949: [[33086]], 194950: [[23221]], 194951: [[157607]], 194952: [[157621]], 194953: [[144275]], 194954: [[144284]], 194955: [[33281]], 194956: [[33284]], 194957: [[36766]], 194958: [[17515]], 194959: [[33425]], 194960: [[33419]], 194961: [[33437]], 194962: [[21171]], 194963: [[33457]], 194964: [[33459]], 194965: [[33469]], 194966: [[33510]], 194967: [[158524]], 194968: [[33509]], 194969: [[33565]], 194970: [[33635]], 194971: [[33709]], 194972: [[33571]], 194973: [[33725]], 194974: [[33767]], 194975: [[33879]], 194976: [[33619]], 194977: [[33738]], 194978: [[33740]], 194979: [[33756]], 194980: [[158774]], 194981: [[159083]], 194982: [[158933]], 194983: [[17707]], 194984: [[34033]], 194985: [[34035]], 194986: [[34070]], 194987: [[160714]], 194988: [[34148]], 194989: [[159532]], 194990: [[17757]], 194991: [[17761]], 194992: [[159665]], 194993: [[159954]], 194994: [[17771]], 194995: [[34384]], 194996: [[34396]], 194997: [[34407]], 194998: [[34409]], 194999: [[34473]], 195000: [[34440]], 195001: [[34574]], 195002: [[34530]], 195003: [[34681]], 195004: [[34600]], 195005: [[34667]], 195006: [[34694]], 195007: [[17879]], 195008: [[34785]], 195009: [[34817]], 195010: [[17913]], 195011: [[34912]], 195012: [[34915]], 195013: [[161383]], 195014: [[35031]], 195015: [[35038]], 195016: [[17973]], 195017: [[35066]], 195018: [[13499]], 195019: [[161966]], 195020: [[162150]], 195021: [[18110]], 195022: [[18119]], 195023: [[35488]], 195024: [[35565]], 195025: [[35722]], 195026: [[35925]], 195027: [[162984]], 195028: [[36011]], 195029: [[36033]], 195030: [[36123]], 195031: [[36215]], 195032: [[163631]], 195033: [[133124]], 195034: [[36299]], 195035: [[36284]], 195036: [[36336]], 195037: [[133342]], 195038: [[36564]], 195039: [[36664]], 195040: [[165330]], 195041: [[165357]], 195042: [[37012]], 195043: [[37105]], 195044: [[37137]], 195045: [[165678]], 195046: [[37147]], 195047: [[37432]], 195048: [[37591]], 195049: [[37592]], 195050: [[37500]], 195051: [[37881]], 195052: [[37909]], 195053: [[166906]], 195054: [[38283]], 195055: [[18837]], 195056: [[38327]], 195057: [[167287]], 195058: [[18918]], 195059: [[38595]], 195060: [[23986]], 195061: [[38691]], 195062: [[168261]], 195063: [[168474]], 195064: [[19054]], 195065: [[19062]], 195066: [[38880]], 195067: [[168970]], 195068: [[19122]], 195069: [[169110]], 195070: [[38923]], 195071: [[38923]] }, + 64000: { 64000: [[20999]], 64001: [[24230]], 64002: [[25299]], 64003: [[31958]], 64004: [[23429]], 64005: [[27934]], 64006: [[26292]], 64007: [[36667]], 64008: [[34892]], 64009: [[38477]], 64010: [[35211]], 64011: [[24275]], 64012: [[20800]], 64013: [[21952]], 64016: [[22618]], 64018: [[26228]], 64021: [[20958]], 64022: [[29482]], 64023: [[30410]], 64024: [[31036]], 64025: [[31070]], 64026: [[31077]], 64027: [[31119]], 64028: [[38742]], 64029: [[31934]], 64030: [[32701]], 64032: [[34322]], 64034: [[35576]], 64037: [[36920]], 64038: [[37117]], 64042: [[39151]], 64043: [[39164]], 64044: [[39208]], 64045: [[40372]], 64046: [[37086]], 64047: [[38583]], 64048: [[20398]], 64049: [[20711]], 64050: [[20813]], 64051: [[21193]], 64052: [[21220]], 64053: [[21329]], 64054: [[21917]], 64055: [[22022]], 64056: [[22120]], 64057: [[22592]], 64058: [[22696]], 64059: [[23652]], 64060: [[23662]], 64061: [[24724]], 64062: [[24936]], 64063: [[24974]], 64064: [[25074]], 64065: [[25935]], 64066: [[26082]], 64067: [[26257]], 64068: [[26757]], 64069: [[28023]], 64070: [[28186]], 64071: [[28450]], 64072: [[29038]], 64073: [[29227]], 64074: [[29730]], 64075: [[30865]], 64076: [[31038]], 64077: [[31049]], 64078: [[31048]], 64079: [[31056]], 64080: [[31062]], 64081: [[31069]], 64082: [[31117]], 64083: [[31118]], 64084: [[31296]], 64085: [[31361]], 64086: [[31680]], 64087: [[32244]], 64088: [[32265]], 64089: [[32321]], 64090: [[32626]], 64091: [[32773]], 64092: [[33261]], 64093: [[33401]], 64094: [[33401]], 64095: [[33879]], 64096: [[35088]], 64097: [[35222]], 64098: [[35585]], 64099: [[35641]], 64100: [[36051]], 64101: [[36104]], 64102: [[36790]], 64103: [[36920]], 64104: [[38627]], 64105: [[38911]], 64106: [[38971]], 64107: [[24693]], 64108: [[148206]], 64109: [[33304]], 64112: [[20006]], 64113: [[20917]], 64114: [[20840]], 64115: [[20352]], 64116: [[20805]], 64117: [[20864]], 64118: [[21191]], 64119: [[21242]], 64120: [[21917]], 64121: [[21845]], 64122: [[21913]], 64123: [[21986]], 64124: [[22618]], 64125: [[22707]], 64126: [[22852]], 64127: [[22868]], 64128: [[23138]], 64129: [[23336]], 64130: [[24274]], 64131: [[24281]], 64132: [[24425]], 64133: [[24493]], 64134: [[24792]], 64135: [[24910]], 64136: [[24840]], 64137: [[24974]], 64138: [[24928]], 64139: [[25074]], 64140: [[25140]], 64141: [[25540]], 64142: [[25628]], 64143: [[25682]], 64144: [[25942]], 64145: [[26228]], 64146: [[26391]], 64147: [[26395]], 64148: [[26454]], 64149: [[27513]], 64150: [[27578]], 64151: [[27969]], 64152: [[28379]], 64153: [[28363]], 64154: [[28450]], 64155: [[28702]], 64156: [[29038]], 64157: [[30631]], 64158: [[29237]], 64159: [[29359]], 64160: [[29482]], 64161: [[29809]], 64162: [[29958]], 64163: [[30011]], 64164: [[30237]], 64165: [[30239]], 64166: [[30410]], 64167: [[30427]], 64168: [[30452]], 64169: [[30538]], 64170: [[30528]], 64171: [[30924]], 64172: [[31409]], 64173: [[31680]], 64174: [[31867]], 64175: [[32091]], 64176: [[32244]], 64177: [[32574]], 64178: [[32773]], 64179: [[33618]], 64180: [[33775]], 64181: [[34681]], 64182: [[35137]], 64183: [[35206]], 64184: [[35222]], 64185: [[35519]], 64186: [[35576]], 64187: [[35531]], 64188: [[35585]], 64189: [[35582]], 64190: [[35565]], 64191: [[35641]], 64192: [[35722]], 64193: [[36104]], 64194: [[36664]], 64195: [[36978]], 64196: [[37273]], 64197: [[37494]], 64198: [[38524]], 64199: [[38627]], 64200: [[38742]], 64201: [[38875]], 64202: [[38911]], 64203: [[38923]], 64204: [[38971]], 64205: [[39698]], 64206: [[40860]], 64207: [[141386]], 64208: [[141380]], 64209: [[144341]], 64210: [[15261]], 64211: [[16408]], 64212: [[16441]], 64213: [[152137]], 64214: [[154832]], 64215: [[163539]], 64216: [[40771]], 64217: [[40846]], 195072: [[38953]], 195073: [[169398]], 195074: [[39138]], 195075: [[19251]], 195076: [[39209]], 195077: [[39335]], 195078: [[39362]], 195079: [[39422]], 195080: [[19406]], 195081: [[170800]], 195082: [[39698]], 195083: [[40000]], 195084: [[40189]], 195085: [[19662]], 195086: [[19693]], 195087: [[40295]], 195088: [[172238]], 195089: [[19704]], 195090: [[172293]], 195091: [[172558]], 195092: [[172689]], 195093: [[40635]], 195094: [[19798]], 195095: [[40697]], 195096: [[40702]], 195097: [[40709]], 195098: [[40719]], 195099: [[40726]], 195100: [[40763]], 195101: [[173568]] }, + 64256: { 64256: [[102, 102], 256], 64257: [[102, 105], 256], 64258: [[102, 108], 256], 64259: [[102, 102, 105], 256], 64260: [[102, 102, 108], 256], 64261: [[383, 116], 256], 64262: [[115, 116], 256], 64275: [[1396, 1398], 256], 64276: [[1396, 1381], 256], 64277: [[1396, 1387], 256], 64278: [[1406, 1398], 256], 64279: [[1396, 1389], 256], 64285: [[1497, 1460], 512], 64286: [, 26], 64287: [[1522, 1463], 512], 64288: [[1506], 256], 64289: [[1488], 256], 64290: [[1491], 256], 64291: [[1492], 256], 64292: [[1499], 256], 64293: [[1500], 256], 64294: [[1501], 256], 64295: [[1512], 256], 64296: [[1514], 256], 64297: [[43], 256], 64298: [[1513, 1473], 512], 64299: [[1513, 1474], 512], 64300: [[64329, 1473], 512], 64301: [[64329, 1474], 512], 64302: [[1488, 1463], 512], 64303: [[1488, 1464], 512], 64304: [[1488, 1468], 512], 64305: [[1489, 1468], 512], 64306: [[1490, 1468], 512], 64307: [[1491, 1468], 512], 64308: [[1492, 1468], 512], 64309: [[1493, 1468], 512], 64310: [[1494, 1468], 512], 64312: [[1496, 1468], 512], 64313: [[1497, 1468], 512], 64314: [[1498, 1468], 512], 64315: [[1499, 1468], 512], 64316: [[1500, 1468], 512], 64318: [[1502, 1468], 512], 64320: [[1504, 1468], 512], 64321: [[1505, 1468], 512], 64323: [[1507, 1468], 512], 64324: [[1508, 1468], 512], 64326: [[1510, 1468], 512], 64327: [[1511, 1468], 512], 64328: [[1512, 1468], 512], 64329: [[1513, 1468], 512], 64330: [[1514, 1468], 512], 64331: [[1493, 1465], 512], 64332: [[1489, 1471], 512], 64333: [[1499, 1471], 512], 64334: [[1508, 1471], 512], 64335: [[1488, 1500], 256], 64336: [[1649], 256], 64337: [[1649], 256], 64338: [[1659], 256], 64339: [[1659], 256], 64340: [[1659], 256], 64341: [[1659], 256], 64342: [[1662], 256], 64343: [[1662], 256], 64344: [[1662], 256], 64345: [[1662], 256], 64346: [[1664], 256], 64347: [[1664], 256], 64348: [[1664], 256], 64349: [[1664], 256], 64350: [[1658], 256], 64351: [[1658], 256], 64352: [[1658], 256], 64353: [[1658], 256], 64354: [[1663], 256], 64355: [[1663], 256], 64356: [[1663], 256], 64357: [[1663], 256], 64358: [[1657], 256], 64359: [[1657], 256], 64360: [[1657], 256], 64361: [[1657], 256], 64362: [[1700], 256], 64363: [[1700], 256], 64364: [[1700], 256], 64365: [[1700], 256], 64366: [[1702], 256], 64367: [[1702], 256], 64368: [[1702], 256], 64369: [[1702], 256], 64370: [[1668], 256], 64371: [[1668], 256], 64372: [[1668], 256], 64373: [[1668], 256], 64374: [[1667], 256], 64375: [[1667], 256], 64376: [[1667], 256], 64377: [[1667], 256], 64378: [[1670], 256], 64379: [[1670], 256], 64380: [[1670], 256], 64381: [[1670], 256], 64382: [[1671], 256], 64383: [[1671], 256], 64384: [[1671], 256], 64385: [[1671], 256], 64386: [[1677], 256], 64387: [[1677], 256], 64388: [[1676], 256], 64389: [[1676], 256], 64390: [[1678], 256], 64391: [[1678], 256], 64392: [[1672], 256], 64393: [[1672], 256], 64394: [[1688], 256], 64395: [[1688], 256], 64396: [[1681], 256], 64397: [[1681], 256], 64398: [[1705], 256], 64399: [[1705], 256], 64400: [[1705], 256], 64401: [[1705], 256], 64402: [[1711], 256], 64403: [[1711], 256], 64404: [[1711], 256], 64405: [[1711], 256], 64406: [[1715], 256], 64407: [[1715], 256], 64408: [[1715], 256], 64409: [[1715], 256], 64410: [[1713], 256], 64411: [[1713], 256], 64412: [[1713], 256], 64413: [[1713], 256], 64414: [[1722], 256], 64415: [[1722], 256], 64416: [[1723], 256], 64417: [[1723], 256], 64418: [[1723], 256], 64419: [[1723], 256], 64420: [[1728], 256], 64421: [[1728], 256], 64422: [[1729], 256], 64423: [[1729], 256], 64424: [[1729], 256], 64425: [[1729], 256], 64426: [[1726], 256], 64427: [[1726], 256], 64428: [[1726], 256], 64429: [[1726], 256], 64430: [[1746], 256], 64431: [[1746], 256], 64432: [[1747], 256], 64433: [[1747], 256], 64467: [[1709], 256], 64468: [[1709], 256], 64469: [[1709], 256], 64470: [[1709], 256], 64471: [[1735], 256], 64472: [[1735], 256], 64473: [[1734], 256], 64474: [[1734], 256], 64475: [[1736], 256], 64476: [[1736], 256], 64477: [[1655], 256], 64478: [[1739], 256], 64479: [[1739], 256], 64480: [[1733], 256], 64481: [[1733], 256], 64482: [[1737], 256], 64483: [[1737], 256], 64484: [[1744], 256], 64485: [[1744], 256], 64486: [[1744], 256], 64487: [[1744], 256], 64488: [[1609], 256], 64489: [[1609], 256], 64490: [[1574, 1575], 256], 64491: [[1574, 1575], 256], 64492: [[1574, 1749], 256], 64493: [[1574, 1749], 256], 64494: [[1574, 1608], 256], 64495: [[1574, 1608], 256], 64496: [[1574, 1735], 256], 64497: [[1574, 1735], 256], 64498: [[1574, 1734], 256], 64499: [[1574, 1734], 256], 64500: [[1574, 1736], 256], 64501: [[1574, 1736], 256], 64502: [[1574, 1744], 256], 64503: [[1574, 1744], 256], 64504: [[1574, 1744], 256], 64505: [[1574, 1609], 256], 64506: [[1574, 1609], 256], 64507: [[1574, 1609], 256], 64508: [[1740], 256], 64509: [[1740], 256], 64510: [[1740], 256], 64511: [[1740], 256] }, + 64512: { 64512: [[1574, 1580], 256], 64513: [[1574, 1581], 256], 64514: [[1574, 1605], 256], 64515: [[1574, 1609], 256], 64516: [[1574, 1610], 256], 64517: [[1576, 1580], 256], 64518: [[1576, 1581], 256], 64519: [[1576, 1582], 256], 64520: [[1576, 1605], 256], 64521: [[1576, 1609], 256], 64522: [[1576, 1610], 256], 64523: [[1578, 1580], 256], 64524: [[1578, 1581], 256], 64525: [[1578, 1582], 256], 64526: [[1578, 1605], 256], 64527: [[1578, 1609], 256], 64528: [[1578, 1610], 256], 64529: [[1579, 1580], 256], 64530: [[1579, 1605], 256], 64531: [[1579, 1609], 256], 64532: [[1579, 1610], 256], 64533: [[1580, 1581], 256], 64534: [[1580, 1605], 256], 64535: [[1581, 1580], 256], 64536: [[1581, 1605], 256], 64537: [[1582, 1580], 256], 64538: [[1582, 1581], 256], 64539: [[1582, 1605], 256], 64540: [[1587, 1580], 256], 64541: [[1587, 1581], 256], 64542: [[1587, 1582], 256], 64543: [[1587, 1605], 256], 64544: [[1589, 1581], 256], 64545: [[1589, 1605], 256], 64546: [[1590, 1580], 256], 64547: [[1590, 1581], 256], 64548: [[1590, 1582], 256], 64549: [[1590, 1605], 256], 64550: [[1591, 1581], 256], 64551: [[1591, 1605], 256], 64552: [[1592, 1605], 256], 64553: [[1593, 1580], 256], 64554: [[1593, 1605], 256], 64555: [[1594, 1580], 256], 64556: [[1594, 1605], 256], 64557: [[1601, 1580], 256], 64558: [[1601, 1581], 256], 64559: [[1601, 1582], 256], 64560: [[1601, 1605], 256], 64561: [[1601, 1609], 256], 64562: [[1601, 1610], 256], 64563: [[1602, 1581], 256], 64564: [[1602, 1605], 256], 64565: [[1602, 1609], 256], 64566: [[1602, 1610], 256], 64567: [[1603, 1575], 256], 64568: [[1603, 1580], 256], 64569: [[1603, 1581], 256], 64570: [[1603, 1582], 256], 64571: [[1603, 1604], 256], 64572: [[1603, 1605], 256], 64573: [[1603, 1609], 256], 64574: [[1603, 1610], 256], 64575: [[1604, 1580], 256], 64576: [[1604, 1581], 256], 64577: [[1604, 1582], 256], 64578: [[1604, 1605], 256], 64579: [[1604, 1609], 256], 64580: [[1604, 1610], 256], 64581: [[1605, 1580], 256], 64582: [[1605, 1581], 256], 64583: [[1605, 1582], 256], 64584: [[1605, 1605], 256], 64585: [[1605, 1609], 256], 64586: [[1605, 1610], 256], 64587: [[1606, 1580], 256], 64588: [[1606, 1581], 256], 64589: [[1606, 1582], 256], 64590: [[1606, 1605], 256], 64591: [[1606, 1609], 256], 64592: [[1606, 1610], 256], 64593: [[1607, 1580], 256], 64594: [[1607, 1605], 256], 64595: [[1607, 1609], 256], 64596: [[1607, 1610], 256], 64597: [[1610, 1580], 256], 64598: [[1610, 1581], 256], 64599: [[1610, 1582], 256], 64600: [[1610, 1605], 256], 64601: [[1610, 1609], 256], 64602: [[1610, 1610], 256], 64603: [[1584, 1648], 256], 64604: [[1585, 1648], 256], 64605: [[1609, 1648], 256], 64606: [[32, 1612, 1617], 256], 64607: [[32, 1613, 1617], 256], 64608: [[32, 1614, 1617], 256], 64609: [[32, 1615, 1617], 256], 64610: [[32, 1616, 1617], 256], 64611: [[32, 1617, 1648], 256], 64612: [[1574, 1585], 256], 64613: [[1574, 1586], 256], 64614: [[1574, 1605], 256], 64615: [[1574, 1606], 256], 64616: [[1574, 1609], 256], 64617: [[1574, 1610], 256], 64618: [[1576, 1585], 256], 64619: [[1576, 1586], 256], 64620: [[1576, 1605], 256], 64621: [[1576, 1606], 256], 64622: [[1576, 1609], 256], 64623: [[1576, 1610], 256], 64624: [[1578, 1585], 256], 64625: [[1578, 1586], 256], 64626: [[1578, 1605], 256], 64627: [[1578, 1606], 256], 64628: [[1578, 1609], 256], 64629: [[1578, 1610], 256], 64630: [[1579, 1585], 256], 64631: [[1579, 1586], 256], 64632: [[1579, 1605], 256], 64633: [[1579, 1606], 256], 64634: [[1579, 1609], 256], 64635: [[1579, 1610], 256], 64636: [[1601, 1609], 256], 64637: [[1601, 1610], 256], 64638: [[1602, 1609], 256], 64639: [[1602, 1610], 256], 64640: [[1603, 1575], 256], 64641: [[1603, 1604], 256], 64642: [[1603, 1605], 256], 64643: [[1603, 1609], 256], 64644: [[1603, 1610], 256], 64645: [[1604, 1605], 256], 64646: [[1604, 1609], 256], 64647: [[1604, 1610], 256], 64648: [[1605, 1575], 256], 64649: [[1605, 1605], 256], 64650: [[1606, 1585], 256], 64651: [[1606, 1586], 256], 64652: [[1606, 1605], 256], 64653: [[1606, 1606], 256], 64654: [[1606, 1609], 256], 64655: [[1606, 1610], 256], 64656: [[1609, 1648], 256], 64657: [[1610, 1585], 256], 64658: [[1610, 1586], 256], 64659: [[1610, 1605], 256], 64660: [[1610, 1606], 256], 64661: [[1610, 1609], 256], 64662: [[1610, 1610], 256], 64663: [[1574, 1580], 256], 64664: [[1574, 1581], 256], 64665: [[1574, 1582], 256], 64666: [[1574, 1605], 256], 64667: [[1574, 1607], 256], 64668: [[1576, 1580], 256], 64669: [[1576, 1581], 256], 64670: [[1576, 1582], 256], 64671: [[1576, 1605], 256], 64672: [[1576, 1607], 256], 64673: [[1578, 1580], 256], 64674: [[1578, 1581], 256], 64675: [[1578, 1582], 256], 64676: [[1578, 1605], 256], 64677: [[1578, 1607], 256], 64678: [[1579, 1605], 256], 64679: [[1580, 1581], 256], 64680: [[1580, 1605], 256], 64681: [[1581, 1580], 256], 64682: [[1581, 1605], 256], 64683: [[1582, 1580], 256], 64684: [[1582, 1605], 256], 64685: [[1587, 1580], 256], 64686: [[1587, 1581], 256], 64687: [[1587, 1582], 256], 64688: [[1587, 1605], 256], 64689: [[1589, 1581], 256], 64690: [[1589, 1582], 256], 64691: [[1589, 1605], 256], 64692: [[1590, 1580], 256], 64693: [[1590, 1581], 256], 64694: [[1590, 1582], 256], 64695: [[1590, 1605], 256], 64696: [[1591, 1581], 256], 64697: [[1592, 1605], 256], 64698: [[1593, 1580], 256], 64699: [[1593, 1605], 256], 64700: [[1594, 1580], 256], 64701: [[1594, 1605], 256], 64702: [[1601, 1580], 256], 64703: [[1601, 1581], 256], 64704: [[1601, 1582], 256], 64705: [[1601, 1605], 256], 64706: [[1602, 1581], 256], 64707: [[1602, 1605], 256], 64708: [[1603, 1580], 256], 64709: [[1603, 1581], 256], 64710: [[1603, 1582], 256], 64711: [[1603, 1604], 256], 64712: [[1603, 1605], 256], 64713: [[1604, 1580], 256], 64714: [[1604, 1581], 256], 64715: [[1604, 1582], 256], 64716: [[1604, 1605], 256], 64717: [[1604, 1607], 256], 64718: [[1605, 1580], 256], 64719: [[1605, 1581], 256], 64720: [[1605, 1582], 256], 64721: [[1605, 1605], 256], 64722: [[1606, 1580], 256], 64723: [[1606, 1581], 256], 64724: [[1606, 1582], 256], 64725: [[1606, 1605], 256], 64726: [[1606, 1607], 256], 64727: [[1607, 1580], 256], 64728: [[1607, 1605], 256], 64729: [[1607, 1648], 256], 64730: [[1610, 1580], 256], 64731: [[1610, 1581], 256], 64732: [[1610, 1582], 256], 64733: [[1610, 1605], 256], 64734: [[1610, 1607], 256], 64735: [[1574, 1605], 256], 64736: [[1574, 1607], 256], 64737: [[1576, 1605], 256], 64738: [[1576, 1607], 256], 64739: [[1578, 1605], 256], 64740: [[1578, 1607], 256], 64741: [[1579, 1605], 256], 64742: [[1579, 1607], 256], 64743: [[1587, 1605], 256], 64744: [[1587, 1607], 256], 64745: [[1588, 1605], 256], 64746: [[1588, 1607], 256], 64747: [[1603, 1604], 256], 64748: [[1603, 1605], 256], 64749: [[1604, 1605], 256], 64750: [[1606, 1605], 256], 64751: [[1606, 1607], 256], 64752: [[1610, 1605], 256], 64753: [[1610, 1607], 256], 64754: [[1600, 1614, 1617], 256], 64755: [[1600, 1615, 1617], 256], 64756: [[1600, 1616, 1617], 256], 64757: [[1591, 1609], 256], 64758: [[1591, 1610], 256], 64759: [[1593, 1609], 256], 64760: [[1593, 1610], 256], 64761: [[1594, 1609], 256], 64762: [[1594, 1610], 256], 64763: [[1587, 1609], 256], 64764: [[1587, 1610], 256], 64765: [[1588, 1609], 256], 64766: [[1588, 1610], 256], 64767: [[1581, 1609], 256] }, + 64768: { 64768: [[1581, 1610], 256], 64769: [[1580, 1609], 256], 64770: [[1580, 1610], 256], 64771: [[1582, 1609], 256], 64772: [[1582, 1610], 256], 64773: [[1589, 1609], 256], 64774: [[1589, 1610], 256], 64775: [[1590, 1609], 256], 64776: [[1590, 1610], 256], 64777: [[1588, 1580], 256], 64778: [[1588, 1581], 256], 64779: [[1588, 1582], 256], 64780: [[1588, 1605], 256], 64781: [[1588, 1585], 256], 64782: [[1587, 1585], 256], 64783: [[1589, 1585], 256], 64784: [[1590, 1585], 256], 64785: [[1591, 1609], 256], 64786: [[1591, 1610], 256], 64787: [[1593, 1609], 256], 64788: [[1593, 1610], 256], 64789: [[1594, 1609], 256], 64790: [[1594, 1610], 256], 64791: [[1587, 1609], 256], 64792: [[1587, 1610], 256], 64793: [[1588, 1609], 256], 64794: [[1588, 1610], 256], 64795: [[1581, 1609], 256], 64796: [[1581, 1610], 256], 64797: [[1580, 1609], 256], 64798: [[1580, 1610], 256], 64799: [[1582, 1609], 256], 64800: [[1582, 1610], 256], 64801: [[1589, 1609], 256], 64802: [[1589, 1610], 256], 64803: [[1590, 1609], 256], 64804: [[1590, 1610], 256], 64805: [[1588, 1580], 256], 64806: [[1588, 1581], 256], 64807: [[1588, 1582], 256], 64808: [[1588, 1605], 256], 64809: [[1588, 1585], 256], 64810: [[1587, 1585], 256], 64811: [[1589, 1585], 256], 64812: [[1590, 1585], 256], 64813: [[1588, 1580], 256], 64814: [[1588, 1581], 256], 64815: [[1588, 1582], 256], 64816: [[1588, 1605], 256], 64817: [[1587, 1607], 256], 64818: [[1588, 1607], 256], 64819: [[1591, 1605], 256], 64820: [[1587, 1580], 256], 64821: [[1587, 1581], 256], 64822: [[1587, 1582], 256], 64823: [[1588, 1580], 256], 64824: [[1588, 1581], 256], 64825: [[1588, 1582], 256], 64826: [[1591, 1605], 256], 64827: [[1592, 1605], 256], 64828: [[1575, 1611], 256], 64829: [[1575, 1611], 256], 64848: [[1578, 1580, 1605], 256], 64849: [[1578, 1581, 1580], 256], 64850: [[1578, 1581, 1580], 256], 64851: [[1578, 1581, 1605], 256], 64852: [[1578, 1582, 1605], 256], 64853: [[1578, 1605, 1580], 256], 64854: [[1578, 1605, 1581], 256], 64855: [[1578, 1605, 1582], 256], 64856: [[1580, 1605, 1581], 256], 64857: [[1580, 1605, 1581], 256], 64858: [[1581, 1605, 1610], 256], 64859: [[1581, 1605, 1609], 256], 64860: [[1587, 1581, 1580], 256], 64861: [[1587, 1580, 1581], 256], 64862: [[1587, 1580, 1609], 256], 64863: [[1587, 1605, 1581], 256], 64864: [[1587, 1605, 1581], 256], 64865: [[1587, 1605, 1580], 256], 64866: [[1587, 1605, 1605], 256], 64867: [[1587, 1605, 1605], 256], 64868: [[1589, 1581, 1581], 256], 64869: [[1589, 1581, 1581], 256], 64870: [[1589, 1605, 1605], 256], 64871: [[1588, 1581, 1605], 256], 64872: [[1588, 1581, 1605], 256], 64873: [[1588, 1580, 1610], 256], 64874: [[1588, 1605, 1582], 256], 64875: [[1588, 1605, 1582], 256], 64876: [[1588, 1605, 1605], 256], 64877: [[1588, 1605, 1605], 256], 64878: [[1590, 1581, 1609], 256], 64879: [[1590, 1582, 1605], 256], 64880: [[1590, 1582, 1605], 256], 64881: [[1591, 1605, 1581], 256], 64882: [[1591, 1605, 1581], 256], 64883: [[1591, 1605, 1605], 256], 64884: [[1591, 1605, 1610], 256], 64885: [[1593, 1580, 1605], 256], 64886: [[1593, 1605, 1605], 256], 64887: [[1593, 1605, 1605], 256], 64888: [[1593, 1605, 1609], 256], 64889: [[1594, 1605, 1605], 256], 64890: [[1594, 1605, 1610], 256], 64891: [[1594, 1605, 1609], 256], 64892: [[1601, 1582, 1605], 256], 64893: [[1601, 1582, 1605], 256], 64894: [[1602, 1605, 1581], 256], 64895: [[1602, 1605, 1605], 256], 64896: [[1604, 1581, 1605], 256], 64897: [[1604, 1581, 1610], 256], 64898: [[1604, 1581, 1609], 256], 64899: [[1604, 1580, 1580], 256], 64900: [[1604, 1580, 1580], 256], 64901: [[1604, 1582, 1605], 256], 64902: [[1604, 1582, 1605], 256], 64903: [[1604, 1605, 1581], 256], 64904: [[1604, 1605, 1581], 256], 64905: [[1605, 1581, 1580], 256], 64906: [[1605, 1581, 1605], 256], 64907: [[1605, 1581, 1610], 256], 64908: [[1605, 1580, 1581], 256], 64909: [[1605, 1580, 1605], 256], 64910: [[1605, 1582, 1580], 256], 64911: [[1605, 1582, 1605], 256], 64914: [[1605, 1580, 1582], 256], 64915: [[1607, 1605, 1580], 256], 64916: [[1607, 1605, 1605], 256], 64917: [[1606, 1581, 1605], 256], 64918: [[1606, 1581, 1609], 256], 64919: [[1606, 1580, 1605], 256], 64920: [[1606, 1580, 1605], 256], 64921: [[1606, 1580, 1609], 256], 64922: [[1606, 1605, 1610], 256], 64923: [[1606, 1605, 1609], 256], 64924: [[1610, 1605, 1605], 256], 64925: [[1610, 1605, 1605], 256], 64926: [[1576, 1582, 1610], 256], 64927: [[1578, 1580, 1610], 256], 64928: [[1578, 1580, 1609], 256], 64929: [[1578, 1582, 1610], 256], 64930: [[1578, 1582, 1609], 256], 64931: [[1578, 1605, 1610], 256], 64932: [[1578, 1605, 1609], 256], 64933: [[1580, 1605, 1610], 256], 64934: [[1580, 1581, 1609], 256], 64935: [[1580, 1605, 1609], 256], 64936: [[1587, 1582, 1609], 256], 64937: [[1589, 1581, 1610], 256], 64938: [[1588, 1581, 1610], 256], 64939: [[1590, 1581, 1610], 256], 64940: [[1604, 1580, 1610], 256], 64941: [[1604, 1605, 1610], 256], 64942: [[1610, 1581, 1610], 256], 64943: [[1610, 1580, 1610], 256], 64944: [[1610, 1605, 1610], 256], 64945: [[1605, 1605, 1610], 256], 64946: [[1602, 1605, 1610], 256], 64947: [[1606, 1581, 1610], 256], 64948: [[1602, 1605, 1581], 256], 64949: [[1604, 1581, 1605], 256], 64950: [[1593, 1605, 1610], 256], 64951: [[1603, 1605, 1610], 256], 64952: [[1606, 1580, 1581], 256], 64953: [[1605, 1582, 1610], 256], 64954: [[1604, 1580, 1605], 256], 64955: [[1603, 1605, 1605], 256], 64956: [[1604, 1580, 1605], 256], 64957: [[1606, 1580, 1581], 256], 64958: [[1580, 1581, 1610], 256], 64959: [[1581, 1580, 1610], 256], 64960: [[1605, 1580, 1610], 256], 64961: [[1601, 1605, 1610], 256], 64962: [[1576, 1581, 1610], 256], 64963: [[1603, 1605, 1605], 256], 64964: [[1593, 1580, 1605], 256], 64965: [[1589, 1605, 1605], 256], 64966: [[1587, 1582, 1610], 256], 64967: [[1606, 1580, 1610], 256], 65008: [[1589, 1604, 1746], 256], 65009: [[1602, 1604, 1746], 256], 65010: [[1575, 1604, 1604, 1607], 256], 65011: [[1575, 1603, 1576, 1585], 256], 65012: [[1605, 1581, 1605, 1583], 256], 65013: [[1589, 1604, 1593, 1605], 256], 65014: [[1585, 1587, 1608, 1604], 256], 65015: [[1593, 1604, 1610, 1607], 256], 65016: [[1608, 1587, 1604, 1605], 256], 65017: [[1589, 1604, 1609], 256], 65018: [[1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605], 256], 65019: [[1580, 1604, 32, 1580, 1604, 1575, 1604, 1607], 256], 65020: [[1585, 1740, 1575, 1604], 256] }, + 65024: { 65040: [[44], 256], 65041: [[12289], 256], 65042: [[12290], 256], 65043: [[58], 256], 65044: [[59], 256], 65045: [[33], 256], 65046: [[63], 256], 65047: [[12310], 256], 65048: [[12311], 256], 65049: [[8230], 256], 65056: [, 230], 65057: [, 230], 65058: [, 230], 65059: [, 230], 65060: [, 230], 65061: [, 230], 65062: [, 230], 65063: [, 220], 65064: [, 220], 65065: [, 220], 65066: [, 220], 65067: [, 220], 65068: [, 220], 65069: [, 220], 65072: [[8229], 256], 65073: [[8212], 256], 65074: [[8211], 256], 65075: [[95], 256], 65076: [[95], 256], 65077: [[40], 256], 65078: [[41], 256], 65079: [[123], 256], 65080: [[125], 256], 65081: [[12308], 256], 65082: [[12309], 256], 65083: [[12304], 256], 65084: [[12305], 256], 65085: [[12298], 256], 65086: [[12299], 256], 65087: [[12296], 256], 65088: [[12297], 256], 65089: [[12300], 256], 65090: [[12301], 256], 65091: [[12302], 256], 65092: [[12303], 256], 65095: [[91], 256], 65096: [[93], 256], 65097: [[8254], 256], 65098: [[8254], 256], 65099: [[8254], 256], 65100: [[8254], 256], 65101: [[95], 256], 65102: [[95], 256], 65103: [[95], 256], 65104: [[44], 256], 65105: [[12289], 256], 65106: [[46], 256], 65108: [[59], 256], 65109: [[58], 256], 65110: [[63], 256], 65111: [[33], 256], 65112: [[8212], 256], 65113: [[40], 256], 65114: [[41], 256], 65115: [[123], 256], 65116: [[125], 256], 65117: [[12308], 256], 65118: [[12309], 256], 65119: [[35], 256], 65120: [[38], 256], 65121: [[42], 256], 65122: [[43], 256], 65123: [[45], 256], 65124: [[60], 256], 65125: [[62], 256], 65126: [[61], 256], 65128: [[92], 256], 65129: [[36], 256], 65130: [[37], 256], 65131: [[64], 256], 65136: [[32, 1611], 256], 65137: [[1600, 1611], 256], 65138: [[32, 1612], 256], 65140: [[32, 1613], 256], 65142: [[32, 1614], 256], 65143: [[1600, 1614], 256], 65144: [[32, 1615], 256], 65145: [[1600, 1615], 256], 65146: [[32, 1616], 256], 65147: [[1600, 1616], 256], 65148: [[32, 1617], 256], 65149: [[1600, 1617], 256], 65150: [[32, 1618], 256], 65151: [[1600, 1618], 256], 65152: [[1569], 256], 65153: [[1570], 256], 65154: [[1570], 256], 65155: [[1571], 256], 65156: [[1571], 256], 65157: [[1572], 256], 65158: [[1572], 256], 65159: [[1573], 256], 65160: [[1573], 256], 65161: [[1574], 256], 65162: [[1574], 256], 65163: [[1574], 256], 65164: [[1574], 256], 65165: [[1575], 256], 65166: [[1575], 256], 65167: [[1576], 256], 65168: [[1576], 256], 65169: [[1576], 256], 65170: [[1576], 256], 65171: [[1577], 256], 65172: [[1577], 256], 65173: [[1578], 256], 65174: [[1578], 256], 65175: [[1578], 256], 65176: [[1578], 256], 65177: [[1579], 256], 65178: [[1579], 256], 65179: [[1579], 256], 65180: [[1579], 256], 65181: [[1580], 256], 65182: [[1580], 256], 65183: [[1580], 256], 65184: [[1580], 256], 65185: [[1581], 256], 65186: [[1581], 256], 65187: [[1581], 256], 65188: [[1581], 256], 65189: [[1582], 256], 65190: [[1582], 256], 65191: [[1582], 256], 65192: [[1582], 256], 65193: [[1583], 256], 65194: [[1583], 256], 65195: [[1584], 256], 65196: [[1584], 256], 65197: [[1585], 256], 65198: [[1585], 256], 65199: [[1586], 256], 65200: [[1586], 256], 65201: [[1587], 256], 65202: [[1587], 256], 65203: [[1587], 256], 65204: [[1587], 256], 65205: [[1588], 256], 65206: [[1588], 256], 65207: [[1588], 256], 65208: [[1588], 256], 65209: [[1589], 256], 65210: [[1589], 256], 65211: [[1589], 256], 65212: [[1589], 256], 65213: [[1590], 256], 65214: [[1590], 256], 65215: [[1590], 256], 65216: [[1590], 256], 65217: [[1591], 256], 65218: [[1591], 256], 65219: [[1591], 256], 65220: [[1591], 256], 65221: [[1592], 256], 65222: [[1592], 256], 65223: [[1592], 256], 65224: [[1592], 256], 65225: [[1593], 256], 65226: [[1593], 256], 65227: [[1593], 256], 65228: [[1593], 256], 65229: [[1594], 256], 65230: [[1594], 256], 65231: [[1594], 256], 65232: [[1594], 256], 65233: [[1601], 256], 65234: [[1601], 256], 65235: [[1601], 256], 65236: [[1601], 256], 65237: [[1602], 256], 65238: [[1602], 256], 65239: [[1602], 256], 65240: [[1602], 256], 65241: [[1603], 256], 65242: [[1603], 256], 65243: [[1603], 256], 65244: [[1603], 256], 65245: [[1604], 256], 65246: [[1604], 256], 65247: [[1604], 256], 65248: [[1604], 256], 65249: [[1605], 256], 65250: [[1605], 256], 65251: [[1605], 256], 65252: [[1605], 256], 65253: [[1606], 256], 65254: [[1606], 256], 65255: [[1606], 256], 65256: [[1606], 256], 65257: [[1607], 256], 65258: [[1607], 256], 65259: [[1607], 256], 65260: [[1607], 256], 65261: [[1608], 256], 65262: [[1608], 256], 65263: [[1609], 256], 65264: [[1609], 256], 65265: [[1610], 256], 65266: [[1610], 256], 65267: [[1610], 256], 65268: [[1610], 256], 65269: [[1604, 1570], 256], 65270: [[1604, 1570], 256], 65271: [[1604, 1571], 256], 65272: [[1604, 1571], 256], 65273: [[1604, 1573], 256], 65274: [[1604, 1573], 256], 65275: [[1604, 1575], 256], 65276: [[1604, 1575], 256] }, + 65280: { 65281: [[33], 256], 65282: [[34], 256], 65283: [[35], 256], 65284: [[36], 256], 65285: [[37], 256], 65286: [[38], 256], 65287: [[39], 256], 65288: [[40], 256], 65289: [[41], 256], 65290: [[42], 256], 65291: [[43], 256], 65292: [[44], 256], 65293: [[45], 256], 65294: [[46], 256], 65295: [[47], 256], 65296: [[48], 256], 65297: [[49], 256], 65298: [[50], 256], 65299: [[51], 256], 65300: [[52], 256], 65301: [[53], 256], 65302: [[54], 256], 65303: [[55], 256], 65304: [[56], 256], 65305: [[57], 256], 65306: [[58], 256], 65307: [[59], 256], 65308: [[60], 256], 65309: [[61], 256], 65310: [[62], 256], 65311: [[63], 256], 65312: [[64], 256], 65313: [[65], 256], 65314: [[66], 256], 65315: [[67], 256], 65316: [[68], 256], 65317: [[69], 256], 65318: [[70], 256], 65319: [[71], 256], 65320: [[72], 256], 65321: [[73], 256], 65322: [[74], 256], 65323: [[75], 256], 65324: [[76], 256], 65325: [[77], 256], 65326: [[78], 256], 65327: [[79], 256], 65328: [[80], 256], 65329: [[81], 256], 65330: [[82], 256], 65331: [[83], 256], 65332: [[84], 256], 65333: [[85], 256], 65334: [[86], 256], 65335: [[87], 256], 65336: [[88], 256], 65337: [[89], 256], 65338: [[90], 256], 65339: [[91], 256], 65340: [[92], 256], 65341: [[93], 256], 65342: [[94], 256], 65343: [[95], 256], 65344: [[96], 256], 65345: [[97], 256], 65346: [[98], 256], 65347: [[99], 256], 65348: [[100], 256], 65349: [[101], 256], 65350: [[102], 256], 65351: [[103], 256], 65352: [[104], 256], 65353: [[105], 256], 65354: [[106], 256], 65355: [[107], 256], 65356: [[108], 256], 65357: [[109], 256], 65358: [[110], 256], 65359: [[111], 256], 65360: [[112], 256], 65361: [[113], 256], 65362: [[114], 256], 65363: [[115], 256], 65364: [[116], 256], 65365: [[117], 256], 65366: [[118], 256], 65367: [[119], 256], 65368: [[120], 256], 65369: [[121], 256], 65370: [[122], 256], 65371: [[123], 256], 65372: [[124], 256], 65373: [[125], 256], 65374: [[126], 256], 65375: [[10629], 256], 65376: [[10630], 256], 65377: [[12290], 256], 65378: [[12300], 256], 65379: [[12301], 256], 65380: [[12289], 256], 65381: [[12539], 256], 65382: [[12530], 256], 65383: [[12449], 256], 65384: [[12451], 256], 65385: [[12453], 256], 65386: [[12455], 256], 65387: [[12457], 256], 65388: [[12515], 256], 65389: [[12517], 256], 65390: [[12519], 256], 65391: [[12483], 256], 65392: [[12540], 256], 65393: [[12450], 256], 65394: [[12452], 256], 65395: [[12454], 256], 65396: [[12456], 256], 65397: [[12458], 256], 65398: [[12459], 256], 65399: [[12461], 256], 65400: [[12463], 256], 65401: [[12465], 256], 65402: [[12467], 256], 65403: [[12469], 256], 65404: [[12471], 256], 65405: [[12473], 256], 65406: [[12475], 256], 65407: [[12477], 256], 65408: [[12479], 256], 65409: [[12481], 256], 65410: [[12484], 256], 65411: [[12486], 256], 65412: [[12488], 256], 65413: [[12490], 256], 65414: [[12491], 256], 65415: [[12492], 256], 65416: [[12493], 256], 65417: [[12494], 256], 65418: [[12495], 256], 65419: [[12498], 256], 65420: [[12501], 256], 65421: [[12504], 256], 65422: [[12507], 256], 65423: [[12510], 256], 65424: [[12511], 256], 65425: [[12512], 256], 65426: [[12513], 256], 65427: [[12514], 256], 65428: [[12516], 256], 65429: [[12518], 256], 65430: [[12520], 256], 65431: [[12521], 256], 65432: [[12522], 256], 65433: [[12523], 256], 65434: [[12524], 256], 65435: [[12525], 256], 65436: [[12527], 256], 65437: [[12531], 256], 65438: [[12441], 256], 65439: [[12442], 256], 65440: [[12644], 256], 65441: [[12593], 256], 65442: [[12594], 256], 65443: [[12595], 256], 65444: [[12596], 256], 65445: [[12597], 256], 65446: [[12598], 256], 65447: [[12599], 256], 65448: [[12600], 256], 65449: [[12601], 256], 65450: [[12602], 256], 65451: [[12603], 256], 65452: [[12604], 256], 65453: [[12605], 256], 65454: [[12606], 256], 65455: [[12607], 256], 65456: [[12608], 256], 65457: [[12609], 256], 65458: [[12610], 256], 65459: [[12611], 256], 65460: [[12612], 256], 65461: [[12613], 256], 65462: [[12614], 256], 65463: [[12615], 256], 65464: [[12616], 256], 65465: [[12617], 256], 65466: [[12618], 256], 65467: [[12619], 256], 65468: [[12620], 256], 65469: [[12621], 256], 65470: [[12622], 256], 65474: [[12623], 256], 65475: [[12624], 256], 65476: [[12625], 256], 65477: [[12626], 256], 65478: [[12627], 256], 65479: [[12628], 256], 65482: [[12629], 256], 65483: [[12630], 256], 65484: [[12631], 256], 65485: [[12632], 256], 65486: [[12633], 256], 65487: [[12634], 256], 65490: [[12635], 256], 65491: [[12636], 256], 65492: [[12637], 256], 65493: [[12638], 256], 65494: [[12639], 256], 65495: [[12640], 256], 65498: [[12641], 256], 65499: [[12642], 256], 65500: [[12643], 256], 65504: [[162], 256], 65505: [[163], 256], 65506: [[172], 256], 65507: [[175], 256], 65508: [[166], 256], 65509: [[165], 256], 65510: [[8361], 256], 65512: [[9474], 256], 65513: [[8592], 256], 65514: [[8593], 256], 65515: [[8594], 256], 65516: [[8595], 256], 65517: [[9632], 256], 65518: [[9675], 256] } -Encoder.prototype.encode = function (obj, callback) { - debug('encoding packet %j', obj); + }; - if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { - encodeAsBinary(obj, callback); - } else { - var encoding = encodeAsString(obj); - callback([encoding]); - } -}; + /***** Module to export */ + var unorm = { + nfc: nfc, + nfd: nfd, + nfkc: nfkc, + nfkd: nfkd + }; -/** - * Encode packet as string. - * - * @param {Object} packet - * @return {String} encoded - * @api private - */ + /*globals module:true,define:true*/ -function encodeAsString(obj) { + // CommonJS + if ((typeof module === "undefined" ? "undefined" : _typeof(module)) === "object") { + module.exports = unorm; - // first is type - var str = '' + obj.type; + // AMD + } else if (typeof define === "function" && define.amd) { + define("unorm", function () { + return unorm; + }); - // attachments if we have them - if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { - str += obj.attachments + '-'; - } + // Global + } else { + root.unorm = unorm; + } - // if we have a namespace other than `/` - // we append it followed by a comma `,` - if (obj.nsp && '/' !== obj.nsp) { - str += obj.nsp + ','; - } + /***** Export as shim for String::normalize method *****/ + /* + http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#november_8_2013_draft_rev_21 + 21.1.3.12 String.prototype.normalize(form="NFC") + When the normalize method is called with one argument form, the following steps are taken: + 1. Let O be CheckObjectCoercible(this value). + 2. Let S be ToString(O). + 3. ReturnIfAbrupt(S). + 4. If form is not provided or undefined let form be "NFC". + 5. Let f be ToString(form). + 6. ReturnIfAbrupt(f). + 7. If f is not one of "NFC", "NFD", "NFKC", or "NFKD", then throw a RangeError Exception. + 8. Let ns be the String value is the result of normalizing S into the normalization form named by f as specified in Unicode Standard Annex #15, UnicodeNormalizatoin Forms. + 9. Return ns. + The length property of the normalize method is 0. + *NOTE* The normalize function is intentionally generic; it does not require that its this value be a String object. Therefore it can be transferred to other kinds of objects for use as a method. + */ + unorm.shimApplied = false; - // immediately followed by the id - if (null != obj.id) { - str += obj.id; - } + if (!String.prototype.normalize) { + String.prototype.normalize = function (form) { + var str = "" + this; + form = form === undefined ? "NFC" : form; - // json data - if (null != obj.data) { - var payload = tryStringify(obj.data); - if (payload !== false) { - str += payload; - } else { - return ERROR_PACKET; - } - } + if (form === "NFC") { + return unorm.nfc(str); + } else if (form === "NFD") { + return unorm.nfd(str); + } else if (form === "NFKC") { + return unorm.nfkc(str); + } else if (form === "NFKD") { + return unorm.nfkd(str); + } else { + throw new RangeError("Invalid normalization form: " + form); + } + }; - debug('encoded %j as %s', obj, str); - return str; -} + unorm.shimApplied = true; + } +})(undefined); -function tryStringify(str) { - try { - return JSON.stringify(str); - } catch (e) { - return false; - } -} +},{}],769:[function(require,module,exports){ +(function (global){ +'use strict'; -/** - * Encode packet as 'buffer sequence' by removing blobs, and - * deconstructing packet into object with placeholders and - * a list of buffers. - * - * @param {Object} packet - * @return {Buffer} encoded - * @api private - */ +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -function encodeAsBinary(obj, callback) { +/*! https://mths.be/utf8js v2.1.2 by @mathias */ +;(function (root) { - function writeEncoding(bloblessData) { - var deconstruction = binary.deconstructPacket(bloblessData); - var pack = encodeAsString(deconstruction.packet); - var buffers = deconstruction.buffers; + // Detect free variables `exports` + var freeExports = (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) == 'object' && exports; - buffers.unshift(pack); // add packet info to beginning of data list - callback(buffers); // write all the buffers - } + // Detect free variable `module` + var freeModule = (typeof module === 'undefined' ? 'undefined' : _typeof(module)) == 'object' && module && module.exports == freeExports && module; - binary.removeBlobs(obj, writeEncoding); -} + // Detect free variable `global`, from Node.js or Browserified code, + // and use it as `root` + var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global; + if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { + root = freeGlobal; + } -/** - * A socket.io Decoder instance - * - * @return {Object} decoder - * @api public - */ + /*--------------------------------------------------------------------------*/ -function Decoder() { - this.reconstructor = null; -} + var stringFromCharCode = String.fromCharCode; -/** - * Mix in `Emitter` with Decoder. - */ + // Taken from https://mths.be/punycode + function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + var value; + var extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // low surrogate + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } -Emitter(Decoder.prototype); + // Taken from https://mths.be/punycode + function ucs2encode(array) { + var length = array.length; + var index = -1; + var value; + var output = ''; + while (++index < length) { + value = array[index]; + if (value > 0xFFFF) { + value -= 0x10000; + output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); + value = 0xDC00 | value & 0x3FF; + } + output += stringFromCharCode(value); + } + return output; + } -/** - * Decodes an ecoded packet string into packet JSON. - * - * @param {String} obj - encoded packet - * @return {Object} packet - * @api public - */ + function checkScalarValue(codePoint) { + if (codePoint >= 0xD800 && codePoint <= 0xDFFF) { + throw Error('Lone surrogate U+' + codePoint.toString(16).toUpperCase() + ' is not a scalar value'); + } + } + /*--------------------------------------------------------------------------*/ -Decoder.prototype.add = function (obj) { - var packet; - if (typeof obj === 'string') { - packet = decodeString(obj); - if (exports.BINARY_EVENT === packet.type || exports.BINARY_ACK === packet.type) { - // binary packet's json - this.reconstructor = new BinaryReconstructor(packet); + function createByte(codePoint, shift) { + return stringFromCharCode(codePoint >> shift & 0x3F | 0x80); + } - // no attachments, labeled binary but no binary data to follow - if (this.reconstructor.reconPack.attachments === 0) { - this.emit('decoded', packet); - } - } else { - // non-binary full packet - this.emit('decoded', packet); - } - } else if (isBuf(obj) || obj.base64) { - // raw binary data - if (!this.reconstructor) { - throw new Error('got binary data when not reconstructing a packet'); - } else { - packet = this.reconstructor.takeBinaryData(obj); - if (packet) { - // received final buffer - this.reconstructor = null; - this.emit('decoded', packet); - } - } - } else { - throw new Error('Unknown type: ' + obj); - } -}; + function encodeCodePoint(codePoint) { + if ((codePoint & 0xFFFFFF80) == 0) { + // 1-byte sequence + return stringFromCharCode(codePoint); + } + var symbol = ''; + if ((codePoint & 0xFFFFF800) == 0) { + // 2-byte sequence + symbol = stringFromCharCode(codePoint >> 6 & 0x1F | 0xC0); + } else if ((codePoint & 0xFFFF0000) == 0) { + // 3-byte sequence + checkScalarValue(codePoint); + symbol = stringFromCharCode(codePoint >> 12 & 0x0F | 0xE0); + symbol += createByte(codePoint, 6); + } else if ((codePoint & 0xFFE00000) == 0) { + // 4-byte sequence + symbol = stringFromCharCode(codePoint >> 18 & 0x07 | 0xF0); + symbol += createByte(codePoint, 12); + symbol += createByte(codePoint, 6); + } + symbol += stringFromCharCode(codePoint & 0x3F | 0x80); + return symbol; + } -/** - * Decode a packet String (JSON data) - * - * @param {String} str - * @return {Object} packet - * @api private - */ + function utf8encode(string) { + var codePoints = ucs2decode(string); + var length = codePoints.length; + var index = -1; + var codePoint; + var byteString = ''; + while (++index < length) { + codePoint = codePoints[index]; + byteString += encodeCodePoint(codePoint); + } + return byteString; + } -function decodeString(str) { - var i = 0; - // look up type - var p = { - type: Number(str.charAt(0)) - }; + /*--------------------------------------------------------------------------*/ - if (null == exports.types[p.type]) { - return error('unknown packet type ' + p.type); - } + function readContinuationByte() { + if (byteIndex >= byteCount) { + throw Error('Invalid byte index'); + } - // look up attachments if type binary - if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) { - var buf = ''; - while (str.charAt(++i) !== '-') { - buf += str.charAt(i); - if (i == str.length) break; - } - if (buf != Number(buf) || str.charAt(i) !== '-') { - throw new Error('Illegal attachments'); - } - p.attachments = Number(buf); - } + var continuationByte = byteArray[byteIndex] & 0xFF; + byteIndex++; - // look up namespace (if any) - if ('/' === str.charAt(i + 1)) { - p.nsp = ''; - while (++i) { - var c = str.charAt(i); - if (',' === c) break; - p.nsp += c; - if (i === str.length) break; - } - } else { - p.nsp = '/'; - } + if ((continuationByte & 0xC0) == 0x80) { + return continuationByte & 0x3F; + } - // look up id - var next = str.charAt(i + 1); - if ('' !== next && Number(next) == next) { - p.id = ''; - while (++i) { - var c = str.charAt(i); - if (null == c || Number(c) != c) { - --i; - break; - } - p.id += str.charAt(i); - if (i === str.length) break; - } - p.id = Number(p.id); - } + // If we end up here, it’s not a continuation byte + throw Error('Invalid continuation byte'); + } - // look up json data - if (str.charAt(++i)) { - var payload = tryParse(str.substr(i)); - var isPayloadValid = payload !== false && (p.type === exports.ERROR || isArray(payload)); - if (isPayloadValid) { - p.data = payload; - } else { - return error('invalid payload'); - } - } + function decodeSymbol() { + var byte1; + var byte2; + var byte3; + var byte4; + var codePoint; - debug('decoded %s as %j', str, p); - return p; -} + if (byteIndex > byteCount) { + throw Error('Invalid byte index'); + } -function tryParse(str) { - try { - return JSON.parse(str); - } catch (e) { - return false; - } -} + if (byteIndex == byteCount) { + return false; + } -/** - * Deallocates a parser's resources - * - * @api public - */ + // Read first byte + byte1 = byteArray[byteIndex] & 0xFF; + byteIndex++; -Decoder.prototype.destroy = function () { - if (this.reconstructor) { - this.reconstructor.finishedReconstruction(); - } -}; + // 1-byte sequence (no continuation bytes) + if ((byte1 & 0x80) == 0) { + return byte1; + } + + // 2-byte sequence + if ((byte1 & 0xE0) == 0xC0) { + byte2 = readContinuationByte(); + codePoint = (byte1 & 0x1F) << 6 | byte2; + if (codePoint >= 0x80) { + return codePoint; + } else { + throw Error('Invalid continuation byte'); + } + } + + // 3-byte sequence (may include unpaired surrogates) + if ((byte1 & 0xF0) == 0xE0) { + byte2 = readContinuationByte(); + byte3 = readContinuationByte(); + codePoint = (byte1 & 0x0F) << 12 | byte2 << 6 | byte3; + if (codePoint >= 0x0800) { + checkScalarValue(codePoint); + return codePoint; + } else { + throw Error('Invalid continuation byte'); + } + } + + // 4-byte sequence + if ((byte1 & 0xF8) == 0xF0) { + byte2 = readContinuationByte(); + byte3 = readContinuationByte(); + byte4 = readContinuationByte(); + codePoint = (byte1 & 0x07) << 0x12 | byte2 << 0x0C | byte3 << 0x06 | byte4; + if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) { + return codePoint; + } + } + + throw Error('Invalid UTF-8 detected'); + } + + var byteArray; + var byteCount; + var byteIndex; + function utf8decode(byteString) { + byteArray = ucs2decode(byteString); + byteCount = byteArray.length; + byteIndex = 0; + var codePoints = []; + var tmp; + while ((tmp = decodeSymbol()) !== false) { + codePoints.push(tmp); + } + return ucs2encode(codePoints); + } + + /*--------------------------------------------------------------------------*/ + + var utf8 = { + 'version': '2.1.2', + 'encode': utf8encode, + 'decode': utf8decode + }; + + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if (typeof define == 'function' && _typeof(define.amd) == 'object' && define.amd) { + define(function () { + return utf8; + }); + } else if (freeExports && !freeExports.nodeType) { + if (freeModule) { + // in Node.js or RingoJS v0.8.0+ + freeModule.exports = utf8; + } else { + // in Narwhal or RingoJS v0.7.0- + var object = {}; + var hasOwnProperty = object.hasOwnProperty; + for (var key in utf8) { + hasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]); + } + } + } else { + // in Rhino or a web browser + root.utf8 = utf8; + } +})(undefined); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],770:[function(require,module,exports){ +(function (global){ +'use strict'; /** - * A manager of a binary event's 'buffer sequence'. Should - * be constructed whenever a packet of type BINARY_EVENT is - * decoded. - * - * @param {Object} packet - * @return {BinaryReconstructor} initialized reconstructor - * @api private + * Module exports. */ -function BinaryReconstructor(packet) { - this.reconPack = packet; - this.buffers = []; -} +module.exports = deprecate; /** - * Method to be called when binary data received from connection - * after a BINARY_EVENT packet. + * Mark that a method should not be used. + * Returns a modified function which warns once by default. * - * @param {Buffer | ArrayBuffer} binData - the raw binary data received - * @return {null | Object} returns null if more binary data is expected or - * a reconstructed packet object if all buffers have been received. - * @api private + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public */ -BinaryReconstructor.prototype.takeBinaryData = function (binData) { - this.buffers.push(binData); - if (this.buffers.length === this.reconPack.attachments) { - // done with buffer list - var packet = binary.reconstructPacket(this.reconPack, this.buffers); - this.finishedReconstruction(); - return packet; +function deprecate(fn, msg) { + if (config('noDeprecation')) { + return fn; } - return null; -}; + + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +} /** - * Cleans up binary packet reconstruction variables. + * Checks `localStorage` for boolean values for the given `name`. * + * @param {String} name + * @returns {Boolean} * @api private */ -BinaryReconstructor.prototype.finishedReconstruction = function () { - this.reconPack = null; - this.buffers = []; -}; - -function error(msg) { - return { - type: exports.ERROR, - data: 'parser error: ' + msg - }; +function config(name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; } -},{"./binary":758,"./is-buffer":760,"component-emitter":265,"debug":761,"isarray":763}],760:[function(require,module,exports){ -(function (global){ +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],771:[function(require,module,exports){ 'use strict'; -module.exports = isBuf; +var v1 = require('./v1'); +var v4 = require('./v4'); -var withNativeBuffer = typeof global.Buffer === 'function' && typeof global.Buffer.isBuffer === 'function'; -var withNativeArrayBuffer = typeof global.ArrayBuffer === 'function'; +var uuid = v4; +uuid.v1 = v1; +uuid.v4 = v4; -var isView = function () { - if (withNativeArrayBuffer && typeof global.ArrayBuffer.isView === 'function') { - return global.ArrayBuffer.isView; - } else { - return function (obj) { - return obj.buffer instanceof global.ArrayBuffer; - }; - } -}(); +module.exports = uuid; + +},{"./v1":774,"./v4":775}],772:[function(require,module,exports){ +'use strict'; /** - * Returns true if obj is a buffer or an arraybuffer. - * - * @api private + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX */ +var byteToHex = []; +for (var i = 0; i < 256; ++i) { + byteToHex[i] = (i + 0x100).toString(16).substr(1); +} -function isBuf(obj) { - return withNativeBuffer && global.Buffer.isBuffer(obj) || withNativeArrayBuffer && (obj instanceof global.ArrayBuffer || isView(obj)); +function bytesToUuid(buf, offset) { + var i = offset || 0; + var bth = byteToHex; + // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 + return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join(''); } -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],761:[function(require,module,exports){ -arguments[4][637][0].apply(exports,arguments) -},{"./debug":762,"_process":704,"dup":637}],762:[function(require,module,exports){ -arguments[4][638][0].apply(exports,arguments) -},{"dup":638,"ms":690}],763:[function(require,module,exports){ -arguments[4][650][0].apply(exports,arguments) -},{"dup":650}],764:[function(require,module,exports){ -'use strict'; +module.exports = bytesToUuid; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. +},{}],773:[function(require,module,exports){ +'use strict'; -module.exports = Stream; +// Unique ID creation requires a high quality random # generator. In the +// browser this is a little complicated due to unknown quality of Math.random() +// and inconsistent support for the `crypto` API. We do the best we can via +// feature-detection -var EE = require('events').EventEmitter; -var inherits = require('inherits'); +// getRandomValues needs to be invoked in a context where "this" is a Crypto +// implementation. Also, find the complete implementation of crypto on IE11. +var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto); -inherits(Stream, EE); -Stream.Readable = require('readable-stream/readable.js'); -Stream.Writable = require('readable-stream/writable.js'); -Stream.Duplex = require('readable-stream/duplex.js'); -Stream.Transform = require('readable-stream/transform.js'); -Stream.PassThrough = require('readable-stream/passthrough.js'); +if (getRandomValues) { + // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto + var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef -// Backwards-compat with node 0.4.x -Stream.Stream = Stream; + module.exports = function whatwgRNG() { + getRandomValues(rnds8); + return rnds8; + }; +} else { + // Math.random()-based (RNG) + // + // If all else fails, use Math.random(). It's fast, but is of unspecified + // quality. + var rnds = new Array(16); -// old-style streams. Note that the pipe method (the only relevant -// part of this class) is overridden in the Readable class. + module.exports = function mathRNG() { + for (var i = 0, r; i < 16; i++) { + if ((i & 0x03) === 0) r = Math.random() * 0x100000000; + rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; + } -function Stream() { - EE.call(this); + return rnds; + }; } -Stream.prototype.pipe = function (dest, options) { - var source = this; +},{}],774:[function(require,module,exports){ +'use strict'; - function ondata(chunk) { - if (dest.writable) { - if (false === dest.write(chunk) && source.pause) { - source.pause(); - } - } - } +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); - source.on('data', ondata); +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html - function ondrain() { - if (source.readable && source.resume) { - source.resume(); +var _nodeId; +var _clockseq; + +// Previous uuid creation time +var _lastMSecs = 0; +var _lastNSecs = 0; + +// See https://github.com/broofa/node-uuid for API details +function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || []; + + options = options || {}; + var node = options.node || _nodeId; + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; + + // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + if (node == null || clockseq == null) { + var seedBytes = rng(); + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; } } - dest.on('drain', ondrain); + // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); - // If the 'end' option is not supplied, dest.end() will be called when - // source gets the 'end' or 'close' events. Only dest.end() once. - if (!dest._isStdio && (!options || options.end !== false)) { - source.on('end', onend); - source.on('close', onclose); - } + // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - var didOnEnd = false; - function onend() { - if (didOnEnd) return; - didOnEnd = true; + // Time since last uuid creation (in msecs) + var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - dest.end(); + // Per 4.2.1.2, Bump clockseq on clock regression + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; } - function onclose() { - if (didOnEnd) return; - didOnEnd = true; - - if (typeof dest.destroy === 'function') dest.destroy(); + // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; } - // don't leave dangling pipes when there are errors. - function onerror(er) { - cleanup(); - if (EE.listenerCount(this, 'error') === 0) { - throw er; // Unhandled stream error in pipe. - } + // Per 4.2.1.2 Throw error if too many uuids are requested + if (nsecs >= 10000) { + throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); } - source.on('error', onerror); - dest.on('error', onerror); + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; - // remove all the event listeners that were added. - function cleanup() { - source.removeListener('data', ondata); - dest.removeListener('drain', ondrain); + // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + msecs += 12219292800000; - source.removeListener('end', onend); - source.removeListener('close', onclose); + // `time_low` + var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; - source.removeListener('error', onerror); - dest.removeListener('error', onerror); + // `time_mid` + var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; - source.removeListener('end', cleanup); - source.removeListener('close', cleanup); + // `time_high_and_version` + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + b[i++] = tmh >>> 16 & 0xff; - dest.removeListener('close', cleanup); - } + // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + b[i++] = clockseq >>> 8 | 0x80; - source.on('end', cleanup); - source.on('close', cleanup); + // `clock_seq_low` + b[i++] = clockseq & 0xff; - dest.on('close', cleanup); + // `node` + for (var n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } - dest.emit('pipe', source); + return buf ? buf : bytesToUuid(b); +} - // Allow for unix-like usage: A.pipe(B).pipe(C) - return dest; -}; +module.exports = v1; -},{"events":646,"inherits":671,"readable-stream/duplex.js":713,"readable-stream/passthrough.js":722,"readable-stream/readable.js":723,"readable-stream/transform.js":724,"readable-stream/writable.js":725}],765:[function(require,module,exports){ +},{"./lib/bytesToUuid":772,"./lib/rng":773}],775:[function(require,module,exports){ 'use strict'; -// Generated by CoffeeScript 1.8.0 -(function () { - var ValueError, - create, - explicitToImplicit, - format, - implicitToExplicit, - lookup, - resolve, - __hasProp = {}.hasOwnProperty, - __extends = function __extends(child, parent) { - for (var key in parent) { - if (__hasProp.call(parent, key)) child[key] = parent[key]; - }function ctor() { - this.constructor = child; - }ctor.prototype = parent.prototype;child.prototype = new ctor();child.__super__ = parent.prototype;return child; - }, - __slice = [].slice; +var rng = require('./lib/rng'); +var bytesToUuid = require('./lib/bytesToUuid'); - ValueError = function (_super) { - __extends(ValueError, _super); +function v4(options, buf, offset) { + var i = buf && offset || 0; - function ValueError(message) { - this.message = message; + if (typeof options == 'string') { + buf = options === 'binary' ? new Array(16) : null; + options = null; + } + options = options || {}; + + var rnds = options.random || (options.rng || rng)(); + + // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; + + // Copy bytes to buffer, if provided + if (buf) { + for (var ii = 0; ii < 16; ++ii) { + buf[i + ii] = rnds[ii]; } + } - ValueError.prototype.name = 'ValueError'; + return buf || bytesToUuid(rnds); +} - return ValueError; - }(Error); +module.exports = v4; - implicitToExplicit = 'cannot switch from implicit to explicit numbering'; +},{"./lib/bytesToUuid":772,"./lib/rng":773}],776:[function(require,module,exports){ +'use strict'; - explicitToImplicit = 'cannot switch from explicit to implicit numbering'; +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - create = function create(transformers) { - if (transformers == null) { - transformers = {}; +var indexOf = require('indexof'); + +var Object_keys = function Object_keys(obj) { + if (Object.keys) return Object.keys(obj);else { + var res = []; + for (var key in obj) { + res.push(key); + }return res; } - return function () { - var args, explicit, idx, implicit, message, template; - template = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; - idx = 0; - explicit = implicit = false; - message = 'cannot switch from {} to {} numbering'; - return template.replace(/([{}])\1|[{](.*?)(?:!(.+?))?[}]/g, function (match, literal, key, transformer) { - var value, _ref, _ref1; - if (literal) { - return literal; - } - if (key.length) { - if (implicit) { - throw new ValueError(implicitToExplicit); - } - explicit = true; - value = (_ref = lookup(args, key)) != null ? _ref : ''; - } else { - if (explicit) { - throw new ValueError(explicitToImplicit); - } - implicit = true; - value = (_ref1 = args[idx++]) != null ? _ref1 : ''; - } - if (Object.prototype.hasOwnProperty.call(transformers, transformer)) { - return transformers[transformer](value); - } else { - return value; - } - }); - }; - }; +}; - lookup = function lookup(object, key) { - var match; - if (!/^(\d+)([.]|$)/.test(key)) { - key = '0.' + key; +var forEach = function forEach(xs, fn) { + if (xs.forEach) return xs.forEach(fn);else for (var i = 0; i < xs.length; i++) { + fn(xs[i], i, xs); } - while (match = /(.+?)[.](.+)/.exec(key)) { - object = resolve(object, match[1]); - key = match[2]; +}; + +var defineProp = function () { + try { + Object.defineProperty({}, '_', {}); + return function (obj, name, value) { + Object.defineProperty(obj, name, { + writable: true, + enumerable: false, + configurable: true, + value: value + }); + }; + } catch (e) { + return function (obj, name, value) { + obj[name] = value; + }; } - return resolve(object, key); - }; +}(); - resolve = function resolve(object, key) { - var value; - value = object[key]; - if (typeof value === 'function') { - return value.call(object); - } else { - return value; +var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function', 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError', 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape']; + +function Context() {} +Context.prototype = {}; + +var Script = exports.Script = function NodeScript(code) { + if (!(this instanceof Script)) return new Script(code); + this.code = code; +}; + +Script.prototype.runInContext = function (context) { + if (!(context instanceof Context)) { + throw new TypeError("needs a 'context' argument."); } - }; - format = create({}); + var iframe = document.createElement('iframe'); + if (!iframe.style) iframe.style = {}; + iframe.style.display = 'none'; - format.create = create; + document.body.appendChild(iframe); - format.extend = function (prototype, transformers) { - var $format; - $format = create(transformers); - prototype.format = function () { - return $format.apply(null, [this].concat(__slice.call(arguments))); - }; - }; + var win = iframe.contentWindow; + var wEval = win.eval, + wExecScript = win.execScript; - if (typeof module !== 'undefined') { - module.exports = format; - } else if (typeof define === 'function' && define.amd) { - define(format); - } else { - window.format = format; - } -}).call(undefined); + if (!wEval && wExecScript) { + // win.eval() magically appears when this is called in IE: + wExecScript.call(win, 'null'); + wEval = win.eval; + } -},{}],766:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. + forEach(Object_keys(context), function (key) { + win[key] = context[key]; + }); + forEach(globals, function (key) { + if (context[key]) { + win[key] = context[key]; + } + }); -'use strict'; + var winKeys = Object_keys(win); -/**/ + var res = wEval.call(win, this.code); -var Buffer = require('safe-buffer').Buffer; -/**/ + forEach(Object_keys(win), function (key) { + // Avoid copying circular objects like `top` and `window` by only + // updating existing context properties or new properties in the `win` + // that was only introduced after the eval. + if (key in context || indexOf(winKeys, key) === -1) { + context[key] = win[key]; + } + }); -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } + forEach(globals, function (key) { + if (!(key in context)) { + defineProp(context, key, win[key]); + } + }); + + document.body.removeChild(iframe); + + return res; }; -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } +Script.prototype.runInThisContext = function () { + return eval(this.code); // maybe... }; -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} +Script.prototype.runInNewContext = function (context) { + var ctx = Script.createContext(context); + var res = this.runInContext(ctx); -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} + forEach(Object_keys(ctx), function (key) { + context[key] = ctx[key]; + }); -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; + return res; }; -StringDecoder.prototype.end = utf8End; +forEach(Object_keys(Script.prototype), function (name) { + exports[name] = Script[name] = function (code) { + var s = Script(code); + return s[name].apply(s, [].slice.call(arguments, 1)); + }; +}); -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; +exports.createScript = function (code) { + return exports.Script(code); +}; -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; +exports.createContext = Script.createContext = function (context) { + var copy = new Context(); + if ((typeof context === 'undefined' ? 'undefined' : _typeof(context)) === 'object') { + forEach(Object_keys(context), function (key) { + copy[key] = context[key]; + }); + } + return copy; }; -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. If an invalid byte is detected, -2 is returned. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return byte >> 6 === 0x02 ? -1 : -2; +},{"indexof":670}],777:[function(require,module,exports){ +'use strict'; + +// Base58 encoding/decoding +// Originally written by Mike Hearn for BitcoinJ +// Copyright (c) 2011 Google Inc +// Ported to JavaScript by Stefan Thomas +// Merged Buffer refactorings from base58-native by Stephen Pair +// Copyright (c) 2013 BitPay Inc + +var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; +var ALPHABET_MAP = {}; +for (var i = 0; i < ALPHABET.length; ++i) { + ALPHABET_MAP[ALPHABET.charAt(i)] = i; } +var BASE = ALPHABET.length; -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} +module.exports = { + decode: function decode(string) { + if (string.length === 0) return []; -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\uFFFD'; - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\uFFFD'; - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\uFFFD'; - } + var i, + j, + bytes = [0]; + for (i = 0; i < string.length; ++i) { + var c = string[i]; + if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character'); + + for (j = 0; j < bytes.length; ++j) { + bytes[j] *= BASE; + }bytes[0] += ALPHABET_MAP[c]; + + var carry = 0; + for (j = 0; j < bytes.length; ++j) { + bytes[j] += carry; + carry = bytes[j] >> 8; + bytes[j] &= 0xff; + } + + while (carry) { + bytes.push(carry & 0xff); + carry >>= 8; + } + } + // deal with leading zeros + for (i = 0; string[i] === '1' && i < string.length - 1; ++i) { + bytes.push(0); + } + + return bytes.reverse(); } - } -} +}; -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} +},{}],778:[function(require,module,exports){ +(function (Buffer){ +'use strict'; -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} +/** + * Credits to https://github.com/cryptocoinjs/blake-hash + */ -// For UTF-8, a replacement character is added when ending on a partial -// character. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\uFFFD'; - return r; -} +Blake256.sigma = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9], [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11], [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10], [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5], [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9]]; -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } +Blake256.u256 = [0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917]; + +Blake256.padding = new Buffer([0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); + +Blake256.prototype._length_carry = function (arr) { + for (var j = 0; j < arr.length; ++j) { + if (arr[j] < 0x0100000000) break; + arr[j] -= 0x0100000000; + arr[j + 1] += 1; } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} +}; -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} +Blake256.prototype.update = function (data, encoding) { + data = new Buffer(data, encoding); + var block = this._block; + var offset = 0; -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} + while (this._blockOffset + data.length - offset >= block.length) { + for (var i = this._blockOffset; i < block.length;) { + block[i++] = data[offset++]; + }this._length[0] += block.length * 8; + this._length_carry(this._length); -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} + this._compress(); + this._blockOffset = 0; + } -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} + while (offset < data.length) { + block[this._blockOffset++] = data[offset++]; + }return this; +}; -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; +var zo = new Buffer([0x01]); +var oo = new Buffer([0x81]); + +function rot(x, n) { + return (x << 32 - n | x >>> n) >>> 0; } -},{"safe-buffer":729}],767:[function(require,module,exports){ -'use strict'; +function g(v, m, i, a, b, c, d, e) { + var sigma = Blake256.sigma; + var u256 = Blake256.u256; -var isHexPrefixed = require('is-hex-prefixed'); + v[a] = v[a] + ((m[sigma[i][e]] ^ u256[sigma[i][e + 1]]) >>> 0) + v[b] >>> 0; + v[d] = rot(v[d] ^ v[a], 16); + v[c] = v[c] + v[d] >>> 0; + v[b] = rot(v[b] ^ v[c], 12); + v[a] = v[a] + ((m[sigma[i][e + 1]] ^ u256[sigma[i][e]]) >>> 0) + v[b] >>> 0; + v[d] = rot(v[d] ^ v[a], 8); + v[c] = v[c] + v[d] >>> 0; + v[b] = rot(v[b] ^ v[c], 7); +} -/** - * Removes '0x' from a given `String` is present - * @param {String} str the string value - * @return {String|Optional} a string by pass if necessary - */ -module.exports = function stripHexPrefix(str) { - if (typeof str !== 'string') { - return str; - } +function Blake256() { + this._h = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19]; - return isHexPrefixed(str) ? str.slice(2) : str; -}; + this._s = [0, 0, 0, 0]; -},{"is-hex-prefixed":673}],768:[function(require,module,exports){ -"use strict"; + this._block = new Buffer(64); + this._blockOffset = 0; + this._length = [0, 0]; -module.exports = toArray; + this._nullt = false; -function toArray(list, index) { - var array = []; + this._zo = zo; + this._oo = oo; +} - index = index || 0; +Blake256.prototype._compress = function () { + var u256 = Blake256.u256; + var v = new Array(16); + var m = new Array(16); + var i; - for (var i = index || 0; i < list.length; i++) { - array[i - index] = list[i]; + for (i = 0; i < 16; ++i) { + m[i] = this._block.readUInt32BE(i * 4); + }for (i = 0; i < 8; ++i) { + v[i] = this._h[i] >>> 0; + }for (i = 8; i < 12; ++i) { + v[i] = (this._s[i - 8] ^ u256[i - 8]) >>> 0; + }for (i = 12; i < 16; ++i) { + v[i] = u256[i - 8]; + }if (!this._nullt) { + v[12] = (v[12] ^ this._length[0]) >>> 0; + v[13] = (v[13] ^ this._length[0]) >>> 0; + v[14] = (v[14] ^ this._length[1]) >>> 0; + v[15] = (v[15] ^ this._length[1]) >>> 0; } - return array; -} + for (i = 0; i < 14; ++i) { + /* column step */ + g(v, m, i, 0, 4, 8, 12, 0); + g(v, m, i, 1, 5, 9, 13, 2); + g(v, m, i, 2, 6, 10, 14, 4); + g(v, m, i, 3, 7, 11, 15, 6); + /* diagonal step */ + g(v, m, i, 0, 5, 10, 15, 8); + g(v, m, i, 1, 6, 11, 12, 10); + g(v, m, i, 2, 7, 8, 13, 12); + g(v, m, i, 3, 4, 9, 14, 14); + } -},{}],769:[function(require,module,exports){ -"use strict"; + for (i = 0; i < 16; ++i) { + this._h[i % 8] = (this._h[i % 8] ^ v[i]) >>> 0; + }for (i = 0; i < 8; ++i) { + this._h[i] = (this._h[i] ^ this._s[i % 4]) >>> 0; + } +}; -module.exports = { 97: { "value": "0061", "name": "LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0041", "lowercase_mapping": "", "titlecase_mapping": "0041", "symbol": "\x61" }, 98: { "value": "0062", "name": "LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0042", "lowercase_mapping": "", "titlecase_mapping": "0042", "symbol": "\x62" }, 99: { "value": "0063", "name": "LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0043", "lowercase_mapping": "", "titlecase_mapping": "0043", "symbol": "\x63" }, 100: { "value": "0064", "name": "LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0044", "lowercase_mapping": "", "titlecase_mapping": "0044", "symbol": "\x64" }, 101: { "value": "0065", "name": "LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0045", "lowercase_mapping": "", "titlecase_mapping": "0045", "symbol": "\x65" }, 102: { "value": "0066", "name": "LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0046", "lowercase_mapping": "", "titlecase_mapping": "0046", "symbol": "\x66" }, 103: { "value": "0067", "name": "LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0047", "lowercase_mapping": "", "titlecase_mapping": "0047", "symbol": "\x67" }, 104: { "value": "0068", "name": "LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0048", "lowercase_mapping": "", "titlecase_mapping": "0048", "symbol": "\x68" }, 105: { "value": "0069", "name": "LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\x69" }, 106: { "value": "006A", "name": "LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004A", "lowercase_mapping": "", "titlecase_mapping": "004A", "symbol": "\x6A" }, 107: { "value": "006B", "name": "LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004B", "lowercase_mapping": "", "titlecase_mapping": "004B", "symbol": "\x6B" }, 108: { "value": "006C", "name": "LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004C", "lowercase_mapping": "", "titlecase_mapping": "004C", "symbol": "\x6C" }, 109: { "value": "006D", "name": "LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004D", "lowercase_mapping": "", "titlecase_mapping": "004D", "symbol": "\x6D" }, 110: { "value": "006E", "name": "LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004E", "lowercase_mapping": "", "titlecase_mapping": "004E", "symbol": "\x6E" }, 111: { "value": "006F", "name": "LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "004F", "lowercase_mapping": "", "titlecase_mapping": "004F", "symbol": "\x6F" }, 112: { "value": "0070", "name": "LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0050", "lowercase_mapping": "", "titlecase_mapping": "0050", "symbol": "\x70" }, 113: { "value": "0071", "name": "LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0051", "lowercase_mapping": "", "titlecase_mapping": "0051", "symbol": "\x71" }, 114: { "value": "0072", "name": "LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0052", "lowercase_mapping": "", "titlecase_mapping": "0052", "symbol": "\x72" }, 115: { "value": "0073", "name": "LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\x73" }, 116: { "value": "0074", "name": "LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0054", "lowercase_mapping": "", "titlecase_mapping": "0054", "symbol": "\x74" }, 117: { "value": "0075", "name": "LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0055", "lowercase_mapping": "", "titlecase_mapping": "0055", "symbol": "\x75" }, 118: { "value": "0076", "name": "LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0056", "lowercase_mapping": "", "titlecase_mapping": "0056", "symbol": "\x76" }, 119: { "value": "0077", "name": "LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0057", "lowercase_mapping": "", "titlecase_mapping": "0057", "symbol": "\x77" }, 120: { "value": "0078", "name": "LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0058", "lowercase_mapping": "", "titlecase_mapping": "0058", "symbol": "\x78" }, 121: { "value": "0079", "name": "LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0059", "lowercase_mapping": "", "titlecase_mapping": "0059", "symbol": "\x79" }, 122: { "value": "007A", "name": "LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "005A", "lowercase_mapping": "", "titlecase_mapping": "005A", "symbol": "\x7A" }, 181: { "value": "00B5", "name": "MICRO SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\xB5" }, 223: { "value": "00DF", "name": "LATIN SMALL LETTER SHARP S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\xDF" }, 224: { "value": "00E0", "name": "LATIN SMALL LETTER A WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A GRAVE", "comment": "", "uppercase_mapping": "00C0", "lowercase_mapping": "", "titlecase_mapping": "00C0", "symbol": "\xE0" }, 225: { "value": "00E1", "name": "LATIN SMALL LETTER A WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A ACUTE", "comment": "", "uppercase_mapping": "00C1", "lowercase_mapping": "", "titlecase_mapping": "00C1", "symbol": "\xE1" }, 226: { "value": "00E2", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A CIRCUMFLEX", "comment": "", "uppercase_mapping": "00C2", "lowercase_mapping": "", "titlecase_mapping": "00C2", "symbol": "\xE2" }, 227: { "value": "00E3", "name": "LATIN SMALL LETTER A WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A TILDE", "comment": "", "uppercase_mapping": "00C3", "lowercase_mapping": "", "titlecase_mapping": "00C3", "symbol": "\xE3" }, 228: { "value": "00E4", "name": "LATIN SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS", "comment": "", "uppercase_mapping": "00C4", "lowercase_mapping": "", "titlecase_mapping": "00C4", "symbol": "\xE4" }, 229: { "value": "00E5", "name": "LATIN SMALL LETTER A WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A RING", "comment": "", "uppercase_mapping": "00C5", "lowercase_mapping": "", "titlecase_mapping": "00C5", "symbol": "\xE5" }, 230: { "value": "00E6", "name": "LATIN SMALL LETTER AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E", "comment": "", "uppercase_mapping": "00C6", "lowercase_mapping": "", "titlecase_mapping": "00C6", "symbol": "\xE6" }, 231: { "value": "00E7", "name": "LATIN SMALL LETTER C WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CEDILLA", "comment": "", "uppercase_mapping": "00C7", "lowercase_mapping": "", "titlecase_mapping": "00C7", "symbol": "\xE7" }, 232: { "value": "00E8", "name": "LATIN SMALL LETTER E WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E GRAVE", "comment": "", "uppercase_mapping": "00C8", "lowercase_mapping": "", "titlecase_mapping": "00C8", "symbol": "\xE8" }, 233: { "value": "00E9", "name": "LATIN SMALL LETTER E WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E ACUTE", "comment": "", "uppercase_mapping": "00C9", "lowercase_mapping": "", "titlecase_mapping": "00C9", "symbol": "\xE9" }, 234: { "value": "00EA", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CA", "lowercase_mapping": "", "titlecase_mapping": "00CA", "symbol": "\xEA" }, 235: { "value": "00EB", "name": "LATIN SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DIAERESIS", "comment": "", "uppercase_mapping": "00CB", "lowercase_mapping": "", "titlecase_mapping": "00CB", "symbol": "\xEB" }, 236: { "value": "00EC", "name": "LATIN SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I GRAVE", "comment": "", "uppercase_mapping": "00CC", "lowercase_mapping": "", "titlecase_mapping": "00CC", "symbol": "\xEC" }, 237: { "value": "00ED", "name": "LATIN SMALL LETTER I WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I ACUTE", "comment": "", "uppercase_mapping": "00CD", "lowercase_mapping": "", "titlecase_mapping": "00CD", "symbol": "\xED" }, 238: { "value": "00EE", "name": "LATIN SMALL LETTER I WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I CIRCUMFLEX", "comment": "", "uppercase_mapping": "00CE", "lowercase_mapping": "", "titlecase_mapping": "00CE", "symbol": "\xEE" }, 239: { "value": "00EF", "name": "LATIN SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I DIAERESIS", "comment": "", "uppercase_mapping": "00CF", "lowercase_mapping": "", "titlecase_mapping": "00CF", "symbol": "\xEF" }, 240: { "value": "00F0", "name": "LATIN SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00D0", "lowercase_mapping": "", "titlecase_mapping": "00D0", "symbol": "\xF0" }, 241: { "value": "00F1", "name": "LATIN SMALL LETTER N WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N TILDE", "comment": "", "uppercase_mapping": "00D1", "lowercase_mapping": "", "titlecase_mapping": "00D1", "symbol": "\xF1" }, 242: { "value": "00F2", "name": "LATIN SMALL LETTER O WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O GRAVE", "comment": "", "uppercase_mapping": "00D2", "lowercase_mapping": "", "titlecase_mapping": "00D2", "symbol": "\xF2" }, 243: { "value": "00F3", "name": "LATIN SMALL LETTER O WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O ACUTE", "comment": "", "uppercase_mapping": "00D3", "lowercase_mapping": "", "titlecase_mapping": "00D3", "symbol": "\xF3" }, 244: { "value": "00F4", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O CIRCUMFLEX", "comment": "", "uppercase_mapping": "00D4", "lowercase_mapping": "", "titlecase_mapping": "00D4", "symbol": "\xF4" }, 245: { "value": "00F5", "name": "LATIN SMALL LETTER O WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O TILDE", "comment": "", "uppercase_mapping": "00D5", "lowercase_mapping": "", "titlecase_mapping": "00D5", "symbol": "\xF5" }, 246: { "value": "00F6", "name": "LATIN SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DIAERESIS", "comment": "", "uppercase_mapping": "00D6", "lowercase_mapping": "", "titlecase_mapping": "00D6", "symbol": "\xF6" }, 248: { "value": "00F8", "name": "LATIN SMALL LETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O SLASH", "comment": "", "uppercase_mapping": "00D8", "lowercase_mapping": "", "titlecase_mapping": "00D8", "symbol": "\xF8" }, 249: { "value": "00F9", "name": "LATIN SMALL LETTER U WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U GRAVE", "comment": "", "uppercase_mapping": "00D9", "lowercase_mapping": "", "titlecase_mapping": "00D9", "symbol": "\xF9" }, 250: { "value": "00FA", "name": "LATIN SMALL LETTER U WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U ACUTE", "comment": "", "uppercase_mapping": "00DA", "lowercase_mapping": "", "titlecase_mapping": "00DA", "symbol": "\xFA" }, 251: { "value": "00FB", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U CIRCUMFLEX", "comment": "", "uppercase_mapping": "00DB", "lowercase_mapping": "", "titlecase_mapping": "00DB", "symbol": "\xFB" }, 252: { "value": "00FC", "name": "LATIN SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS", "comment": "", "uppercase_mapping": "00DC", "lowercase_mapping": "", "titlecase_mapping": "00DC", "symbol": "\xFC" }, 253: { "value": "00FD", "name": "LATIN SMALL LETTER Y WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y ACUTE", "comment": "", "uppercase_mapping": "00DD", "lowercase_mapping": "", "titlecase_mapping": "00DD", "symbol": "\xFD" }, 254: { "value": "00FE", "name": "LATIN SMALL LETTER THORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "00DE", "lowercase_mapping": "", "titlecase_mapping": "00DE", "symbol": "\xFE" }, 255: { "value": "00FF", "name": "LATIN SMALL LETTER Y WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y DIAERESIS", "comment": "", "uppercase_mapping": "0178", "lowercase_mapping": "", "titlecase_mapping": "0178", "symbol": "\xFF" }, 257: { "value": "0101", "name": "LATIN SMALL LETTER A WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A MACRON", "comment": "", "uppercase_mapping": "0100", "lowercase_mapping": "", "titlecase_mapping": "0100", "symbol": "\u0101" }, 259: { "value": "0103", "name": "LATIN SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A BREVE", "comment": "", "uppercase_mapping": "0102", "lowercase_mapping": "", "titlecase_mapping": "0102", "symbol": "\u0103" }, 261: { "value": "0105", "name": "LATIN SMALL LETTER A WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A OGONEK", "comment": "", "uppercase_mapping": "0104", "lowercase_mapping": "", "titlecase_mapping": "0104", "symbol": "\u0105" }, 263: { "value": "0107", "name": "LATIN SMALL LETTER C WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C ACUTE", "comment": "", "uppercase_mapping": "0106", "lowercase_mapping": "", "titlecase_mapping": "0106", "symbol": "\u0107" }, 265: { "value": "0109", "name": "LATIN SMALL LETTER C WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CIRCUMFLEX", "comment": "", "uppercase_mapping": "0108", "lowercase_mapping": "", "titlecase_mapping": "0108", "symbol": "\u0109" }, 267: { "value": "010B", "name": "LATIN SMALL LETTER C WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C DOT", "comment": "", "uppercase_mapping": "010A", "lowercase_mapping": "", "titlecase_mapping": "010A", "symbol": "\u010B" }, 269: { "value": "010D", "name": "LATIN SMALL LETTER C WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0063 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HACEK", "comment": "", "uppercase_mapping": "010C", "lowercase_mapping": "", "titlecase_mapping": "010C", "symbol": "\u010D" }, 271: { "value": "010F", "name": "LATIN SMALL LETTER D WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HACEK", "comment": "", "uppercase_mapping": "010E", "lowercase_mapping": "", "titlecase_mapping": "010E", "symbol": "\u010F" }, 273: { "value": "0111", "name": "LATIN SMALL LETTER D WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D BAR", "comment": "", "uppercase_mapping": "0110", "lowercase_mapping": "", "titlecase_mapping": "0110", "symbol": "\u0111" }, 275: { "value": "0113", "name": "LATIN SMALL LETTER E WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E MACRON", "comment": "", "uppercase_mapping": "0112", "lowercase_mapping": "", "titlecase_mapping": "0112", "symbol": "\u0113" }, 277: { "value": "0115", "name": "LATIN SMALL LETTER E WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E BREVE", "comment": "", "uppercase_mapping": "0114", "lowercase_mapping": "", "titlecase_mapping": "0114", "symbol": "\u0115" }, 279: { "value": "0117", "name": "LATIN SMALL LETTER E WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E DOT", "comment": "", "uppercase_mapping": "0116", "lowercase_mapping": "", "titlecase_mapping": "0116", "symbol": "\u0117" }, 281: { "value": "0119", "name": "LATIN SMALL LETTER E WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E OGONEK", "comment": "", "uppercase_mapping": "0118", "lowercase_mapping": "", "titlecase_mapping": "0118", "symbol": "\u0119" }, 283: { "value": "011B", "name": "LATIN SMALL LETTER E WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER E HACEK", "comment": "", "uppercase_mapping": "011A", "lowercase_mapping": "", "titlecase_mapping": "011A", "symbol": "\u011B" }, 285: { "value": "011D", "name": "LATIN SMALL LETTER G WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CIRCUMFLEX", "comment": "", "uppercase_mapping": "011C", "lowercase_mapping": "", "titlecase_mapping": "011C", "symbol": "\u011D" }, 287: { "value": "011F", "name": "LATIN SMALL LETTER G WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BREVE", "comment": "", "uppercase_mapping": "011E", "lowercase_mapping": "", "titlecase_mapping": "011E", "symbol": "\u011F" }, 289: { "value": "0121", "name": "LATIN SMALL LETTER G WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G DOT", "comment": "", "uppercase_mapping": "0120", "lowercase_mapping": "", "titlecase_mapping": "0120", "symbol": "\u0121" }, 291: { "value": "0123", "name": "LATIN SMALL LETTER G WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G CEDILLA", "comment": "", "uppercase_mapping": "0122", "lowercase_mapping": "", "titlecase_mapping": "0122", "symbol": "\u0123" }, 293: { "value": "0125", "name": "LATIN SMALL LETTER H WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H CIRCUMFLEX", "comment": "", "uppercase_mapping": "0124", "lowercase_mapping": "", "titlecase_mapping": "0124", "symbol": "\u0125" }, 295: { "value": "0127", "name": "LATIN SMALL LETTER H WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H BAR", "comment": "", "uppercase_mapping": "0126", "lowercase_mapping": "", "titlecase_mapping": "0126", "symbol": "\u0127" }, 297: { "value": "0129", "name": "LATIN SMALL LETTER I WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I TILDE", "comment": "", "uppercase_mapping": "0128", "lowercase_mapping": "", "titlecase_mapping": "0128", "symbol": "\u0129" }, 299: { "value": "012B", "name": "LATIN SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I MACRON", "comment": "", "uppercase_mapping": "012A", "lowercase_mapping": "", "titlecase_mapping": "012A", "symbol": "\u012B" }, 301: { "value": "012D", "name": "LATIN SMALL LETTER I WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I BREVE", "comment": "", "uppercase_mapping": "012C", "lowercase_mapping": "", "titlecase_mapping": "012C", "symbol": "\u012D" }, 303: { "value": "012F", "name": "LATIN SMALL LETTER I WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I OGONEK", "comment": "", "uppercase_mapping": "012E", "lowercase_mapping": "", "titlecase_mapping": "012E", "symbol": "\u012F" }, 305: { "value": "0131", "name": "LATIN SMALL LETTER DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0049", "lowercase_mapping": "", "titlecase_mapping": "0049", "symbol": "\u0131" }, 307: { "value": "0133", "name": "LATIN SMALL LIGATURE IJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I J", "comment": "", "uppercase_mapping": "0132", "lowercase_mapping": "", "titlecase_mapping": "0132", "symbol": "\u0133" }, 309: { "value": "0135", "name": "LATIN SMALL LETTER J WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J CIRCUMFLEX", "comment": "", "uppercase_mapping": "0134", "lowercase_mapping": "", "titlecase_mapping": "0134", "symbol": "\u0135" }, 311: { "value": "0137", "name": "LATIN SMALL LETTER K WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K CEDILLA", "comment": "", "uppercase_mapping": "0136", "lowercase_mapping": "", "titlecase_mapping": "0136", "symbol": "\u0137" }, 312: { "value": "0138", "name": "LATIN SMALL LETTER KRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0138" }, 314: { "value": "013A", "name": "LATIN SMALL LETTER L WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L ACUTE", "comment": "", "uppercase_mapping": "0139", "lowercase_mapping": "", "titlecase_mapping": "0139", "symbol": "\u013A" }, 316: { "value": "013C", "name": "LATIN SMALL LETTER L WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L CEDILLA", "comment": "", "uppercase_mapping": "013B", "lowercase_mapping": "", "titlecase_mapping": "013B", "symbol": "\u013C" }, 318: { "value": "013E", "name": "LATIN SMALL LETTER L WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L HACEK", "comment": "", "uppercase_mapping": "013D", "lowercase_mapping": "", "titlecase_mapping": "013D", "symbol": "\u013E" }, 320: { "value": "0140", "name": "LATIN SMALL LETTER L WITH MIDDLE DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 00B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "013F", "lowercase_mapping": "", "titlecase_mapping": "013F", "symbol": "\u0140" }, 322: { "value": "0142", "name": "LATIN SMALL LETTER L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L SLASH", "comment": "", "uppercase_mapping": "0141", "lowercase_mapping": "", "titlecase_mapping": "0141", "symbol": "\u0142" }, 324: { "value": "0144", "name": "LATIN SMALL LETTER N WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N ACUTE", "comment": "", "uppercase_mapping": "0143", "lowercase_mapping": "", "titlecase_mapping": "0143", "symbol": "\u0144" }, 326: { "value": "0146", "name": "LATIN SMALL LETTER N WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N CEDILLA", "comment": "", "uppercase_mapping": "0145", "lowercase_mapping": "", "titlecase_mapping": "0145", "symbol": "\u0146" }, 328: { "value": "0148", "name": "LATIN SMALL LETTER N WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HACEK", "comment": "", "uppercase_mapping": "0147", "lowercase_mapping": "", "titlecase_mapping": "0147", "symbol": "\u0148" }, 329: { "value": "0149", "name": "LATIN SMALL LETTER N PRECEDED BY APOSTROPHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 02BC 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER APOSTROPHE N", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0149" }, 331: { "value": "014B", "name": "LATIN SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "014A", "lowercase_mapping": "", "titlecase_mapping": "014A", "symbol": "\u014B" }, 333: { "value": "014D", "name": "LATIN SMALL LETTER O WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O MACRON", "comment": "", "uppercase_mapping": "014C", "lowercase_mapping": "", "titlecase_mapping": "014C", "symbol": "\u014D" }, 335: { "value": "014F", "name": "LATIN SMALL LETTER O WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O BREVE", "comment": "", "uppercase_mapping": "014E", "lowercase_mapping": "", "titlecase_mapping": "014E", "symbol": "\u014F" }, 337: { "value": "0151", "name": "LATIN SMALL LETTER O WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0150", "lowercase_mapping": "", "titlecase_mapping": "0150", "symbol": "\u0151" }, 339: { "value": "0153", "name": "LATIN SMALL LIGATURE OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O E", "comment": "", "uppercase_mapping": "0152", "lowercase_mapping": "", "titlecase_mapping": "0152", "symbol": "\u0153" }, 341: { "value": "0155", "name": "LATIN SMALL LETTER R WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R ACUTE", "comment": "", "uppercase_mapping": "0154", "lowercase_mapping": "", "titlecase_mapping": "0154", "symbol": "\u0155" }, 343: { "value": "0157", "name": "LATIN SMALL LETTER R WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R CEDILLA", "comment": "", "uppercase_mapping": "0156", "lowercase_mapping": "", "titlecase_mapping": "0156", "symbol": "\u0157" }, 345: { "value": "0159", "name": "LATIN SMALL LETTER R WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HACEK", "comment": "", "uppercase_mapping": "0158", "lowercase_mapping": "", "titlecase_mapping": "0158", "symbol": "\u0159" }, 347: { "value": "015B", "name": "LATIN SMALL LETTER S WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S ACUTE", "comment": "", "uppercase_mapping": "015A", "lowercase_mapping": "", "titlecase_mapping": "015A", "symbol": "\u015B" }, 349: { "value": "015D", "name": "LATIN SMALL LETTER S WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CIRCUMFLEX", "comment": "", "uppercase_mapping": "015C", "lowercase_mapping": "", "titlecase_mapping": "015C", "symbol": "\u015D" }, 351: { "value": "015F", "name": "LATIN SMALL LETTER S WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S CEDILLA", "comment": "", "uppercase_mapping": "015E", "lowercase_mapping": "", "titlecase_mapping": "015E", "symbol": "\u015F" }, 353: { "value": "0161", "name": "LATIN SMALL LETTER S WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HACEK", "comment": "", "uppercase_mapping": "0160", "lowercase_mapping": "", "titlecase_mapping": "0160", "symbol": "\u0161" }, 355: { "value": "0163", "name": "LATIN SMALL LETTER T WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T CEDILLA", "comment": "", "uppercase_mapping": "0162", "lowercase_mapping": "", "titlecase_mapping": "0162", "symbol": "\u0163" }, 357: { "value": "0165", "name": "LATIN SMALL LETTER T WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HACEK", "comment": "", "uppercase_mapping": "0164", "lowercase_mapping": "", "titlecase_mapping": "0164", "symbol": "\u0165" }, 359: { "value": "0167", "name": "LATIN SMALL LETTER T WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T BAR", "comment": "", "uppercase_mapping": "0166", "lowercase_mapping": "", "titlecase_mapping": "0166", "symbol": "\u0167" }, 361: { "value": "0169", "name": "LATIN SMALL LETTER U WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U TILDE", "comment": "", "uppercase_mapping": "0168", "lowercase_mapping": "", "titlecase_mapping": "0168", "symbol": "\u0169" }, 363: { "value": "016B", "name": "LATIN SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U MACRON", "comment": "", "uppercase_mapping": "016A", "lowercase_mapping": "", "titlecase_mapping": "016A", "symbol": "\u016B" }, 365: { "value": "016D", "name": "LATIN SMALL LETTER U WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U BREVE", "comment": "", "uppercase_mapping": "016C", "lowercase_mapping": "", "titlecase_mapping": "016C", "symbol": "\u016D" }, 367: { "value": "016F", "name": "LATIN SMALL LETTER U WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U RING", "comment": "", "uppercase_mapping": "016E", "lowercase_mapping": "", "titlecase_mapping": "016E", "symbol": "\u016F" }, 369: { "value": "0171", "name": "LATIN SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DOUBLE ACUTE", "comment": "", "uppercase_mapping": "0170", "lowercase_mapping": "", "titlecase_mapping": "0170", "symbol": "\u0171" }, 371: { "value": "0173", "name": "LATIN SMALL LETTER U WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U OGONEK", "comment": "", "uppercase_mapping": "0172", "lowercase_mapping": "", "titlecase_mapping": "0172", "symbol": "\u0173" }, 373: { "value": "0175", "name": "LATIN SMALL LETTER W WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER W CIRCUMFLEX", "comment": "", "uppercase_mapping": "0174", "lowercase_mapping": "", "titlecase_mapping": "0174", "symbol": "\u0175" }, 375: { "value": "0177", "name": "LATIN SMALL LETTER Y WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y CIRCUMFLEX", "comment": "", "uppercase_mapping": "0176", "lowercase_mapping": "", "titlecase_mapping": "0176", "symbol": "\u0177" }, 378: { "value": "017A", "name": "LATIN SMALL LETTER Z WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z ACUTE", "comment": "", "uppercase_mapping": "0179", "lowercase_mapping": "", "titlecase_mapping": "0179", "symbol": "\u017A" }, 380: { "value": "017C", "name": "LATIN SMALL LETTER Z WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z DOT", "comment": "", "uppercase_mapping": "017B", "lowercase_mapping": "", "titlecase_mapping": "017B", "symbol": "\u017C" }, 382: { "value": "017E", "name": "LATIN SMALL LETTER Z WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z HACEK", "comment": "", "uppercase_mapping": "017D", "lowercase_mapping": "", "titlecase_mapping": "017D", "symbol": "\u017E" }, 383: { "value": "017F", "name": "LATIN SMALL LETTER LONG S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0053", "lowercase_mapping": "", "titlecase_mapping": "0053", "symbol": "\u017F" }, 384: { "value": "0180", "name": "LATIN SMALL LETTER B WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B BAR", "comment": "", "uppercase_mapping": "0243", "lowercase_mapping": "", "titlecase_mapping": "0243", "symbol": "\u0180" }, 387: { "value": "0183", "name": "LATIN SMALL LETTER B WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B TOPBAR", "comment": "", "uppercase_mapping": "0182", "lowercase_mapping": "", "titlecase_mapping": "0182", "symbol": "\u0183" }, 389: { "value": "0185", "name": "LATIN SMALL LETTER TONE SIX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0184", "lowercase_mapping": "", "titlecase_mapping": "0184", "symbol": "\u0185" }, 392: { "value": "0188", "name": "LATIN SMALL LETTER C WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C HOOK", "comment": "", "uppercase_mapping": "0187", "lowercase_mapping": "", "titlecase_mapping": "0187", "symbol": "\u0188" }, 396: { "value": "018C", "name": "LATIN SMALL LETTER D WITH TOPBAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D TOPBAR", "comment": "", "uppercase_mapping": "018B", "lowercase_mapping": "", "titlecase_mapping": "018B", "symbol": "\u018C" }, 397: { "value": "018D", "name": "LATIN SMALL LETTER TURNED DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u018D" }, 402: { "value": "0192", "name": "LATIN SMALL LETTER F WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT F", "comment": "", "uppercase_mapping": "0191", "lowercase_mapping": "", "titlecase_mapping": "0191", "symbol": "\u0192" }, 405: { "value": "0195", "name": "LATIN SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H V", "comment": "", "uppercase_mapping": "01F6", "lowercase_mapping": "", "titlecase_mapping": "01F6", "symbol": "\u0195" }, 409: { "value": "0199", "name": "LATIN SMALL LETTER K WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HOOK", "comment": "", "uppercase_mapping": "0198", "lowercase_mapping": "", "titlecase_mapping": "0198", "symbol": "\u0199" }, 410: { "value": "019A", "name": "LATIN SMALL LETTER L WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED L", "comment": "", "uppercase_mapping": "023D", "lowercase_mapping": "", "titlecase_mapping": "023D", "symbol": "\u019A" }, 411: { "value": "019B", "name": "LATIN SMALL LETTER LAMBDA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED LAMBDA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u019B" }, 414: { "value": "019E", "name": "LATIN SMALL LETTER N WITH LONG RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0220", "lowercase_mapping": "", "titlecase_mapping": "0220", "symbol": "\u019E" }, 417: { "value": "01A1", "name": "LATIN SMALL LETTER O WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HORN", "comment": "", "uppercase_mapping": "01A0", "lowercase_mapping": "", "titlecase_mapping": "01A0", "symbol": "\u01A1" }, 419: { "value": "01A3", "name": "LATIN SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O I", "comment": "", "uppercase_mapping": "01A2", "lowercase_mapping": "", "titlecase_mapping": "01A2", "symbol": "\u01A3" }, 421: { "value": "01A5", "name": "LATIN SMALL LETTER P WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER P HOOK", "comment": "", "uppercase_mapping": "01A4", "lowercase_mapping": "", "titlecase_mapping": "01A4", "symbol": "\u01A5" }, 424: { "value": "01A8", "name": "LATIN SMALL LETTER TONE TWO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A7", "lowercase_mapping": "", "titlecase_mapping": "01A7", "symbol": "\u01A8" }, 426: { "value": "01AA", "name": "LATIN LETTER REVERSED ESH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AA" }, 427: { "value": "01AB", "name": "LATIN SMALL LETTER T WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T PALATAL HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01AB" }, 429: { "value": "01AD", "name": "LATIN SMALL LETTER T WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T HOOK", "comment": "", "uppercase_mapping": "01AC", "lowercase_mapping": "", "titlecase_mapping": "01AC", "symbol": "\u01AD" }, 432: { "value": "01B0", "name": "LATIN SMALL LETTER U WITH HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 031B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HORN", "comment": "", "uppercase_mapping": "01AF", "lowercase_mapping": "", "titlecase_mapping": "01AF", "symbol": "\u01B0" }, 436: { "value": "01B4", "name": "LATIN SMALL LETTER Y WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Y HOOK", "comment": "", "uppercase_mapping": "01B3", "lowercase_mapping": "", "titlecase_mapping": "01B3", "symbol": "\u01B4" }, 438: { "value": "01B6", "name": "LATIN SMALL LETTER Z WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z BAR", "comment": "", "uppercase_mapping": "01B5", "lowercase_mapping": "", "titlecase_mapping": "01B5", "symbol": "\u01B6" }, 441: { "value": "01B9", "name": "LATIN SMALL LETTER EZH REVERSED", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED YOGH", "comment": "", "uppercase_mapping": "01B8", "lowercase_mapping": "", "titlecase_mapping": "01B8", "symbol": "\u01B9" }, 442: { "value": "01BA", "name": "LATIN SMALL LETTER EZH WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH WITH TAIL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BA" }, 445: { "value": "01BD", "name": "LATIN SMALL LETTER TONE FIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01BC", "lowercase_mapping": "", "titlecase_mapping": "01BC", "symbol": "\u01BD" }, 446: { "value": "01BE", "name": "LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER INVERTED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01BE" }, 447: { "value": "01BF", "name": "LATIN LETTER WYNN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F7", "lowercase_mapping": "", "titlecase_mapping": "01F7", "symbol": "\u01BF" }, 454: { "value": "01C6", "name": "LATIN SMALL LETTER DZ WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 017E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z HACEK", "comment": "", "uppercase_mapping": "01C4", "lowercase_mapping": "", "titlecase_mapping": "01C5", "symbol": "\u01C6" }, 457: { "value": "01C9", "name": "LATIN SMALL LETTER LJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L J", "comment": "", "uppercase_mapping": "01C7", "lowercase_mapping": "", "titlecase_mapping": "01C8", "symbol": "\u01C9" }, 460: { "value": "01CC", "name": "LATIN SMALL LETTER NJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N J", "comment": "", "uppercase_mapping": "01CA", "lowercase_mapping": "", "titlecase_mapping": "01CB", "symbol": "\u01CC" }, 462: { "value": "01CE", "name": "LATIN SMALL LETTER A WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A HACEK", "comment": "", "uppercase_mapping": "01CD", "lowercase_mapping": "", "titlecase_mapping": "01CD", "symbol": "\u01CE" }, 464: { "value": "01D0", "name": "LATIN SMALL LETTER I WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER I HACEK", "comment": "", "uppercase_mapping": "01CF", "lowercase_mapping": "", "titlecase_mapping": "01CF", "symbol": "\u01D0" }, 466: { "value": "01D2", "name": "LATIN SMALL LETTER O WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O HACEK", "comment": "", "uppercase_mapping": "01D1", "lowercase_mapping": "", "titlecase_mapping": "01D1", "symbol": "\u01D2" }, 468: { "value": "01D4", "name": "LATIN SMALL LETTER U WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U HACEK", "comment": "", "uppercase_mapping": "01D3", "lowercase_mapping": "", "titlecase_mapping": "01D3", "symbol": "\u01D4" }, 470: { "value": "01D6", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01D5", "lowercase_mapping": "", "titlecase_mapping": "01D5", "symbol": "\u01D6" }, 472: { "value": "01D8", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS ACUTE", "comment": "", "uppercase_mapping": "01D7", "lowercase_mapping": "", "titlecase_mapping": "01D7", "symbol": "\u01D8" }, 474: { "value": "01DA", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS HACEK", "comment": "", "uppercase_mapping": "01D9", "lowercase_mapping": "", "titlecase_mapping": "01D9", "symbol": "\u01DA" }, 476: { "value": "01DC", "name": "LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00FC 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER U DIAERESIS GRAVE", "comment": "", "uppercase_mapping": "01DB", "lowercase_mapping": "", "titlecase_mapping": "01DB", "symbol": "\u01DC" }, 477: { "value": "01DD", "name": "LATIN SMALL LETTER TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018E", "lowercase_mapping": "", "titlecase_mapping": "018E", "symbol": "\u01DD" }, 479: { "value": "01DF", "name": "LATIN SMALL LETTER A WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E4 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DIAERESIS MACRON", "comment": "", "uppercase_mapping": "01DE", "lowercase_mapping": "", "titlecase_mapping": "01DE", "symbol": "\u01DF" }, 481: { "value": "01E1", "name": "LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0227 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A DOT MACRON", "comment": "", "uppercase_mapping": "01E0", "lowercase_mapping": "", "titlecase_mapping": "01E0", "symbol": "\u01E1" }, 483: { "value": "01E3", "name": "LATIN SMALL LETTER AE WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER A E MACRON", "comment": "", "uppercase_mapping": "01E2", "lowercase_mapping": "", "titlecase_mapping": "01E2", "symbol": "\u01E3" }, 485: { "value": "01E5", "name": "LATIN SMALL LETTER G WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G BAR", "comment": "", "uppercase_mapping": "01E4", "lowercase_mapping": "", "titlecase_mapping": "01E4", "symbol": "\u01E5" }, 487: { "value": "01E7", "name": "LATIN SMALL LETTER G WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HACEK", "comment": "", "uppercase_mapping": "01E6", "lowercase_mapping": "", "titlecase_mapping": "01E6", "symbol": "\u01E7" }, 489: { "value": "01E9", "name": "LATIN SMALL LETTER K WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER K HACEK", "comment": "", "uppercase_mapping": "01E8", "lowercase_mapping": "", "titlecase_mapping": "01E8", "symbol": "\u01E9" }, 491: { "value": "01EB", "name": "LATIN SMALL LETTER O WITH OGONEK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0328", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK", "comment": "", "uppercase_mapping": "01EA", "lowercase_mapping": "", "titlecase_mapping": "01EA", "symbol": "\u01EB" }, 493: { "value": "01ED", "name": "LATIN SMALL LETTER O WITH OGONEK AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01EB 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER O OGONEK MACRON", "comment": "", "uppercase_mapping": "01EC", "lowercase_mapping": "", "titlecase_mapping": "01EC", "symbol": "\u01ED" }, 495: { "value": "01EF", "name": "LATIN SMALL LETTER EZH WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0292 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH HACEK", "comment": "", "uppercase_mapping": "01EE", "lowercase_mapping": "", "titlecase_mapping": "01EE", "symbol": "\u01EF" }, 496: { "value": "01F0", "name": "LATIN SMALL LETTER J WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006A 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER J HACEK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u01F0" }, 499: { "value": "01F3", "name": "LATIN SMALL LETTER DZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F1", "lowercase_mapping": "", "titlecase_mapping": "01F2", "symbol": "\u01F3" }, 501: { "value": "01F5", "name": "LATIN SMALL LETTER G WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F4", "lowercase_mapping": "", "titlecase_mapping": "01F4", "symbol": "\u01F5" }, 505: { "value": "01F9", "name": "LATIN SMALL LETTER N WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01F8", "lowercase_mapping": "", "titlecase_mapping": "01F8", "symbol": "\u01F9" }, 507: { "value": "01FB", "name": "LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FA", "lowercase_mapping": "", "titlecase_mapping": "01FA", "symbol": "\u01FB" }, 509: { "value": "01FD", "name": "LATIN SMALL LETTER AE WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E6 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FC", "lowercase_mapping": "", "titlecase_mapping": "01FC", "symbol": "\u01FD" }, 511: { "value": "01FF", "name": "LATIN SMALL LETTER O WITH STROKE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F8 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01FE", "lowercase_mapping": "", "titlecase_mapping": "01FE", "symbol": "\u01FF" }, 513: { "value": "0201", "name": "LATIN SMALL LETTER A WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0200", "lowercase_mapping": "", "titlecase_mapping": "0200", "symbol": "\u0201" }, 515: { "value": "0203", "name": "LATIN SMALL LETTER A WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0202", "lowercase_mapping": "", "titlecase_mapping": "0202", "symbol": "\u0203" }, 517: { "value": "0205", "name": "LATIN SMALL LETTER E WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0204", "lowercase_mapping": "", "titlecase_mapping": "0204", "symbol": "\u0205" }, 519: { "value": "0207", "name": "LATIN SMALL LETTER E WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0206", "lowercase_mapping": "", "titlecase_mapping": "0206", "symbol": "\u0207" }, 521: { "value": "0209", "name": "LATIN SMALL LETTER I WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0208", "lowercase_mapping": "", "titlecase_mapping": "0208", "symbol": "\u0209" }, 523: { "value": "020B", "name": "LATIN SMALL LETTER I WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020A", "lowercase_mapping": "", "titlecase_mapping": "020A", "symbol": "\u020B" }, 525: { "value": "020D", "name": "LATIN SMALL LETTER O WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020C", "lowercase_mapping": "", "titlecase_mapping": "020C", "symbol": "\u020D" }, 527: { "value": "020F", "name": "LATIN SMALL LETTER O WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "020E", "lowercase_mapping": "", "titlecase_mapping": "020E", "symbol": "\u020F" }, 529: { "value": "0211", "name": "LATIN SMALL LETTER R WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0210", "lowercase_mapping": "", "titlecase_mapping": "0210", "symbol": "\u0211" }, 531: { "value": "0213", "name": "LATIN SMALL LETTER R WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0212", "lowercase_mapping": "", "titlecase_mapping": "0212", "symbol": "\u0213" }, 533: { "value": "0215", "name": "LATIN SMALL LETTER U WITH DOUBLE GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0214", "lowercase_mapping": "", "titlecase_mapping": "0214", "symbol": "\u0215" }, 535: { "value": "0217", "name": "LATIN SMALL LETTER U WITH INVERTED BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0311", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0216", "lowercase_mapping": "", "titlecase_mapping": "0216", "symbol": "\u0217" }, 537: { "value": "0219", "name": "LATIN SMALL LETTER S WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0218", "lowercase_mapping": "", "titlecase_mapping": "0218", "symbol": "\u0219" }, 539: { "value": "021B", "name": "LATIN SMALL LETTER T WITH COMMA BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0326", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021A", "lowercase_mapping": "", "titlecase_mapping": "021A", "symbol": "\u021B" }, 541: { "value": "021D", "name": "LATIN SMALL LETTER YOGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021C", "lowercase_mapping": "", "titlecase_mapping": "021C", "symbol": "\u021D" }, 543: { "value": "021F", "name": "LATIN SMALL LETTER H WITH CARON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 030C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "021E", "lowercase_mapping": "", "titlecase_mapping": "021E", "symbol": "\u021F" }, 545: { "value": "0221", "name": "LATIN SMALL LETTER D WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0221" }, 547: { "value": "0223", "name": "LATIN SMALL LETTER OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0222", "lowercase_mapping": "", "titlecase_mapping": "0222", "symbol": "\u0223" }, 549: { "value": "0225", "name": "LATIN SMALL LETTER Z WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0224", "lowercase_mapping": "", "titlecase_mapping": "0224", "symbol": "\u0225" }, 551: { "value": "0227", "name": "LATIN SMALL LETTER A WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0226", "lowercase_mapping": "", "titlecase_mapping": "0226", "symbol": "\u0227" }, 553: { "value": "0229", "name": "LATIN SMALL LETTER E WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0228", "lowercase_mapping": "", "titlecase_mapping": "0228", "symbol": "\u0229" }, 555: { "value": "022B", "name": "LATIN SMALL LETTER O WITH DIAERESIS AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F6 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022A", "lowercase_mapping": "", "titlecase_mapping": "022A", "symbol": "\u022B" }, 557: { "value": "022D", "name": "LATIN SMALL LETTER O WITH TILDE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022C", "lowercase_mapping": "", "titlecase_mapping": "022C", "symbol": "\u022D" }, 559: { "value": "022F", "name": "LATIN SMALL LETTER O WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "022E", "lowercase_mapping": "", "titlecase_mapping": "022E", "symbol": "\u022F" }, 561: { "value": "0231", "name": "LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "022F 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0230", "lowercase_mapping": "", "titlecase_mapping": "0230", "symbol": "\u0231" }, 563: { "value": "0233", "name": "LATIN SMALL LETTER Y WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0232", "lowercase_mapping": "", "titlecase_mapping": "0232", "symbol": "\u0233" }, 564: { "value": "0234", "name": "LATIN SMALL LETTER L WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0234" }, 565: { "value": "0235", "name": "LATIN SMALL LETTER N WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0235" }, 566: { "value": "0236", "name": "LATIN SMALL LETTER T WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0236" }, 567: { "value": "0237", "name": "LATIN SMALL LETTER DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0237" }, 568: { "value": "0238", "name": "LATIN SMALL LETTER DB DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0238" }, 569: { "value": "0239", "name": "LATIN SMALL LETTER QP DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0239" }, 572: { "value": "023C", "name": "LATIN SMALL LETTER C WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023B", "lowercase_mapping": "", "titlecase_mapping": "023B", "symbol": "\u023C" }, 575: { "value": "023F", "name": "LATIN SMALL LETTER S WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7E", "lowercase_mapping": "", "titlecase_mapping": "2C7E", "symbol": "\u023F" }, 576: { "value": "0240", "name": "LATIN SMALL LETTER Z WITH SWASH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C7F", "lowercase_mapping": "", "titlecase_mapping": "2C7F", "symbol": "\u0240" }, 578: { "value": "0242", "name": "LATIN SMALL LETTER GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0241", "lowercase_mapping": "", "titlecase_mapping": "0241", "symbol": "\u0242" }, 583: { "value": "0247", "name": "LATIN SMALL LETTER E WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0246", "lowercase_mapping": "", "titlecase_mapping": "0246", "symbol": "\u0247" }, 585: { "value": "0249", "name": "LATIN SMALL LETTER J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0248", "lowercase_mapping": "", "titlecase_mapping": "0248", "symbol": "\u0249" }, 587: { "value": "024B", "name": "LATIN SMALL LETTER Q WITH HOOK TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024A", "lowercase_mapping": "", "titlecase_mapping": "024A", "symbol": "\u024B" }, 589: { "value": "024D", "name": "LATIN SMALL LETTER R WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024C", "lowercase_mapping": "", "titlecase_mapping": "024C", "symbol": "\u024D" }, 591: { "value": "024F", "name": "LATIN SMALL LETTER Y WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "024E", "lowercase_mapping": "", "titlecase_mapping": "024E", "symbol": "\u024F" }, 592: { "value": "0250", "name": "LATIN SMALL LETTER TURNED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6F", "lowercase_mapping": "", "titlecase_mapping": "2C6F", "symbol": "\u0250" }, 593: { "value": "0251", "name": "LATIN SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT A", "comment": "", "uppercase_mapping": "2C6D", "lowercase_mapping": "", "titlecase_mapping": "2C6D", "symbol": "\u0251" }, 594: { "value": "0252", "name": "LATIN SMALL LETTER TURNED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED SCRIPT A", "comment": "", "uppercase_mapping": "2C70", "lowercase_mapping": "", "titlecase_mapping": "2C70", "symbol": "\u0252" }, 595: { "value": "0253", "name": "LATIN SMALL LETTER B WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER B HOOK", "comment": "", "uppercase_mapping": "0181", "lowercase_mapping": "", "titlecase_mapping": "0181", "symbol": "\u0253" }, 596: { "value": "0254", "name": "LATIN SMALL LETTER OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0186", "lowercase_mapping": "", "titlecase_mapping": "0186", "symbol": "\u0254" }, 597: { "value": "0255", "name": "LATIN SMALL LETTER C WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0255" }, 598: { "value": "0256", "name": "LATIN SMALL LETTER D WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D RETROFLEX HOOK", "comment": "", "uppercase_mapping": "0189", "lowercase_mapping": "", "titlecase_mapping": "0189", "symbol": "\u0256" }, 599: { "value": "0257", "name": "LATIN SMALL LETTER D WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D HOOK", "comment": "", "uppercase_mapping": "018A", "lowercase_mapping": "", "titlecase_mapping": "018A", "symbol": "\u0257" }, 600: { "value": "0258", "name": "LATIN SMALL LETTER REVERSED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0258" }, 601: { "value": "0259", "name": "LATIN SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "018F", "lowercase_mapping": "", "titlecase_mapping": "018F", "symbol": "\u0259" }, 602: { "value": "025A", "name": "LATIN SMALL LETTER SCHWA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCHWA HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025A" }, 603: { "value": "025B", "name": "LATIN SMALL LETTER OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER EPSILON", "comment": "", "uppercase_mapping": "0190", "lowercase_mapping": "", "titlecase_mapping": "0190", "symbol": "\u025B" }, 604: { "value": "025C", "name": "LATIN SMALL LETTER REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON", "comment": "", "uppercase_mapping": "A7AB", "lowercase_mapping": "", "titlecase_mapping": "A7AB", "symbol": "\u025C" }, 605: { "value": "025D", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED EPSILON HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025D" }, 606: { "value": "025E", "name": "LATIN SMALL LETTER CLOSED REVERSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED REVERSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025E" }, 607: { "value": "025F", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u025F" }, 608: { "value": "0260", "name": "LATIN SMALL LETTER G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER G HOOK", "comment": "", "uppercase_mapping": "0193", "lowercase_mapping": "", "titlecase_mapping": "0193", "symbol": "\u0260" }, 609: { "value": "0261", "name": "LATIN SMALL LETTER SCRIPT G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AC", "lowercase_mapping": "", "titlecase_mapping": "A7AC", "symbol": "\u0261" }, 610: { "value": "0262", "name": "LATIN LETTER SMALL CAPITAL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0262" }, 611: { "value": "0263", "name": "LATIN SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0194", "lowercase_mapping": "", "titlecase_mapping": "0194", "symbol": "\u0263" }, 612: { "value": "0264", "name": "LATIN SMALL LETTER RAMS HORN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BABY GAMMA", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0264" }, 613: { "value": "0265", "name": "LATIN SMALL LETTER TURNED H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78D", "lowercase_mapping": "", "titlecase_mapping": "A78D", "symbol": "\u0265" }, 614: { "value": "0266", "name": "LATIN SMALL LETTER H WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER H HOOK", "comment": "", "uppercase_mapping": "A7AA", "lowercase_mapping": "", "titlecase_mapping": "A7AA", "symbol": "\u0266" }, 615: { "value": "0267", "name": "LATIN SMALL LETTER HENG WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER HENG HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0267" }, 616: { "value": "0268", "name": "LATIN SMALL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER BARRED I", "comment": "", "uppercase_mapping": "0197", "lowercase_mapping": "", "titlecase_mapping": "0197", "symbol": "\u0268" }, 617: { "value": "0269", "name": "LATIN SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0196", "lowercase_mapping": "", "titlecase_mapping": "0196", "symbol": "\u0269" }, 618: { "value": "026A", "name": "LATIN LETTER SMALL CAPITAL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7AE", "lowercase_mapping": "", "titlecase_mapping": "A7AE", "symbol": "\u026A" }, 619: { "value": "026B", "name": "LATIN SMALL LETTER L WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C62", "lowercase_mapping": "", "titlecase_mapping": "2C62", "symbol": "\u026B" }, 620: { "value": "026C", "name": "LATIN SMALL LETTER L WITH BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L BELT", "comment": "", "uppercase_mapping": "A7AD", "lowercase_mapping": "", "titlecase_mapping": "A7AD", "symbol": "\u026C" }, 621: { "value": "026D", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026D" }, 622: { "value": "026E", "name": "LATIN SMALL LETTER LEZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER L YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u026E" }, 623: { "value": "026F", "name": "LATIN SMALL LETTER TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019C", "lowercase_mapping": "", "titlecase_mapping": "019C", "symbol": "\u026F" }, 624: { "value": "0270", "name": "LATIN SMALL LETTER TURNED M WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0270" }, 625: { "value": "0271", "name": "LATIN SMALL LETTER M WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER M HOOK", "comment": "", "uppercase_mapping": "2C6E", "lowercase_mapping": "", "titlecase_mapping": "2C6E", "symbol": "\u0271" }, 626: { "value": "0272", "name": "LATIN SMALL LETTER N WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N HOOK", "comment": "", "uppercase_mapping": "019D", "lowercase_mapping": "", "titlecase_mapping": "019D", "symbol": "\u0272" }, 627: { "value": "0273", "name": "LATIN SMALL LETTER N WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER N RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0273" }, 628: { "value": "0274", "name": "LATIN LETTER SMALL CAPITAL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0274" }, 629: { "value": "0275", "name": "LATIN SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "019F", "lowercase_mapping": "", "titlecase_mapping": "019F", "symbol": "\u0275" }, 630: { "value": "0276", "name": "LATIN LETTER SMALL CAPITAL OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL O E", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0276" }, 631: { "value": "0277", "name": "LATIN SMALL LETTER CLOSED OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0277" }, 632: { "value": "0278", "name": "LATIN SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0278" }, 633: { "value": "0279", "name": "LATIN SMALL LETTER TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0279" }, 634: { "value": "027A", "name": "LATIN SMALL LETTER TURNED R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027A" }, 635: { "value": "027B", "name": "LATIN SMALL LETTER TURNED R WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER TURNED R HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027B" }, 636: { "value": "027C", "name": "LATIN SMALL LETTER R WITH LONG LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027C" }, 637: { "value": "027D", "name": "LATIN SMALL LETTER R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER R HOOK", "comment": "", "uppercase_mapping": "2C64", "lowercase_mapping": "", "titlecase_mapping": "2C64", "symbol": "\u027D" }, 638: { "value": "027E", "name": "LATIN SMALL LETTER R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027E" }, 639: { "value": "027F", "name": "LATIN SMALL LETTER REVERSED R WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER REVERSED FISHHOOK R", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u027F" }, 640: { "value": "0280", "name": "LATIN LETTER SMALL CAPITAL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A6", "lowercase_mapping": "", "titlecase_mapping": "01A6", "symbol": "\u0280" }, 641: { "value": "0281", "name": "LATIN LETTER SMALL CAPITAL INVERTED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0281" }, 642: { "value": "0282", "name": "LATIN SMALL LETTER S WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER S HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0282" }, 643: { "value": "0283", "name": "LATIN SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01A9", "lowercase_mapping": "", "titlecase_mapping": "01A9", "symbol": "\u0283" }, 644: { "value": "0284", "name": "LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER DOTLESS J BAR HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0284" }, 645: { "value": "0285", "name": "LATIN SMALL LETTER SQUAT REVERSED ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0285" }, 646: { "value": "0286", "name": "LATIN SMALL LETTER ESH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER ESH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0286" }, 647: { "value": "0287", "name": "LATIN SMALL LETTER TURNED T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B1", "lowercase_mapping": "", "titlecase_mapping": "A7B1", "symbol": "\u0287" }, 648: { "value": "0288", "name": "LATIN SMALL LETTER T WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T RETROFLEX HOOK", "comment": "", "uppercase_mapping": "01AE", "lowercase_mapping": "", "titlecase_mapping": "01AE", "symbol": "\u0288" }, 649: { "value": "0289", "name": "LATIN SMALL LETTER U BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0244", "lowercase_mapping": "", "titlecase_mapping": "0244", "symbol": "\u0289" }, 650: { "value": "028A", "name": "LATIN SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "01B1", "lowercase_mapping": "", "titlecase_mapping": "01B1", "symbol": "\u028A" }, 651: { "value": "028B", "name": "LATIN SMALL LETTER V WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER SCRIPT V", "comment": "", "uppercase_mapping": "01B2", "lowercase_mapping": "", "titlecase_mapping": "01B2", "symbol": "\u028B" }, 652: { "value": "028C", "name": "LATIN SMALL LETTER TURNED V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0245", "lowercase_mapping": "", "titlecase_mapping": "0245", "symbol": "\u028C" }, 653: { "value": "028D", "name": "LATIN SMALL LETTER TURNED W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028D" }, 654: { "value": "028E", "name": "LATIN SMALL LETTER TURNED Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028E" }, 655: { "value": "028F", "name": "LATIN LETTER SMALL CAPITAL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u028F" }, 656: { "value": "0290", "name": "LATIN SMALL LETTER Z WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z RETROFLEX HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0290" }, 657: { "value": "0291", "name": "LATIN SMALL LETTER Z WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0291" }, 658: { "value": "0292", "name": "LATIN SMALL LETTER EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH", "comment": "", "uppercase_mapping": "01B7", "lowercase_mapping": "", "titlecase_mapping": "01B7", "symbol": "\u0292" }, 659: { "value": "0293", "name": "LATIN SMALL LETTER EZH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER YOGH CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0293" }, 661: { "value": "0295", "name": "LATIN LETTER PHARYNGEAL VOICED FRICATIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0295" }, 662: { "value": "0296", "name": "LATIN LETTER INVERTED GLOTTAL STOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0296" }, 663: { "value": "0297", "name": "LATIN LETTER STRETCHED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0297" }, 664: { "value": "0298", "name": "LATIN LETTER BILABIAL CLICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER BULLSEYE", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0298" }, 665: { "value": "0299", "name": "LATIN LETTER SMALL CAPITAL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0299" }, 666: { "value": "029A", "name": "LATIN SMALL LETTER CLOSED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CLOSED EPSILON", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029A" }, 667: { "value": "029B", "name": "LATIN LETTER SMALL CAPITAL G WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER SMALL CAPITAL G HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029B" }, 668: { "value": "029C", "name": "LATIN LETTER SMALL CAPITAL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029C" }, 669: { "value": "029D", "name": "LATIN SMALL LETTER J WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER CROSSED-TAIL J", "comment": "", "uppercase_mapping": "A7B2", "lowercase_mapping": "", "titlecase_mapping": "A7B2", "symbol": "\u029D" }, 670: { "value": "029E", "name": "LATIN SMALL LETTER TURNED K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B0", "lowercase_mapping": "", "titlecase_mapping": "A7B0", "symbol": "\u029E" }, 671: { "value": "029F", "name": "LATIN LETTER SMALL CAPITAL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u029F" }, 672: { "value": "02A0", "name": "LATIN SMALL LETTER Q WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER Q HOOK", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A0" }, 673: { "value": "02A1", "name": "LATIN LETTER GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A1" }, 674: { "value": "02A2", "name": "LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN LETTER REVERSED GLOTTAL STOP BAR", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A2" }, 675: { "value": "02A3", "name": "LATIN SMALL LETTER DZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A3" }, 676: { "value": "02A4", "name": "LATIN SMALL LETTER DEZH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D YOGH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A4" }, 677: { "value": "02A5", "name": "LATIN SMALL LETTER DZ DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER D Z CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A5" }, 678: { "value": "02A6", "name": "LATIN SMALL LETTER TS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T S", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A6" }, 679: { "value": "02A7", "name": "LATIN SMALL LETTER TESH DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T ESH", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A7" }, 680: { "value": "02A8", "name": "LATIN SMALL LETTER TC DIGRAPH WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "LATIN SMALL LETTER T C CURL", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A8" }, 681: { "value": "02A9", "name": "LATIN SMALL LETTER FENG DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02A9" }, 682: { "value": "02AA", "name": "LATIN SMALL LETTER LS DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AA" }, 683: { "value": "02AB", "name": "LATIN SMALL LETTER LZ DIGRAPH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AB" }, 684: { "value": "02AC", "name": "LATIN LETTER BILABIAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AC" }, 685: { "value": "02AD", "name": "LATIN LETTER BIDENTAL PERCUSSIVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AD" }, 686: { "value": "02AE", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AE" }, 687: { "value": "02AF", "name": "LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u02AF" }, 881: { "value": "0371", "name": "GREEK SMALL LETTER HETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0370", "lowercase_mapping": "", "titlecase_mapping": "0370", "symbol": "\u0371" }, 883: { "value": "0373", "name": "GREEK SMALL LETTER ARCHAIC SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0372", "lowercase_mapping": "", "titlecase_mapping": "0372", "symbol": "\u0373" }, 887: { "value": "0377", "name": "GREEK SMALL LETTER PAMPHYLIAN DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0376", "lowercase_mapping": "", "titlecase_mapping": "0376", "symbol": "\u0377" }, 891: { "value": "037B", "name": "GREEK SMALL REVERSED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FD", "lowercase_mapping": "", "titlecase_mapping": "03FD", "symbol": "\u037B" }, 892: { "value": "037C", "name": "GREEK SMALL DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FE", "lowercase_mapping": "", "titlecase_mapping": "03FE", "symbol": "\u037C" }, 893: { "value": "037D", "name": "GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FF", "lowercase_mapping": "", "titlecase_mapping": "03FF", "symbol": "\u037D" }, 912: { "value": "0390", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0390" }, 940: { "value": "03AC", "name": "GREEK SMALL LETTER ALPHA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ALPHA TONOS", "comment": "", "uppercase_mapping": "0386", "lowercase_mapping": "", "titlecase_mapping": "0386", "symbol": "\u03AC" }, 941: { "value": "03AD", "name": "GREEK SMALL LETTER EPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER EPSILON TONOS", "comment": "", "uppercase_mapping": "0388", "lowercase_mapping": "", "titlecase_mapping": "0388", "symbol": "\u03AD" }, 942: { "value": "03AE", "name": "GREEK SMALL LETTER ETA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER ETA TONOS", "comment": "", "uppercase_mapping": "0389", "lowercase_mapping": "", "titlecase_mapping": "0389", "symbol": "\u03AE" }, 943: { "value": "03AF", "name": "GREEK SMALL LETTER IOTA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA TONOS", "comment": "", "uppercase_mapping": "038A", "lowercase_mapping": "", "titlecase_mapping": "038A", "symbol": "\u03AF" }, 944: { "value": "03B0", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS TONOS", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03B0" }, 945: { "value": "03B1", "name": "GREEK SMALL LETTER ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0391", "lowercase_mapping": "", "titlecase_mapping": "0391", "symbol": "\u03B1" }, 946: { "value": "03B2", "name": "GREEK SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03B2" }, 947: { "value": "03B3", "name": "GREEK SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0393", "lowercase_mapping": "", "titlecase_mapping": "0393", "symbol": "\u03B3" }, 948: { "value": "03B4", "name": "GREEK SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0394", "lowercase_mapping": "", "titlecase_mapping": "0394", "symbol": "\u03B4" }, 949: { "value": "03B5", "name": "GREEK SMALL LETTER EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03B5" }, 950: { "value": "03B6", "name": "GREEK SMALL LETTER ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0396", "lowercase_mapping": "", "titlecase_mapping": "0396", "symbol": "\u03B6" }, 951: { "value": "03B7", "name": "GREEK SMALL LETTER ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0397", "lowercase_mapping": "", "titlecase_mapping": "0397", "symbol": "\u03B7" }, 952: { "value": "03B8", "name": "GREEK SMALL LETTER THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03B8" }, 953: { "value": "03B9", "name": "GREEK SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u03B9" }, 954: { "value": "03BA", "name": "GREEK SMALL LETTER KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03BA" }, 955: { "value": "03BB", "name": "GREEK SMALL LETTER LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LAMBDA", "comment": "", "uppercase_mapping": "039B", "lowercase_mapping": "", "titlecase_mapping": "039B", "symbol": "\u03BB" }, 956: { "value": "03BC", "name": "GREEK SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039C", "lowercase_mapping": "", "titlecase_mapping": "039C", "symbol": "\u03BC" }, 957: { "value": "03BD", "name": "GREEK SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039D", "lowercase_mapping": "", "titlecase_mapping": "039D", "symbol": "\u03BD" }, 958: { "value": "03BE", "name": "GREEK SMALL LETTER XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039E", "lowercase_mapping": "", "titlecase_mapping": "039E", "symbol": "\u03BE" }, 959: { "value": "03BF", "name": "GREEK SMALL LETTER OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "039F", "lowercase_mapping": "", "titlecase_mapping": "039F", "symbol": "\u03BF" }, 960: { "value": "03C0", "name": "GREEK SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03C0" }, 961: { "value": "03C1", "name": "GREEK SMALL LETTER RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03C1" }, 962: { "value": "03C2", "name": "GREEK SMALL LETTER FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C2" }, 963: { "value": "03C3", "name": "GREEK SMALL LETTER SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A3", "lowercase_mapping": "", "titlecase_mapping": "03A3", "symbol": "\u03C3" }, 964: { "value": "03C4", "name": "GREEK SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A4", "lowercase_mapping": "", "titlecase_mapping": "03A4", "symbol": "\u03C4" }, 965: { "value": "03C5", "name": "GREEK SMALL LETTER UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A5", "lowercase_mapping": "", "titlecase_mapping": "03A5", "symbol": "\u03C5" }, 966: { "value": "03C6", "name": "GREEK SMALL LETTER PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03C6" }, 967: { "value": "03C7", "name": "GREEK SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A7", "lowercase_mapping": "", "titlecase_mapping": "03A7", "symbol": "\u03C7" }, 968: { "value": "03C8", "name": "GREEK SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A8", "lowercase_mapping": "", "titlecase_mapping": "03A8", "symbol": "\u03C8" }, 969: { "value": "03C9", "name": "GREEK SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03A9", "lowercase_mapping": "", "titlecase_mapping": "03A9", "symbol": "\u03C9" }, 970: { "value": "03CA", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER IOTA DIAERESIS", "comment": "", "uppercase_mapping": "03AA", "lowercase_mapping": "", "titlecase_mapping": "03AA", "symbol": "\u03CA" }, 971: { "value": "03CB", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON DIAERESIS", "comment": "", "uppercase_mapping": "03AB", "lowercase_mapping": "", "titlecase_mapping": "03AB", "symbol": "\u03CB" }, 972: { "value": "03CC", "name": "GREEK SMALL LETTER OMICRON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMICRON TONOS", "comment": "", "uppercase_mapping": "038C", "lowercase_mapping": "", "titlecase_mapping": "038C", "symbol": "\u03CC" }, 973: { "value": "03CD", "name": "GREEK SMALL LETTER UPSILON WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER UPSILON TONOS", "comment": "", "uppercase_mapping": "038E", "lowercase_mapping": "", "titlecase_mapping": "038E", "symbol": "\u03CD" }, 974: { "value": "03CE", "name": "GREEK SMALL LETTER OMEGA WITH TONOS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA TONOS", "comment": "", "uppercase_mapping": "038F", "lowercase_mapping": "", "titlecase_mapping": "038F", "symbol": "\u03CE" }, 976: { "value": "03D0", "name": "GREEK BETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER CURLED BETA", "comment": "", "uppercase_mapping": "0392", "lowercase_mapping": "", "titlecase_mapping": "0392", "symbol": "\u03D0" }, 977: { "value": "03D1", "name": "GREEK THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT THETA", "comment": "", "uppercase_mapping": "0398", "lowercase_mapping": "", "titlecase_mapping": "0398", "symbol": "\u03D1" }, 981: { "value": "03D5", "name": "GREEK PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT PHI", "comment": "", "uppercase_mapping": "03A6", "lowercase_mapping": "", "titlecase_mapping": "03A6", "symbol": "\u03D5" }, 982: { "value": "03D6", "name": "GREEK PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER OMEGA PI", "comment": "", "uppercase_mapping": "03A0", "lowercase_mapping": "", "titlecase_mapping": "03A0", "symbol": "\u03D6" }, 983: { "value": "03D7", "name": "GREEK KAI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03CF", "lowercase_mapping": "", "titlecase_mapping": "03CF", "symbol": "\u03D7" }, 985: { "value": "03D9", "name": "GREEK SMALL LETTER ARCHAIC KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03D8", "lowercase_mapping": "", "titlecase_mapping": "03D8", "symbol": "\u03D9" }, 987: { "value": "03DB", "name": "GREEK SMALL LETTER STIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DA", "lowercase_mapping": "", "titlecase_mapping": "03DA", "symbol": "\u03DB" }, 989: { "value": "03DD", "name": "GREEK SMALL LETTER DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DC", "lowercase_mapping": "", "titlecase_mapping": "03DC", "symbol": "\u03DD" }, 991: { "value": "03DF", "name": "GREEK SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03DE", "lowercase_mapping": "", "titlecase_mapping": "03DE", "symbol": "\u03DF" }, 993: { "value": "03E1", "name": "GREEK SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03E0", "lowercase_mapping": "", "titlecase_mapping": "03E0", "symbol": "\u03E1" }, 995: { "value": "03E3", "name": "COPTIC SMALL LETTER SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHEI", "comment": "", "uppercase_mapping": "03E2", "lowercase_mapping": "", "titlecase_mapping": "03E2", "symbol": "\u03E3" }, 997: { "value": "03E5", "name": "COPTIC SMALL LETTER FEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER FEI", "comment": "", "uppercase_mapping": "03E4", "lowercase_mapping": "", "titlecase_mapping": "03E4", "symbol": "\u03E5" }, 999: { "value": "03E7", "name": "COPTIC SMALL LETTER KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER KHEI", "comment": "", "uppercase_mapping": "03E6", "lowercase_mapping": "", "titlecase_mapping": "03E6", "symbol": "\u03E7" }, 1001: { "value": "03E9", "name": "COPTIC SMALL LETTER HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER HORI", "comment": "", "uppercase_mapping": "03E8", "lowercase_mapping": "", "titlecase_mapping": "03E8", "symbol": "\u03E9" }, 1003: { "value": "03EB", "name": "COPTIC SMALL LETTER GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER GANGIA", "comment": "", "uppercase_mapping": "03EA", "lowercase_mapping": "", "titlecase_mapping": "03EA", "symbol": "\u03EB" }, 1005: { "value": "03ED", "name": "COPTIC SMALL LETTER SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SHIMA", "comment": "", "uppercase_mapping": "03EC", "lowercase_mapping": "", "titlecase_mapping": "03EC", "symbol": "\u03ED" }, 1007: { "value": "03EF", "name": "COPTIC SMALL LETTER DEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER DEI", "comment": "", "uppercase_mapping": "03EE", "lowercase_mapping": "", "titlecase_mapping": "03EE", "symbol": "\u03EF" }, 1008: { "value": "03F0", "name": "GREEK KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER SCRIPT KAPPA", "comment": "", "uppercase_mapping": "039A", "lowercase_mapping": "", "titlecase_mapping": "039A", "symbol": "\u03F0" }, 1009: { "value": "03F1", "name": "GREEK RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER TAILED RHO", "comment": "", "uppercase_mapping": "03A1", "lowercase_mapping": "", "titlecase_mapping": "03A1", "symbol": "\u03F1" }, 1010: { "value": "03F2", "name": "GREEK LUNATE SIGMA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "GREEK SMALL LETTER LUNATE SIGMA", "comment": "", "uppercase_mapping": "03F9", "lowercase_mapping": "", "titlecase_mapping": "03F9", "symbol": "\u03F2" }, 1011: { "value": "03F3", "name": "GREEK LETTER YOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "037F", "lowercase_mapping": "", "titlecase_mapping": "037F", "symbol": "\u03F3" }, 1013: { "value": "03F5", "name": "GREEK LUNATE EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0395", "lowercase_mapping": "", "titlecase_mapping": "0395", "symbol": "\u03F5" }, 1016: { "value": "03F8", "name": "GREEK SMALL LETTER SHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03F7", "lowercase_mapping": "", "titlecase_mapping": "03F7", "symbol": "\u03F8" }, 1019: { "value": "03FB", "name": "GREEK SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "03FA", "lowercase_mapping": "", "titlecase_mapping": "03FA", "symbol": "\u03FB" }, 1020: { "value": "03FC", "name": "GREEK RHO WITH STROKE SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u03FC" }, 1072: { "value": "0430", "name": "CYRILLIC SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0410", "lowercase_mapping": "", "titlecase_mapping": "0410", "symbol": "\u0430" }, 1073: { "value": "0431", "name": "CYRILLIC SMALL LETTER BE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0411", "lowercase_mapping": "", "titlecase_mapping": "0411", "symbol": "\u0431" }, 1074: { "value": "0432", "name": "CYRILLIC SMALL LETTER VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u0432" }, 1075: { "value": "0433", "name": "CYRILLIC SMALL LETTER GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE", "comment": "", "uppercase_mapping": "0413", "lowercase_mapping": "", "titlecase_mapping": "0413", "symbol": "\u0433" }, 1076: { "value": "0434", "name": "CYRILLIC SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u0434" }, 1077: { "value": "0435", "name": "CYRILLIC SMALL LETTER IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0415", "lowercase_mapping": "", "titlecase_mapping": "0415", "symbol": "\u0435" }, 1078: { "value": "0436", "name": "CYRILLIC SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0416", "lowercase_mapping": "", "titlecase_mapping": "0416", "symbol": "\u0436" }, 1079: { "value": "0437", "name": "CYRILLIC SMALL LETTER ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0417", "lowercase_mapping": "", "titlecase_mapping": "0417", "symbol": "\u0437" }, 1080: { "value": "0438", "name": "CYRILLIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER II", "comment": "", "uppercase_mapping": "0418", "lowercase_mapping": "", "titlecase_mapping": "0418", "symbol": "\u0438" }, 1081: { "value": "0439", "name": "CYRILLIC SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT II", "comment": "", "uppercase_mapping": "0419", "lowercase_mapping": "", "titlecase_mapping": "0419", "symbol": "\u0439" }, 1082: { "value": "043A", "name": "CYRILLIC SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041A", "lowercase_mapping": "", "titlecase_mapping": "041A", "symbol": "\u043A" }, 1083: { "value": "043B", "name": "CYRILLIC SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041B", "lowercase_mapping": "", "titlecase_mapping": "041B", "symbol": "\u043B" }, 1084: { "value": "043C", "name": "CYRILLIC SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041C", "lowercase_mapping": "", "titlecase_mapping": "041C", "symbol": "\u043C" }, 1085: { "value": "043D", "name": "CYRILLIC SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041D", "lowercase_mapping": "", "titlecase_mapping": "041D", "symbol": "\u043D" }, 1086: { "value": "043E", "name": "CYRILLIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u043E" }, 1087: { "value": "043F", "name": "CYRILLIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041F", "lowercase_mapping": "", "titlecase_mapping": "041F", "symbol": "\u043F" }, 1088: { "value": "0440", "name": "CYRILLIC SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0420", "lowercase_mapping": "", "titlecase_mapping": "0420", "symbol": "\u0440" }, 1089: { "value": "0441", "name": "CYRILLIC SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u0441" }, 1090: { "value": "0442", "name": "CYRILLIC SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u0442" }, 1091: { "value": "0443", "name": "CYRILLIC SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0423", "lowercase_mapping": "", "titlecase_mapping": "0423", "symbol": "\u0443" }, 1092: { "value": "0444", "name": "CYRILLIC SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0424", "lowercase_mapping": "", "titlecase_mapping": "0424", "symbol": "\u0444" }, 1093: { "value": "0445", "name": "CYRILLIC SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA", "comment": "", "uppercase_mapping": "0425", "lowercase_mapping": "", "titlecase_mapping": "0425", "symbol": "\u0445" }, 1094: { "value": "0446", "name": "CYRILLIC SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0426", "lowercase_mapping": "", "titlecase_mapping": "0426", "symbol": "\u0446" }, 1095: { "value": "0447", "name": "CYRILLIC SMALL LETTER CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0427", "lowercase_mapping": "", "titlecase_mapping": "0427", "symbol": "\u0447" }, 1096: { "value": "0448", "name": "CYRILLIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0428", "lowercase_mapping": "", "titlecase_mapping": "0428", "symbol": "\u0448" }, 1097: { "value": "0449", "name": "CYRILLIC SMALL LETTER SHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0429", "lowercase_mapping": "", "titlecase_mapping": "0429", "symbol": "\u0449" }, 1098: { "value": "044A", "name": "CYRILLIC SMALL LETTER HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u044A" }, 1099: { "value": "044B", "name": "CYRILLIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER YERI", "comment": "", "uppercase_mapping": "042B", "lowercase_mapping": "", "titlecase_mapping": "042B", "symbol": "\u044B" }, 1100: { "value": "044C", "name": "CYRILLIC SMALL LETTER SOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042C", "lowercase_mapping": "", "titlecase_mapping": "042C", "symbol": "\u044C" }, 1101: { "value": "044D", "name": "CYRILLIC SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED E", "comment": "", "uppercase_mapping": "042D", "lowercase_mapping": "", "titlecase_mapping": "042D", "symbol": "\u044D" }, 1102: { "value": "044E", "name": "CYRILLIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IU", "comment": "", "uppercase_mapping": "042E", "lowercase_mapping": "", "titlecase_mapping": "042E", "symbol": "\u044E" }, 1103: { "value": "044F", "name": "CYRILLIC SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IA", "comment": "", "uppercase_mapping": "042F", "lowercase_mapping": "", "titlecase_mapping": "042F", "symbol": "\u044F" }, 1104: { "value": "0450", "name": "CYRILLIC SMALL LETTER IE WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0400", "lowercase_mapping": "", "titlecase_mapping": "0400", "symbol": "\u0450" }, 1105: { "value": "0451", "name": "CYRILLIC SMALL LETTER IO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0401", "lowercase_mapping": "", "titlecase_mapping": "0401", "symbol": "\u0451" }, 1106: { "value": "0452", "name": "CYRILLIC SMALL LETTER DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0402", "lowercase_mapping": "", "titlecase_mapping": "0402", "symbol": "\u0452" }, 1107: { "value": "0453", "name": "CYRILLIC SMALL LETTER GJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0433 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0403", "lowercase_mapping": "", "titlecase_mapping": "0403", "symbol": "\u0453" }, 1108: { "value": "0454", "name": "CYRILLIC SMALL LETTER UKRAINIAN IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER E", "comment": "", "uppercase_mapping": "0404", "lowercase_mapping": "", "titlecase_mapping": "0404", "symbol": "\u0454" }, 1109: { "value": "0455", "name": "CYRILLIC SMALL LETTER DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0405", "lowercase_mapping": "", "titlecase_mapping": "0405", "symbol": "\u0455" }, 1110: { "value": "0456", "name": "CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER I", "comment": "", "uppercase_mapping": "0406", "lowercase_mapping": "", "titlecase_mapping": "0406", "symbol": "\u0456" }, 1111: { "value": "0457", "name": "CYRILLIC SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0456 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0407", "lowercase_mapping": "", "titlecase_mapping": "0407", "symbol": "\u0457" }, 1112: { "value": "0458", "name": "CYRILLIC SMALL LETTER JE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0408", "lowercase_mapping": "", "titlecase_mapping": "0408", "symbol": "\u0458" }, 1113: { "value": "0459", "name": "CYRILLIC SMALL LETTER LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0409", "lowercase_mapping": "", "titlecase_mapping": "0409", "symbol": "\u0459" }, 1114: { "value": "045A", "name": "CYRILLIC SMALL LETTER NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040A", "lowercase_mapping": "", "titlecase_mapping": "040A", "symbol": "\u045A" }, 1115: { "value": "045B", "name": "CYRILLIC SMALL LETTER TSHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040B", "lowercase_mapping": "", "titlecase_mapping": "040B", "symbol": "\u045B" }, 1116: { "value": "045C", "name": "CYRILLIC SMALL LETTER KJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043A 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040C", "lowercase_mapping": "", "titlecase_mapping": "040C", "symbol": "\u045C" }, 1117: { "value": "045D", "name": "CYRILLIC SMALL LETTER I WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040D", "lowercase_mapping": "", "titlecase_mapping": "040D", "symbol": "\u045D" }, 1118: { "value": "045E", "name": "CYRILLIC SMALL LETTER SHORT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040E", "lowercase_mapping": "", "titlecase_mapping": "040E", "symbol": "\u045E" }, 1119: { "value": "045F", "name": "CYRILLIC SMALL LETTER DZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "040F", "lowercase_mapping": "", "titlecase_mapping": "040F", "symbol": "\u045F" }, 1121: { "value": "0461", "name": "CYRILLIC SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0460", "lowercase_mapping": "", "titlecase_mapping": "0460", "symbol": "\u0461" }, 1123: { "value": "0463", "name": "CYRILLIC SMALL LETTER YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u0463" }, 1125: { "value": "0465", "name": "CYRILLIC SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0464", "lowercase_mapping": "", "titlecase_mapping": "0464", "symbol": "\u0465" }, 1127: { "value": "0467", "name": "CYRILLIC SMALL LETTER LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0466", "lowercase_mapping": "", "titlecase_mapping": "0466", "symbol": "\u0467" }, 1129: { "value": "0469", "name": "CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0468", "lowercase_mapping": "", "titlecase_mapping": "0468", "symbol": "\u0469" }, 1131: { "value": "046B", "name": "CYRILLIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046A", "lowercase_mapping": "", "titlecase_mapping": "046A", "symbol": "\u046B" }, 1133: { "value": "046D", "name": "CYRILLIC SMALL LETTER IOTIFIED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046C", "lowercase_mapping": "", "titlecase_mapping": "046C", "symbol": "\u046D" }, 1135: { "value": "046F", "name": "CYRILLIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "046E", "lowercase_mapping": "", "titlecase_mapping": "046E", "symbol": "\u046F" }, 1137: { "value": "0471", "name": "CYRILLIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0470", "lowercase_mapping": "", "titlecase_mapping": "0470", "symbol": "\u0471" }, 1139: { "value": "0473", "name": "CYRILLIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0472", "lowercase_mapping": "", "titlecase_mapping": "0472", "symbol": "\u0473" }, 1141: { "value": "0475", "name": "CYRILLIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0474", "lowercase_mapping": "", "titlecase_mapping": "0474", "symbol": "\u0475" }, 1143: { "value": "0477", "name": "CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0475 030F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE", "comment": "", "uppercase_mapping": "0476", "lowercase_mapping": "", "titlecase_mapping": "0476", "symbol": "\u0477" }, 1145: { "value": "0479", "name": "CYRILLIC SMALL LETTER UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER UK DIGRAPH", "comment": "", "uppercase_mapping": "0478", "lowercase_mapping": "", "titlecase_mapping": "0478", "symbol": "\u0479" }, 1147: { "value": "047B", "name": "CYRILLIC SMALL LETTER ROUND OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047A", "lowercase_mapping": "", "titlecase_mapping": "047A", "symbol": "\u047B" }, 1149: { "value": "047D", "name": "CYRILLIC SMALL LETTER OMEGA WITH TITLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER OMEGA TITLO", "comment": "", "uppercase_mapping": "047C", "lowercase_mapping": "", "titlecase_mapping": "047C", "symbol": "\u047D" }, 1151: { "value": "047F", "name": "CYRILLIC SMALL LETTER OT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "047E", "lowercase_mapping": "", "titlecase_mapping": "047E", "symbol": "\u047F" }, 1153: { "value": "0481", "name": "CYRILLIC SMALL LETTER KOPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0480", "lowercase_mapping": "", "titlecase_mapping": "0480", "symbol": "\u0481" }, 1163: { "value": "048B", "name": "CYRILLIC SMALL LETTER SHORT I WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048A", "lowercase_mapping": "", "titlecase_mapping": "048A", "symbol": "\u048B" }, 1165: { "value": "048D", "name": "CYRILLIC SMALL LETTER SEMISOFT SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048C", "lowercase_mapping": "", "titlecase_mapping": "048C", "symbol": "\u048D" }, 1167: { "value": "048F", "name": "CYRILLIC SMALL LETTER ER WITH TICK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "048E", "lowercase_mapping": "", "titlecase_mapping": "048E", "symbol": "\u048F" }, 1169: { "value": "0491", "name": "CYRILLIC SMALL LETTER GHE WITH UPTURN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE WITH UPTURN", "comment": "", "uppercase_mapping": "0490", "lowercase_mapping": "", "titlecase_mapping": "0490", "symbol": "\u0491" }, 1171: { "value": "0493", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE BAR", "comment": "", "uppercase_mapping": "0492", "lowercase_mapping": "", "titlecase_mapping": "0492", "symbol": "\u0493" }, 1173: { "value": "0495", "name": "CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER GE HOOK", "comment": "", "uppercase_mapping": "0494", "lowercase_mapping": "", "titlecase_mapping": "0494", "symbol": "\u0495" }, 1175: { "value": "0497", "name": "CYRILLIC SMALL LETTER ZHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "0496", "lowercase_mapping": "", "titlecase_mapping": "0496", "symbol": "\u0497" }, 1177: { "value": "0499", "name": "CYRILLIC SMALL LETTER ZE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ZE CEDILLA", "comment": "", "uppercase_mapping": "0498", "lowercase_mapping": "", "titlecase_mapping": "0498", "symbol": "\u0499" }, 1179: { "value": "049B", "name": "CYRILLIC SMALL LETTER KA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "049A", "lowercase_mapping": "", "titlecase_mapping": "049A", "symbol": "\u049B" }, 1181: { "value": "049D", "name": "CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA VERTICAL BAR", "comment": "", "uppercase_mapping": "049C", "lowercase_mapping": "", "titlecase_mapping": "049C", "symbol": "\u049D" }, 1183: { "value": "049F", "name": "CYRILLIC SMALL LETTER KA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA BAR", "comment": "", "uppercase_mapping": "049E", "lowercase_mapping": "", "titlecase_mapping": "049E", "symbol": "\u049F" }, 1185: { "value": "04A1", "name": "CYRILLIC SMALL LETTER BASHKIR KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER REVERSED GE KA", "comment": "", "uppercase_mapping": "04A0", "lowercase_mapping": "", "titlecase_mapping": "04A0", "symbol": "\u04A1" }, 1187: { "value": "04A3", "name": "CYRILLIC SMALL LETTER EN WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04A2", "lowercase_mapping": "", "titlecase_mapping": "04A2", "symbol": "\u04A3" }, 1189: { "value": "04A5", "name": "CYRILLIC SMALL LIGATURE EN GHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN GE", "comment": "", "uppercase_mapping": "04A4", "lowercase_mapping": "", "titlecase_mapping": "04A4", "symbol": "\u04A5" }, 1191: { "value": "04A7", "name": "CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER PE HOOK", "comment": "", "uppercase_mapping": "04A6", "lowercase_mapping": "", "titlecase_mapping": "04A6", "symbol": "\u04A7" }, 1193: { "value": "04A9", "name": "CYRILLIC SMALL LETTER ABKHASIAN HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER O HOOK", "comment": "", "uppercase_mapping": "04A8", "lowercase_mapping": "", "titlecase_mapping": "04A8", "symbol": "\u04A9" }, 1195: { "value": "04AB", "name": "CYRILLIC SMALL LETTER ES WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER ES CEDILLA", "comment": "", "uppercase_mapping": "04AA", "lowercase_mapping": "", "titlecase_mapping": "04AA", "symbol": "\u04AB" }, 1197: { "value": "04AD", "name": "CYRILLIC SMALL LETTER TE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04AC", "lowercase_mapping": "", "titlecase_mapping": "04AC", "symbol": "\u04AD" }, 1199: { "value": "04AF", "name": "CYRILLIC SMALL LETTER STRAIGHT U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04AE", "lowercase_mapping": "", "titlecase_mapping": "04AE", "symbol": "\u04AF" }, 1201: { "value": "04B1", "name": "CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER STRAIGHT U BAR", "comment": "", "uppercase_mapping": "04B0", "lowercase_mapping": "", "titlecase_mapping": "04B0", "symbol": "\u04B1" }, 1203: { "value": "04B3", "name": "CYRILLIC SMALL LETTER HA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B2", "lowercase_mapping": "", "titlecase_mapping": "04B2", "symbol": "\u04B3" }, 1205: { "value": "04B5", "name": "CYRILLIC SMALL LIGATURE TE TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER TE TSE", "comment": "", "uppercase_mapping": "04B4", "lowercase_mapping": "", "titlecase_mapping": "04B4", "symbol": "\u04B5" }, 1207: { "value": "04B7", "name": "CYRILLIC SMALL LETTER CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER", "comment": "", "uppercase_mapping": "04B6", "lowercase_mapping": "", "titlecase_mapping": "04B6", "symbol": "\u04B7" }, 1209: { "value": "04B9", "name": "CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE VERTICAL BAR", "comment": "", "uppercase_mapping": "04B8", "lowercase_mapping": "", "titlecase_mapping": "04B8", "symbol": "\u04B9" }, 1211: { "value": "04BB", "name": "CYRILLIC SMALL LETTER SHHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER H", "comment": "", "uppercase_mapping": "04BA", "lowercase_mapping": "", "titlecase_mapping": "04BA", "symbol": "\u04BB" }, 1213: { "value": "04BD", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK", "comment": "", "uppercase_mapping": "04BC", "lowercase_mapping": "", "titlecase_mapping": "04BC", "symbol": "\u04BD" }, 1215: { "value": "04BF", "name": "CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER IE HOOK OGONEK", "comment": "", "uppercase_mapping": "04BE", "lowercase_mapping": "", "titlecase_mapping": "04BE", "symbol": "\u04BF" }, 1218: { "value": "04C2", "name": "CYRILLIC SMALL LETTER ZHE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER SHORT ZHE", "comment": "", "uppercase_mapping": "04C1", "lowercase_mapping": "", "titlecase_mapping": "04C1", "symbol": "\u04C2" }, 1220: { "value": "04C4", "name": "CYRILLIC SMALL LETTER KA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER KA HOOK", "comment": "", "uppercase_mapping": "04C3", "lowercase_mapping": "", "titlecase_mapping": "04C3", "symbol": "\u04C4" }, 1222: { "value": "04C6", "name": "CYRILLIC SMALL LETTER EL WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C5", "lowercase_mapping": "", "titlecase_mapping": "04C5", "symbol": "\u04C6" }, 1224: { "value": "04C8", "name": "CYRILLIC SMALL LETTER EN WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER EN HOOK", "comment": "", "uppercase_mapping": "04C7", "lowercase_mapping": "", "titlecase_mapping": "04C7", "symbol": "\u04C8" }, 1226: { "value": "04CA", "name": "CYRILLIC SMALL LETTER EN WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C9", "lowercase_mapping": "", "titlecase_mapping": "04C9", "symbol": "\u04CA" }, 1228: { "value": "04CC", "name": "CYRILLIC SMALL LETTER KHAKASSIAN CHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER", "comment": "", "uppercase_mapping": "04CB", "lowercase_mapping": "", "titlecase_mapping": "04CB", "symbol": "\u04CC" }, 1230: { "value": "04CE", "name": "CYRILLIC SMALL LETTER EM WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04CD", "lowercase_mapping": "", "titlecase_mapping": "04CD", "symbol": "\u04CE" }, 1231: { "value": "04CF", "name": "CYRILLIC SMALL LETTER PALOCHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04C0", "lowercase_mapping": "", "titlecase_mapping": "04C0", "symbol": "\u04CF" }, 1233: { "value": "04D1", "name": "CYRILLIC SMALL LETTER A WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D0", "lowercase_mapping": "", "titlecase_mapping": "04D0", "symbol": "\u04D1" }, 1235: { "value": "04D3", "name": "CYRILLIC SMALL LETTER A WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0430 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D2", "lowercase_mapping": "", "titlecase_mapping": "04D2", "symbol": "\u04D3" }, 1237: { "value": "04D5", "name": "CYRILLIC SMALL LIGATURE A IE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D4", "lowercase_mapping": "", "titlecase_mapping": "04D4", "symbol": "\u04D5" }, 1239: { "value": "04D7", "name": "CYRILLIC SMALL LETTER IE WITH BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0435 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D6", "lowercase_mapping": "", "titlecase_mapping": "04D6", "symbol": "\u04D7" }, 1241: { "value": "04D9", "name": "CYRILLIC SMALL LETTER SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04D8", "lowercase_mapping": "", "titlecase_mapping": "04D8", "symbol": "\u04D9" }, 1243: { "value": "04DB", "name": "CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04D9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DA", "lowercase_mapping": "", "titlecase_mapping": "04DA", "symbol": "\u04DB" }, 1245: { "value": "04DD", "name": "CYRILLIC SMALL LETTER ZHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0436 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DC", "lowercase_mapping": "", "titlecase_mapping": "04DC", "symbol": "\u04DD" }, 1247: { "value": "04DF", "name": "CYRILLIC SMALL LETTER ZE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0437 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04DE", "lowercase_mapping": "", "titlecase_mapping": "04DE", "symbol": "\u04DF" }, 1249: { "value": "04E1", "name": "CYRILLIC SMALL LETTER ABKHASIAN DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E0", "lowercase_mapping": "", "titlecase_mapping": "04E0", "symbol": "\u04E1" }, 1251: { "value": "04E3", "name": "CYRILLIC SMALL LETTER I WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E2", "lowercase_mapping": "", "titlecase_mapping": "04E2", "symbol": "\u04E3" }, 1253: { "value": "04E5", "name": "CYRILLIC SMALL LETTER I WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0438 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E4", "lowercase_mapping": "", "titlecase_mapping": "04E4", "symbol": "\u04E5" }, 1255: { "value": "04E7", "name": "CYRILLIC SMALL LETTER O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "043E 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E6", "lowercase_mapping": "", "titlecase_mapping": "04E6", "symbol": "\u04E7" }, 1257: { "value": "04E9", "name": "CYRILLIC SMALL LETTER BARRED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04E8", "lowercase_mapping": "", "titlecase_mapping": "04E8", "symbol": "\u04E9" }, 1259: { "value": "04EB", "name": "CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "04E9 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EA", "lowercase_mapping": "", "titlecase_mapping": "04EA", "symbol": "\u04EB" }, 1261: { "value": "04ED", "name": "CYRILLIC SMALL LETTER E WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044D 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EC", "lowercase_mapping": "", "titlecase_mapping": "04EC", "symbol": "\u04ED" }, 1263: { "value": "04EF", "name": "CYRILLIC SMALL LETTER U WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04EE", "lowercase_mapping": "", "titlecase_mapping": "04EE", "symbol": "\u04EF" }, 1265: { "value": "04F1", "name": "CYRILLIC SMALL LETTER U WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F0", "lowercase_mapping": "", "titlecase_mapping": "04F0", "symbol": "\u04F1" }, 1267: { "value": "04F3", "name": "CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0443 030B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F2", "lowercase_mapping": "", "titlecase_mapping": "04F2", "symbol": "\u04F3" }, 1269: { "value": "04F5", "name": "CYRILLIC SMALL LETTER CHE WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0447 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F4", "lowercase_mapping": "", "titlecase_mapping": "04F4", "symbol": "\u04F5" }, 1271: { "value": "04F7", "name": "CYRILLIC SMALL LETTER GHE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F6", "lowercase_mapping": "", "titlecase_mapping": "04F6", "symbol": "\u04F7" }, 1273: { "value": "04F9", "name": "CYRILLIC SMALL LETTER YERU WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "044B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04F8", "lowercase_mapping": "", "titlecase_mapping": "04F8", "symbol": "\u04F9" }, 1275: { "value": "04FB", "name": "CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FA", "lowercase_mapping": "", "titlecase_mapping": "04FA", "symbol": "\u04FB" }, 1277: { "value": "04FD", "name": "CYRILLIC SMALL LETTER HA WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FC", "lowercase_mapping": "", "titlecase_mapping": "04FC", "symbol": "\u04FD" }, 1279: { "value": "04FF", "name": "CYRILLIC SMALL LETTER HA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "04FE", "lowercase_mapping": "", "titlecase_mapping": "04FE", "symbol": "\u04FF" }, 1281: { "value": "0501", "name": "CYRILLIC SMALL LETTER KOMI DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0500", "lowercase_mapping": "", "titlecase_mapping": "0500", "symbol": "\u0501" }, 1283: { "value": "0503", "name": "CYRILLIC SMALL LETTER KOMI DJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0502", "lowercase_mapping": "", "titlecase_mapping": "0502", "symbol": "\u0503" }, 1285: { "value": "0505", "name": "CYRILLIC SMALL LETTER KOMI ZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0504", "lowercase_mapping": "", "titlecase_mapping": "0504", "symbol": "\u0505" }, 1287: { "value": "0507", "name": "CYRILLIC SMALL LETTER KOMI DZJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0506", "lowercase_mapping": "", "titlecase_mapping": "0506", "symbol": "\u0507" }, 1289: { "value": "0509", "name": "CYRILLIC SMALL LETTER KOMI LJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0508", "lowercase_mapping": "", "titlecase_mapping": "0508", "symbol": "\u0509" }, 1291: { "value": "050B", "name": "CYRILLIC SMALL LETTER KOMI NJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050A", "lowercase_mapping": "", "titlecase_mapping": "050A", "symbol": "\u050B" }, 1293: { "value": "050D", "name": "CYRILLIC SMALL LETTER KOMI SJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050C", "lowercase_mapping": "", "titlecase_mapping": "050C", "symbol": "\u050D" }, 1295: { "value": "050F", "name": "CYRILLIC SMALL LETTER KOMI TJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "050E", "lowercase_mapping": "", "titlecase_mapping": "050E", "symbol": "\u050F" }, 1297: { "value": "0511", "name": "CYRILLIC SMALL LETTER REVERSED ZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0510", "lowercase_mapping": "", "titlecase_mapping": "0510", "symbol": "\u0511" }, 1299: { "value": "0513", "name": "CYRILLIC SMALL LETTER EL WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0512", "lowercase_mapping": "", "titlecase_mapping": "0512", "symbol": "\u0513" }, 1301: { "value": "0515", "name": "CYRILLIC SMALL LETTER LHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0514", "lowercase_mapping": "", "titlecase_mapping": "0514", "symbol": "\u0515" }, 1303: { "value": "0517", "name": "CYRILLIC SMALL LETTER RHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0516", "lowercase_mapping": "", "titlecase_mapping": "0516", "symbol": "\u0517" }, 1305: { "value": "0519", "name": "CYRILLIC SMALL LETTER YAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0518", "lowercase_mapping": "", "titlecase_mapping": "0518", "symbol": "\u0519" }, 1307: { "value": "051B", "name": "CYRILLIC SMALL LETTER QA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051A", "lowercase_mapping": "", "titlecase_mapping": "051A", "symbol": "\u051B" }, 1309: { "value": "051D", "name": "CYRILLIC SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051C", "lowercase_mapping": "", "titlecase_mapping": "051C", "symbol": "\u051D" }, 1311: { "value": "051F", "name": "CYRILLIC SMALL LETTER ALEUT KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "051E", "lowercase_mapping": "", "titlecase_mapping": "051E", "symbol": "\u051F" }, 1313: { "value": "0521", "name": "CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0520", "lowercase_mapping": "", "titlecase_mapping": "0520", "symbol": "\u0521" }, 1315: { "value": "0523", "name": "CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0522", "lowercase_mapping": "", "titlecase_mapping": "0522", "symbol": "\u0523" }, 1317: { "value": "0525", "name": "CYRILLIC SMALL LETTER PE WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0524", "lowercase_mapping": "", "titlecase_mapping": "0524", "symbol": "\u0525" }, 1319: { "value": "0527", "name": "CYRILLIC SMALL LETTER SHHA WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0526", "lowercase_mapping": "", "titlecase_mapping": "0526", "symbol": "\u0527" }, 1321: { "value": "0529", "name": "CYRILLIC SMALL LETTER EN WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0528", "lowercase_mapping": "", "titlecase_mapping": "0528", "symbol": "\u0529" }, 1323: { "value": "052B", "name": "CYRILLIC SMALL LETTER DZZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052A", "lowercase_mapping": "", "titlecase_mapping": "052A", "symbol": "\u052B" }, 1325: { "value": "052D", "name": "CYRILLIC SMALL LETTER DCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052C", "lowercase_mapping": "", "titlecase_mapping": "052C", "symbol": "\u052D" }, 1327: { "value": "052F", "name": "CYRILLIC SMALL LETTER EL WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "052E", "lowercase_mapping": "", "titlecase_mapping": "052E", "symbol": "\u052F" }, 1377: { "value": "0561", "name": "ARMENIAN SMALL LETTER AYB", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0531", "lowercase_mapping": "", "titlecase_mapping": "0531", "symbol": "\u0561" }, 1378: { "value": "0562", "name": "ARMENIAN SMALL LETTER BEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0532", "lowercase_mapping": "", "titlecase_mapping": "0532", "symbol": "\u0562" }, 1379: { "value": "0563", "name": "ARMENIAN SMALL LETTER GIM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0533", "lowercase_mapping": "", "titlecase_mapping": "0533", "symbol": "\u0563" }, 1380: { "value": "0564", "name": "ARMENIAN SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0534", "lowercase_mapping": "", "titlecase_mapping": "0534", "symbol": "\u0564" }, 1381: { "value": "0565", "name": "ARMENIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0535", "lowercase_mapping": "", "titlecase_mapping": "0535", "symbol": "\u0565" }, 1382: { "value": "0566", "name": "ARMENIAN SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0536", "lowercase_mapping": "", "titlecase_mapping": "0536", "symbol": "\u0566" }, 1383: { "value": "0567", "name": "ARMENIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0537", "lowercase_mapping": "", "titlecase_mapping": "0537", "symbol": "\u0567" }, 1384: { "value": "0568", "name": "ARMENIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0538", "lowercase_mapping": "", "titlecase_mapping": "0538", "symbol": "\u0568" }, 1385: { "value": "0569", "name": "ARMENIAN SMALL LETTER TO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0539", "lowercase_mapping": "", "titlecase_mapping": "0539", "symbol": "\u0569" }, 1386: { "value": "056A", "name": "ARMENIAN SMALL LETTER ZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053A", "lowercase_mapping": "", "titlecase_mapping": "053A", "symbol": "\u056A" }, 1387: { "value": "056B", "name": "ARMENIAN SMALL LETTER INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053B", "lowercase_mapping": "", "titlecase_mapping": "053B", "symbol": "\u056B" }, 1388: { "value": "056C", "name": "ARMENIAN SMALL LETTER LIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053C", "lowercase_mapping": "", "titlecase_mapping": "053C", "symbol": "\u056C" }, 1389: { "value": "056D", "name": "ARMENIAN SMALL LETTER XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053D", "lowercase_mapping": "", "titlecase_mapping": "053D", "symbol": "\u056D" }, 1390: { "value": "056E", "name": "ARMENIAN SMALL LETTER CA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053E", "lowercase_mapping": "", "titlecase_mapping": "053E", "symbol": "\u056E" }, 1391: { "value": "056F", "name": "ARMENIAN SMALL LETTER KEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "053F", "lowercase_mapping": "", "titlecase_mapping": "053F", "symbol": "\u056F" }, 1392: { "value": "0570", "name": "ARMENIAN SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0540", "lowercase_mapping": "", "titlecase_mapping": "0540", "symbol": "\u0570" }, 1393: { "value": "0571", "name": "ARMENIAN SMALL LETTER JA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0541", "lowercase_mapping": "", "titlecase_mapping": "0541", "symbol": "\u0571" }, 1394: { "value": "0572", "name": "ARMENIAN SMALL LETTER GHAD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "ARMENIAN SMALL LETTER LAD", "comment": "", "uppercase_mapping": "0542", "lowercase_mapping": "", "titlecase_mapping": "0542", "symbol": "\u0572" }, 1395: { "value": "0573", "name": "ARMENIAN SMALL LETTER CHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0543", "lowercase_mapping": "", "titlecase_mapping": "0543", "symbol": "\u0573" }, 1396: { "value": "0574", "name": "ARMENIAN SMALL LETTER MEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0544", "lowercase_mapping": "", "titlecase_mapping": "0544", "symbol": "\u0574" }, 1397: { "value": "0575", "name": "ARMENIAN SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0545", "lowercase_mapping": "", "titlecase_mapping": "0545", "symbol": "\u0575" }, 1398: { "value": "0576", "name": "ARMENIAN SMALL LETTER NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0546", "lowercase_mapping": "", "titlecase_mapping": "0546", "symbol": "\u0576" }, 1399: { "value": "0577", "name": "ARMENIAN SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0547", "lowercase_mapping": "", "titlecase_mapping": "0547", "symbol": "\u0577" }, 1400: { "value": "0578", "name": "ARMENIAN SMALL LETTER VO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0548", "lowercase_mapping": "", "titlecase_mapping": "0548", "symbol": "\u0578" }, 1401: { "value": "0579", "name": "ARMENIAN SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0549", "lowercase_mapping": "", "titlecase_mapping": "0549", "symbol": "\u0579" }, 1402: { "value": "057A", "name": "ARMENIAN SMALL LETTER PEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054A", "lowercase_mapping": "", "titlecase_mapping": "054A", "symbol": "\u057A" }, 1403: { "value": "057B", "name": "ARMENIAN SMALL LETTER JHEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054B", "lowercase_mapping": "", "titlecase_mapping": "054B", "symbol": "\u057B" }, 1404: { "value": "057C", "name": "ARMENIAN SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054C", "lowercase_mapping": "", "titlecase_mapping": "054C", "symbol": "\u057C" }, 1405: { "value": "057D", "name": "ARMENIAN SMALL LETTER SEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054D", "lowercase_mapping": "", "titlecase_mapping": "054D", "symbol": "\u057D" }, 1406: { "value": "057E", "name": "ARMENIAN SMALL LETTER VEW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054E", "lowercase_mapping": "", "titlecase_mapping": "054E", "symbol": "\u057E" }, 1407: { "value": "057F", "name": "ARMENIAN SMALL LETTER TIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "054F", "lowercase_mapping": "", "titlecase_mapping": "054F", "symbol": "\u057F" }, 1408: { "value": "0580", "name": "ARMENIAN SMALL LETTER REH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0550", "lowercase_mapping": "", "titlecase_mapping": "0550", "symbol": "\u0580" }, 1409: { "value": "0581", "name": "ARMENIAN SMALL LETTER CO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0551", "lowercase_mapping": "", "titlecase_mapping": "0551", "symbol": "\u0581" }, 1410: { "value": "0582", "name": "ARMENIAN SMALL LETTER YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0552", "lowercase_mapping": "", "titlecase_mapping": "0552", "symbol": "\u0582" }, 1411: { "value": "0583", "name": "ARMENIAN SMALL LETTER PIWR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0553", "lowercase_mapping": "", "titlecase_mapping": "0553", "symbol": "\u0583" }, 1412: { "value": "0584", "name": "ARMENIAN SMALL LETTER KEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0554", "lowercase_mapping": "", "titlecase_mapping": "0554", "symbol": "\u0584" }, 1413: { "value": "0585", "name": "ARMENIAN SMALL LETTER OH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0555", "lowercase_mapping": "", "titlecase_mapping": "0555", "symbol": "\u0585" }, 1414: { "value": "0586", "name": "ARMENIAN SMALL LETTER FEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0556", "lowercase_mapping": "", "titlecase_mapping": "0556", "symbol": "\u0586" }, 1415: { "value": "0587", "name": "ARMENIAN SMALL LIGATURE ECH YIWN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0565 0582", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u0587" }, 5112: { "value": "13F8", "name": "CHEROKEE SMALL LETTER YE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F0", "lowercase_mapping": "", "titlecase_mapping": "13F0", "symbol": "\u13F8" }, 5113: { "value": "13F9", "name": "CHEROKEE SMALL LETTER YI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F1", "lowercase_mapping": "", "titlecase_mapping": "13F1", "symbol": "\u13F9" }, 5114: { "value": "13FA", "name": "CHEROKEE SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F2", "lowercase_mapping": "", "titlecase_mapping": "13F2", "symbol": "\u13FA" }, 5115: { "value": "13FB", "name": "CHEROKEE SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F3", "lowercase_mapping": "", "titlecase_mapping": "13F3", "symbol": "\u13FB" }, 5116: { "value": "13FC", "name": "CHEROKEE SMALL LETTER YV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F4", "lowercase_mapping": "", "titlecase_mapping": "13F4", "symbol": "\u13FC" }, 5117: { "value": "13FD", "name": "CHEROKEE SMALL LETTER MV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13F5", "lowercase_mapping": "", "titlecase_mapping": "13F5", "symbol": "\u13FD" }, 7296: { "value": "1C80", "name": "CYRILLIC SMALL LETTER ROUNDED VE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0412", "lowercase_mapping": "", "titlecase_mapping": "0412", "symbol": "\u1C80" }, 7297: { "value": "1C81", "name": "CYRILLIC SMALL LETTER LONG-LEGGED DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0414", "lowercase_mapping": "", "titlecase_mapping": "0414", "symbol": "\u1C81" }, 7298: { "value": "1C82", "name": "CYRILLIC SMALL LETTER NARROW O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "041E", "lowercase_mapping": "", "titlecase_mapping": "041E", "symbol": "\u1C82" }, 7299: { "value": "1C83", "name": "CYRILLIC SMALL LETTER WIDE ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0421", "lowercase_mapping": "", "titlecase_mapping": "0421", "symbol": "\u1C83" }, 7300: { "value": "1C84", "name": "CYRILLIC SMALL LETTER TALL TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C84" }, 7301: { "value": "1C85", "name": "CYRILLIC SMALL LETTER THREE-LEGGED TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0422", "lowercase_mapping": "", "titlecase_mapping": "0422", "symbol": "\u1C85" }, 7302: { "value": "1C86", "name": "CYRILLIC SMALL LETTER TALL HARD SIGN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "042A", "lowercase_mapping": "", "titlecase_mapping": "042A", "symbol": "\u1C86" }, 7303: { "value": "1C87", "name": "CYRILLIC SMALL LETTER TALL YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0462", "lowercase_mapping": "", "titlecase_mapping": "0462", "symbol": "\u1C87" }, 7304: { "value": "1C88", "name": "CYRILLIC SMALL LETTER UNBLENDED UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\u1C88" }, 7424: { "value": "1D00", "name": "LATIN LETTER SMALL CAPITAL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D00" }, 7425: { "value": "1D01", "name": "LATIN LETTER SMALL CAPITAL AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D01" }, 7426: { "value": "1D02", "name": "LATIN SMALL LETTER TURNED AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D02" }, 7427: { "value": "1D03", "name": "LATIN LETTER SMALL CAPITAL BARRED B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D03" }, 7428: { "value": "1D04", "name": "LATIN LETTER SMALL CAPITAL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D04" }, 7429: { "value": "1D05", "name": "LATIN LETTER SMALL CAPITAL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D05" }, 7430: { "value": "1D06", "name": "LATIN LETTER SMALL CAPITAL ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D06" }, 7431: { "value": "1D07", "name": "LATIN LETTER SMALL CAPITAL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D07" }, 7432: { "value": "1D08", "name": "LATIN SMALL LETTER TURNED OPEN E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D08" }, 7433: { "value": "1D09", "name": "LATIN SMALL LETTER TURNED I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D09" }, 7434: { "value": "1D0A", "name": "LATIN LETTER SMALL CAPITAL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0A" }, 7435: { "value": "1D0B", "name": "LATIN LETTER SMALL CAPITAL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0B" }, 7436: { "value": "1D0C", "name": "LATIN LETTER SMALL CAPITAL L WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0C" }, 7437: { "value": "1D0D", "name": "LATIN LETTER SMALL CAPITAL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0D" }, 7438: { "value": "1D0E", "name": "LATIN LETTER SMALL CAPITAL REVERSED N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0E" }, 7439: { "value": "1D0F", "name": "LATIN LETTER SMALL CAPITAL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D0F" }, 7440: { "value": "1D10", "name": "LATIN LETTER SMALL CAPITAL OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D10" }, 7441: { "value": "1D11", "name": "LATIN SMALL LETTER SIDEWAYS O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D11" }, 7442: { "value": "1D12", "name": "LATIN SMALL LETTER SIDEWAYS OPEN O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D12" }, 7443: { "value": "1D13", "name": "LATIN SMALL LETTER SIDEWAYS O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D13" }, 7444: { "value": "1D14", "name": "LATIN SMALL LETTER TURNED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D14" }, 7445: { "value": "1D15", "name": "LATIN LETTER SMALL CAPITAL OU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D15" }, 7446: { "value": "1D16", "name": "LATIN SMALL LETTER TOP HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D16" }, 7447: { "value": "1D17", "name": "LATIN SMALL LETTER BOTTOM HALF O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D17" }, 7448: { "value": "1D18", "name": "LATIN LETTER SMALL CAPITAL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D18" }, 7449: { "value": "1D19", "name": "LATIN LETTER SMALL CAPITAL REVERSED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D19" }, 7450: { "value": "1D1A", "name": "LATIN LETTER SMALL CAPITAL TURNED R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1A" }, 7451: { "value": "1D1B", "name": "LATIN LETTER SMALL CAPITAL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1B" }, 7452: { "value": "1D1C", "name": "LATIN LETTER SMALL CAPITAL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1C" }, 7453: { "value": "1D1D", "name": "LATIN SMALL LETTER SIDEWAYS U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1D" }, 7454: { "value": "1D1E", "name": "LATIN SMALL LETTER SIDEWAYS DIAERESIZED U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1E" }, 7455: { "value": "1D1F", "name": "LATIN SMALL LETTER SIDEWAYS TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D1F" }, 7456: { "value": "1D20", "name": "LATIN LETTER SMALL CAPITAL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D20" }, 7457: { "value": "1D21", "name": "LATIN LETTER SMALL CAPITAL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D21" }, 7458: { "value": "1D22", "name": "LATIN LETTER SMALL CAPITAL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D22" }, 7459: { "value": "1D23", "name": "LATIN LETTER SMALL CAPITAL EZH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D23" }, 7460: { "value": "1D24", "name": "LATIN LETTER VOICED LARYNGEAL SPIRANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D24" }, 7461: { "value": "1D25", "name": "LATIN LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D25" }, 7462: { "value": "1D26", "name": "GREEK LETTER SMALL CAPITAL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D26" }, 7463: { "value": "1D27", "name": "GREEK LETTER SMALL CAPITAL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D27" }, 7464: { "value": "1D28", "name": "GREEK LETTER SMALL CAPITAL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D28" }, 7465: { "value": "1D29", "name": "GREEK LETTER SMALL CAPITAL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D29" }, 7466: { "value": "1D2A", "name": "GREEK LETTER SMALL CAPITAL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2A" }, 7467: { "value": "1D2B", "name": "CYRILLIC LETTER SMALL CAPITAL EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D2B" }, 7531: { "value": "1D6B", "name": "LATIN SMALL LETTER UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6B" }, 7532: { "value": "1D6C", "name": "LATIN SMALL LETTER B WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6C" }, 7533: { "value": "1D6D", "name": "LATIN SMALL LETTER D WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6D" }, 7534: { "value": "1D6E", "name": "LATIN SMALL LETTER F WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6E" }, 7535: { "value": "1D6F", "name": "LATIN SMALL LETTER M WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D6F" }, 7536: { "value": "1D70", "name": "LATIN SMALL LETTER N WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D70" }, 7537: { "value": "1D71", "name": "LATIN SMALL LETTER P WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D71" }, 7538: { "value": "1D72", "name": "LATIN SMALL LETTER R WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D72" }, 7539: { "value": "1D73", "name": "LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D73" }, 7540: { "value": "1D74", "name": "LATIN SMALL LETTER S WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D74" }, 7541: { "value": "1D75", "name": "LATIN SMALL LETTER T WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D75" }, 7542: { "value": "1D76", "name": "LATIN SMALL LETTER Z WITH MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D76" }, 7543: { "value": "1D77", "name": "LATIN SMALL LETTER TURNED G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D77" }, 7545: { "value": "1D79", "name": "LATIN SMALL LETTER INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77D", "lowercase_mapping": "", "titlecase_mapping": "A77D", "symbol": "\u1D79" }, 7546: { "value": "1D7A", "name": "LATIN SMALL LETTER TH WITH STRIKETHROUGH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7A" }, 7547: { "value": "1D7B", "name": "LATIN SMALL CAPITAL LETTER I WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7B" }, 7548: { "value": "1D7C", "name": "LATIN SMALL LETTER IOTA WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7C" }, 7549: { "value": "1D7D", "name": "LATIN SMALL LETTER P WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C63", "lowercase_mapping": "", "titlecase_mapping": "2C63", "symbol": "\u1D7D" }, 7550: { "value": "1D7E", "name": "LATIN SMALL CAPITAL LETTER U WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7E" }, 7551: { "value": "1D7F", "name": "LATIN SMALL LETTER UPSILON WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D7F" }, 7552: { "value": "1D80", "name": "LATIN SMALL LETTER B WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D80" }, 7553: { "value": "1D81", "name": "LATIN SMALL LETTER D WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D81" }, 7554: { "value": "1D82", "name": "LATIN SMALL LETTER F WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D82" }, 7555: { "value": "1D83", "name": "LATIN SMALL LETTER G WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D83" }, 7556: { "value": "1D84", "name": "LATIN SMALL LETTER K WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D84" }, 7557: { "value": "1D85", "name": "LATIN SMALL LETTER L WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D85" }, 7558: { "value": "1D86", "name": "LATIN SMALL LETTER M WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D86" }, 7559: { "value": "1D87", "name": "LATIN SMALL LETTER N WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D87" }, 7560: { "value": "1D88", "name": "LATIN SMALL LETTER P WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D88" }, 7561: { "value": "1D89", "name": "LATIN SMALL LETTER R WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D89" }, 7562: { "value": "1D8A", "name": "LATIN SMALL LETTER S WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8A" }, 7563: { "value": "1D8B", "name": "LATIN SMALL LETTER ESH WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8B" }, 7564: { "value": "1D8C", "name": "LATIN SMALL LETTER V WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8C" }, 7565: { "value": "1D8D", "name": "LATIN SMALL LETTER X WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8D" }, 7566: { "value": "1D8E", "name": "LATIN SMALL LETTER Z WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8E" }, 7567: { "value": "1D8F", "name": "LATIN SMALL LETTER A WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D8F" }, 7568: { "value": "1D90", "name": "LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D90" }, 7569: { "value": "1D91", "name": "LATIN SMALL LETTER D WITH HOOK AND TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D91" }, 7570: { "value": "1D92", "name": "LATIN SMALL LETTER E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D92" }, 7571: { "value": "1D93", "name": "LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D93" }, 7572: { "value": "1D94", "name": "LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D94" }, 7573: { "value": "1D95", "name": "LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D95" }, 7574: { "value": "1D96", "name": "LATIN SMALL LETTER I WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D96" }, 7575: { "value": "1D97", "name": "LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D97" }, 7576: { "value": "1D98", "name": "LATIN SMALL LETTER ESH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D98" }, 7577: { "value": "1D99", "name": "LATIN SMALL LETTER U WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D99" }, 7578: { "value": "1D9A", "name": "LATIN SMALL LETTER EZH WITH RETROFLEX HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1D9A" }, 7681: { "value": "1E01", "name": "LATIN SMALL LETTER A WITH RING BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0325", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E00", "lowercase_mapping": "", "titlecase_mapping": "1E00", "symbol": "\u1E01" }, 7683: { "value": "1E03", "name": "LATIN SMALL LETTER B WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E02", "lowercase_mapping": "", "titlecase_mapping": "1E02", "symbol": "\u1E03" }, 7685: { "value": "1E05", "name": "LATIN SMALL LETTER B WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E04", "lowercase_mapping": "", "titlecase_mapping": "1E04", "symbol": "\u1E05" }, 7687: { "value": "1E07", "name": "LATIN SMALL LETTER B WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0062 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E06", "lowercase_mapping": "", "titlecase_mapping": "1E06", "symbol": "\u1E07" }, 7689: { "value": "1E09", "name": "LATIN SMALL LETTER C WITH CEDILLA AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E7 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E08", "lowercase_mapping": "", "titlecase_mapping": "1E08", "symbol": "\u1E09" }, 7691: { "value": "1E0B", "name": "LATIN SMALL LETTER D WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0A", "lowercase_mapping": "", "titlecase_mapping": "1E0A", "symbol": "\u1E0B" }, 7693: { "value": "1E0D", "name": "LATIN SMALL LETTER D WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0C", "lowercase_mapping": "", "titlecase_mapping": "1E0C", "symbol": "\u1E0D" }, 7695: { "value": "1E0F", "name": "LATIN SMALL LETTER D WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E0E", "lowercase_mapping": "", "titlecase_mapping": "1E0E", "symbol": "\u1E0F" }, 7697: { "value": "1E11", "name": "LATIN SMALL LETTER D WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E10", "lowercase_mapping": "", "titlecase_mapping": "1E10", "symbol": "\u1E11" }, 7699: { "value": "1E13", "name": "LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0064 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E12", "lowercase_mapping": "", "titlecase_mapping": "1E12", "symbol": "\u1E13" }, 7701: { "value": "1E15", "name": "LATIN SMALL LETTER E WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E14", "lowercase_mapping": "", "titlecase_mapping": "1E14", "symbol": "\u1E15" }, 7703: { "value": "1E17", "name": "LATIN SMALL LETTER E WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0113 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E16", "lowercase_mapping": "", "titlecase_mapping": "1E16", "symbol": "\u1E17" }, 7705: { "value": "1E19", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E18", "lowercase_mapping": "", "titlecase_mapping": "1E18", "symbol": "\u1E19" }, 7707: { "value": "1E1B", "name": "LATIN SMALL LETTER E WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1A", "lowercase_mapping": "", "titlecase_mapping": "1E1A", "symbol": "\u1E1B" }, 7709: { "value": "1E1D", "name": "LATIN SMALL LETTER E WITH CEDILLA AND BREVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0229 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1C", "lowercase_mapping": "", "titlecase_mapping": "1E1C", "symbol": "\u1E1D" }, 7711: { "value": "1E1F", "name": "LATIN SMALL LETTER F WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0066 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E1E", "lowercase_mapping": "", "titlecase_mapping": "1E1E", "symbol": "\u1E1F" }, 7713: { "value": "1E21", "name": "LATIN SMALL LETTER G WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0067 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E20", "lowercase_mapping": "", "titlecase_mapping": "1E20", "symbol": "\u1E21" }, 7715: { "value": "1E23", "name": "LATIN SMALL LETTER H WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E22", "lowercase_mapping": "", "titlecase_mapping": "1E22", "symbol": "\u1E23" }, 7717: { "value": "1E25", "name": "LATIN SMALL LETTER H WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E24", "lowercase_mapping": "", "titlecase_mapping": "1E24", "symbol": "\u1E25" }, 7719: { "value": "1E27", "name": "LATIN SMALL LETTER H WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E26", "lowercase_mapping": "", "titlecase_mapping": "1E26", "symbol": "\u1E27" }, 7721: { "value": "1E29", "name": "LATIN SMALL LETTER H WITH CEDILLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0327", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E28", "lowercase_mapping": "", "titlecase_mapping": "1E28", "symbol": "\u1E29" }, 7723: { "value": "1E2B", "name": "LATIN SMALL LETTER H WITH BREVE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 032E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2A", "lowercase_mapping": "", "titlecase_mapping": "1E2A", "symbol": "\u1E2B" }, 7725: { "value": "1E2D", "name": "LATIN SMALL LETTER I WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2C", "lowercase_mapping": "", "titlecase_mapping": "1E2C", "symbol": "\u1E2D" }, 7727: { "value": "1E2F", "name": "LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EF 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E2E", "lowercase_mapping": "", "titlecase_mapping": "1E2E", "symbol": "\u1E2F" }, 7729: { "value": "1E31", "name": "LATIN SMALL LETTER K WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E30", "lowercase_mapping": "", "titlecase_mapping": "1E30", "symbol": "\u1E31" }, 7731: { "value": "1E33", "name": "LATIN SMALL LETTER K WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E32", "lowercase_mapping": "", "titlecase_mapping": "1E32", "symbol": "\u1E33" }, 7733: { "value": "1E35", "name": "LATIN SMALL LETTER K WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006B 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E34", "lowercase_mapping": "", "titlecase_mapping": "1E34", "symbol": "\u1E35" }, 7735: { "value": "1E37", "name": "LATIN SMALL LETTER L WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E36", "lowercase_mapping": "", "titlecase_mapping": "1E36", "symbol": "\u1E37" }, 7737: { "value": "1E39", "name": "LATIN SMALL LETTER L WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E37 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E38", "lowercase_mapping": "", "titlecase_mapping": "1E38", "symbol": "\u1E39" }, 7739: { "value": "1E3B", "name": "LATIN SMALL LETTER L WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3A", "lowercase_mapping": "", "titlecase_mapping": "1E3A", "symbol": "\u1E3B" }, 7741: { "value": "1E3D", "name": "LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006C 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3C", "lowercase_mapping": "", "titlecase_mapping": "1E3C", "symbol": "\u1E3D" }, 7743: { "value": "1E3F", "name": "LATIN SMALL LETTER M WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E3E", "lowercase_mapping": "", "titlecase_mapping": "1E3E", "symbol": "\u1E3F" }, 7745: { "value": "1E41", "name": "LATIN SMALL LETTER M WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E40", "lowercase_mapping": "", "titlecase_mapping": "1E40", "symbol": "\u1E41" }, 7747: { "value": "1E43", "name": "LATIN SMALL LETTER M WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006D 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E42", "lowercase_mapping": "", "titlecase_mapping": "1E42", "symbol": "\u1E43" }, 7749: { "value": "1E45", "name": "LATIN SMALL LETTER N WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E44", "lowercase_mapping": "", "titlecase_mapping": "1E44", "symbol": "\u1E45" }, 7751: { "value": "1E47", "name": "LATIN SMALL LETTER N WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E46", "lowercase_mapping": "", "titlecase_mapping": "1E46", "symbol": "\u1E47" }, 7753: { "value": "1E49", "name": "LATIN SMALL LETTER N WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E48", "lowercase_mapping": "", "titlecase_mapping": "1E48", "symbol": "\u1E49" }, 7755: { "value": "1E4B", "name": "LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006E 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4A", "lowercase_mapping": "", "titlecase_mapping": "1E4A", "symbol": "\u1E4B" }, 7757: { "value": "1E4D", "name": "LATIN SMALL LETTER O WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4C", "lowercase_mapping": "", "titlecase_mapping": "1E4C", "symbol": "\u1E4D" }, 7759: { "value": "1E4F", "name": "LATIN SMALL LETTER O WITH TILDE AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F5 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E4E", "lowercase_mapping": "", "titlecase_mapping": "1E4E", "symbol": "\u1E4F" }, 7761: { "value": "1E51", "name": "LATIN SMALL LETTER O WITH MACRON AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E50", "lowercase_mapping": "", "titlecase_mapping": "1E50", "symbol": "\u1E51" }, 7763: { "value": "1E53", "name": "LATIN SMALL LETTER O WITH MACRON AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "014D 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E52", "lowercase_mapping": "", "titlecase_mapping": "1E52", "symbol": "\u1E53" }, 7765: { "value": "1E55", "name": "LATIN SMALL LETTER P WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E54", "lowercase_mapping": "", "titlecase_mapping": "1E54", "symbol": "\u1E55" }, 7767: { "value": "1E57", "name": "LATIN SMALL LETTER P WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0070 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E56", "lowercase_mapping": "", "titlecase_mapping": "1E56", "symbol": "\u1E57" }, 7769: { "value": "1E59", "name": "LATIN SMALL LETTER R WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E58", "lowercase_mapping": "", "titlecase_mapping": "1E58", "symbol": "\u1E59" }, 7771: { "value": "1E5B", "name": "LATIN SMALL LETTER R WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5A", "lowercase_mapping": "", "titlecase_mapping": "1E5A", "symbol": "\u1E5B" }, 7773: { "value": "1E5D", "name": "LATIN SMALL LETTER R WITH DOT BELOW AND MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E5B 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5C", "lowercase_mapping": "", "titlecase_mapping": "1E5C", "symbol": "\u1E5D" }, 7775: { "value": "1E5F", "name": "LATIN SMALL LETTER R WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0072 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E5E", "lowercase_mapping": "", "titlecase_mapping": "1E5E", "symbol": "\u1E5F" }, 7777: { "value": "1E61", "name": "LATIN SMALL LETTER S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E61" }, 7779: { "value": "1E63", "name": "LATIN SMALL LETTER S WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0073 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E62", "lowercase_mapping": "", "titlecase_mapping": "1E62", "symbol": "\u1E63" }, 7781: { "value": "1E65", "name": "LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "015B 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E64", "lowercase_mapping": "", "titlecase_mapping": "1E64", "symbol": "\u1E65" }, 7783: { "value": "1E67", "name": "LATIN SMALL LETTER S WITH CARON AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0161 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E66", "lowercase_mapping": "", "titlecase_mapping": "1E66", "symbol": "\u1E67" }, 7785: { "value": "1E69", "name": "LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1E63 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E68", "lowercase_mapping": "", "titlecase_mapping": "1E68", "symbol": "\u1E69" }, 7787: { "value": "1E6B", "name": "LATIN SMALL LETTER T WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6A", "lowercase_mapping": "", "titlecase_mapping": "1E6A", "symbol": "\u1E6B" }, 7789: { "value": "1E6D", "name": "LATIN SMALL LETTER T WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6C", "lowercase_mapping": "", "titlecase_mapping": "1E6C", "symbol": "\u1E6D" }, 7791: { "value": "1E6F", "name": "LATIN SMALL LETTER T WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E6E", "lowercase_mapping": "", "titlecase_mapping": "1E6E", "symbol": "\u1E6F" }, 7793: { "value": "1E71", "name": "LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E70", "lowercase_mapping": "", "titlecase_mapping": "1E70", "symbol": "\u1E71" }, 7795: { "value": "1E73", "name": "LATIN SMALL LETTER U WITH DIAERESIS BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0324", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E72", "lowercase_mapping": "", "titlecase_mapping": "1E72", "symbol": "\u1E73" }, 7797: { "value": "1E75", "name": "LATIN SMALL LETTER U WITH TILDE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0330", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E74", "lowercase_mapping": "", "titlecase_mapping": "1E74", "symbol": "\u1E75" }, 7799: { "value": "1E77", "name": "LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 032D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E76", "lowercase_mapping": "", "titlecase_mapping": "1E76", "symbol": "\u1E77" }, 7801: { "value": "1E79", "name": "LATIN SMALL LETTER U WITH TILDE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0169 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E78", "lowercase_mapping": "", "titlecase_mapping": "1E78", "symbol": "\u1E79" }, 7803: { "value": "1E7B", "name": "LATIN SMALL LETTER U WITH MACRON AND DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "016B 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7A", "lowercase_mapping": "", "titlecase_mapping": "1E7A", "symbol": "\u1E7B" }, 7805: { "value": "1E7D", "name": "LATIN SMALL LETTER V WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7C", "lowercase_mapping": "", "titlecase_mapping": "1E7C", "symbol": "\u1E7D" }, 7807: { "value": "1E7F", "name": "LATIN SMALL LETTER V WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0076 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E7E", "lowercase_mapping": "", "titlecase_mapping": "1E7E", "symbol": "\u1E7F" }, 7809: { "value": "1E81", "name": "LATIN SMALL LETTER W WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E80", "lowercase_mapping": "", "titlecase_mapping": "1E80", "symbol": "\u1E81" }, 7811: { "value": "1E83", "name": "LATIN SMALL LETTER W WITH ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E82", "lowercase_mapping": "", "titlecase_mapping": "1E82", "symbol": "\u1E83" }, 7813: { "value": "1E85", "name": "LATIN SMALL LETTER W WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E84", "lowercase_mapping": "", "titlecase_mapping": "1E84", "symbol": "\u1E85" }, 7815: { "value": "1E87", "name": "LATIN SMALL LETTER W WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E86", "lowercase_mapping": "", "titlecase_mapping": "1E86", "symbol": "\u1E87" }, 7817: { "value": "1E89", "name": "LATIN SMALL LETTER W WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E88", "lowercase_mapping": "", "titlecase_mapping": "1E88", "symbol": "\u1E89" }, 7819: { "value": "1E8B", "name": "LATIN SMALL LETTER X WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8A", "lowercase_mapping": "", "titlecase_mapping": "1E8A", "symbol": "\u1E8B" }, 7821: { "value": "1E8D", "name": "LATIN SMALL LETTER X WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0078 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8C", "lowercase_mapping": "", "titlecase_mapping": "1E8C", "symbol": "\u1E8D" }, 7823: { "value": "1E8F", "name": "LATIN SMALL LETTER Y WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E8E", "lowercase_mapping": "", "titlecase_mapping": "1E8E", "symbol": "\u1E8F" }, 7825: { "value": "1E91", "name": "LATIN SMALL LETTER Z WITH CIRCUMFLEX", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90", "lowercase_mapping": "", "titlecase_mapping": "1E90", "symbol": "\u1E91" }, 7827: { "value": "1E93", "name": "LATIN SMALL LETTER Z WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E92", "lowercase_mapping": "", "titlecase_mapping": "1E92", "symbol": "\u1E93" }, 7829: { "value": "1E95", "name": "LATIN SMALL LETTER Z WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "007A 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E94", "lowercase_mapping": "", "titlecase_mapping": "1E94", "symbol": "\u1E95" }, 7830: { "value": "1E96", "name": "LATIN SMALL LETTER H WITH LINE BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0068 0331", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E96" }, 7831: { "value": "1E97", "name": "LATIN SMALL LETTER T WITH DIAERESIS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0074 0308", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E97" }, 7832: { "value": "1E98", "name": "LATIN SMALL LETTER W WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0077 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E98" }, 7833: { "value": "1E99", "name": "LATIN SMALL LETTER Y WITH RING ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 030A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E99" }, 7834: { "value": "1E9A", "name": "LATIN SMALL LETTER A WITH RIGHT HALF RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061 02BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9A" }, 7835: { "value": "1E9B", "name": "LATIN SMALL LETTER LONG S WITH DOT ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "017F 0307", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E60", "lowercase_mapping": "", "titlecase_mapping": "1E60", "symbol": "\u1E9B" }, 7836: { "value": "1E9C", "name": "LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9C" }, 7837: { "value": "1E9D", "name": "LATIN SMALL LETTER LONG S WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9D" }, 7839: { "value": "1E9F", "name": "LATIN SMALL LETTER DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1E9F" }, 7841: { "value": "1EA1", "name": "LATIN SMALL LETTER A WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA0", "lowercase_mapping": "", "titlecase_mapping": "1EA0", "symbol": "\u1EA1" }, 7843: { "value": "1EA3", "name": "LATIN SMALL LETTER A WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0061 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA2", "lowercase_mapping": "", "titlecase_mapping": "1EA2", "symbol": "\u1EA3" }, 7845: { "value": "1EA5", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA4", "lowercase_mapping": "", "titlecase_mapping": "1EA4", "symbol": "\u1EA5" }, 7847: { "value": "1EA7", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA6", "lowercase_mapping": "", "titlecase_mapping": "1EA6", "symbol": "\u1EA7" }, 7849: { "value": "1EA9", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EA8", "lowercase_mapping": "", "titlecase_mapping": "1EA8", "symbol": "\u1EA9" }, 7851: { "value": "1EAB", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00E2 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAA", "lowercase_mapping": "", "titlecase_mapping": "1EAA", "symbol": "\u1EAB" }, 7853: { "value": "1EAD", "name": "LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAC", "lowercase_mapping": "", "titlecase_mapping": "1EAC", "symbol": "\u1EAD" }, 7855: { "value": "1EAF", "name": "LATIN SMALL LETTER A WITH BREVE AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EAE", "lowercase_mapping": "", "titlecase_mapping": "1EAE", "symbol": "\u1EAF" }, 7857: { "value": "1EB1", "name": "LATIN SMALL LETTER A WITH BREVE AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB0", "lowercase_mapping": "", "titlecase_mapping": "1EB0", "symbol": "\u1EB1" }, 7859: { "value": "1EB3", "name": "LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB2", "lowercase_mapping": "", "titlecase_mapping": "1EB2", "symbol": "\u1EB3" }, 7861: { "value": "1EB5", "name": "LATIN SMALL LETTER A WITH BREVE AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0103 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB4", "lowercase_mapping": "", "titlecase_mapping": "1EB4", "symbol": "\u1EB5" }, 7863: { "value": "1EB7", "name": "LATIN SMALL LETTER A WITH BREVE AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EA1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB6", "lowercase_mapping": "", "titlecase_mapping": "1EB6", "symbol": "\u1EB7" }, 7865: { "value": "1EB9", "name": "LATIN SMALL LETTER E WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EB8", "lowercase_mapping": "", "titlecase_mapping": "1EB8", "symbol": "\u1EB9" }, 7867: { "value": "1EBB", "name": "LATIN SMALL LETTER E WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBA", "lowercase_mapping": "", "titlecase_mapping": "1EBA", "symbol": "\u1EBB" }, 7869: { "value": "1EBD", "name": "LATIN SMALL LETTER E WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0065 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBC", "lowercase_mapping": "", "titlecase_mapping": "1EBC", "symbol": "\u1EBD" }, 7871: { "value": "1EBF", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EBE", "lowercase_mapping": "", "titlecase_mapping": "1EBE", "symbol": "\u1EBF" }, 7873: { "value": "1EC1", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC0", "lowercase_mapping": "", "titlecase_mapping": "1EC0", "symbol": "\u1EC1" }, 7875: { "value": "1EC3", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC2", "lowercase_mapping": "", "titlecase_mapping": "1EC2", "symbol": "\u1EC3" }, 7877: { "value": "1EC5", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00EA 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC4", "lowercase_mapping": "", "titlecase_mapping": "1EC4", "symbol": "\u1EC5" }, 7879: { "value": "1EC7", "name": "LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1EB9 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC6", "lowercase_mapping": "", "titlecase_mapping": "1EC6", "symbol": "\u1EC7" }, 7881: { "value": "1EC9", "name": "LATIN SMALL LETTER I WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EC8", "lowercase_mapping": "", "titlecase_mapping": "1EC8", "symbol": "\u1EC9" }, 7883: { "value": "1ECB", "name": "LATIN SMALL LETTER I WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0069 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECA", "lowercase_mapping": "", "titlecase_mapping": "1ECA", "symbol": "\u1ECB" }, 7885: { "value": "1ECD", "name": "LATIN SMALL LETTER O WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECC", "lowercase_mapping": "", "titlecase_mapping": "1ECC", "symbol": "\u1ECD" }, 7887: { "value": "1ECF", "name": "LATIN SMALL LETTER O WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "006F 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ECE", "lowercase_mapping": "", "titlecase_mapping": "1ECE", "symbol": "\u1ECF" }, 7889: { "value": "1ED1", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED0", "lowercase_mapping": "", "titlecase_mapping": "1ED0", "symbol": "\u1ED1" }, 7891: { "value": "1ED3", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED2", "lowercase_mapping": "", "titlecase_mapping": "1ED2", "symbol": "\u1ED3" }, 7893: { "value": "1ED5", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED4", "lowercase_mapping": "", "titlecase_mapping": "1ED4", "symbol": "\u1ED5" }, 7895: { "value": "1ED7", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "00F4 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED6", "lowercase_mapping": "", "titlecase_mapping": "1ED6", "symbol": "\u1ED7" }, 7897: { "value": "1ED9", "name": "LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1ECD 0302", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1ED8", "lowercase_mapping": "", "titlecase_mapping": "1ED8", "symbol": "\u1ED9" }, 7899: { "value": "1EDB", "name": "LATIN SMALL LETTER O WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDA", "lowercase_mapping": "", "titlecase_mapping": "1EDA", "symbol": "\u1EDB" }, 7901: { "value": "1EDD", "name": "LATIN SMALL LETTER O WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDC", "lowercase_mapping": "", "titlecase_mapping": "1EDC", "symbol": "\u1EDD" }, 7903: { "value": "1EDF", "name": "LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EDE", "lowercase_mapping": "", "titlecase_mapping": "1EDE", "symbol": "\u1EDF" }, 7905: { "value": "1EE1", "name": "LATIN SMALL LETTER O WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE0", "lowercase_mapping": "", "titlecase_mapping": "1EE0", "symbol": "\u1EE1" }, 7907: { "value": "1EE3", "name": "LATIN SMALL LETTER O WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01A1 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE2", "lowercase_mapping": "", "titlecase_mapping": "1EE2", "symbol": "\u1EE3" }, 7909: { "value": "1EE5", "name": "LATIN SMALL LETTER U WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE4", "lowercase_mapping": "", "titlecase_mapping": "1EE4", "symbol": "\u1EE5" }, 7911: { "value": "1EE7", "name": "LATIN SMALL LETTER U WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0075 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE6", "lowercase_mapping": "", "titlecase_mapping": "1EE6", "symbol": "\u1EE7" }, 7913: { "value": "1EE9", "name": "LATIN SMALL LETTER U WITH HORN AND ACUTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EE8", "lowercase_mapping": "", "titlecase_mapping": "1EE8", "symbol": "\u1EE9" }, 7915: { "value": "1EEB", "name": "LATIN SMALL LETTER U WITH HORN AND GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEA", "lowercase_mapping": "", "titlecase_mapping": "1EEA", "symbol": "\u1EEB" }, 7917: { "value": "1EED", "name": "LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEC", "lowercase_mapping": "", "titlecase_mapping": "1EEC", "symbol": "\u1EED" }, 7919: { "value": "1EEF", "name": "LATIN SMALL LETTER U WITH HORN AND TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EEE", "lowercase_mapping": "", "titlecase_mapping": "1EEE", "symbol": "\u1EEF" }, 7921: { "value": "1EF1", "name": "LATIN SMALL LETTER U WITH HORN AND DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "01B0 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF0", "lowercase_mapping": "", "titlecase_mapping": "1EF0", "symbol": "\u1EF1" }, 7923: { "value": "1EF3", "name": "LATIN SMALL LETTER Y WITH GRAVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF2", "lowercase_mapping": "", "titlecase_mapping": "1EF2", "symbol": "\u1EF3" }, 7925: { "value": "1EF5", "name": "LATIN SMALL LETTER Y WITH DOT BELOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0323", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF4", "lowercase_mapping": "", "titlecase_mapping": "1EF4", "symbol": "\u1EF5" }, 7927: { "value": "1EF7", "name": "LATIN SMALL LETTER Y WITH HOOK ABOVE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0309", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF6", "lowercase_mapping": "", "titlecase_mapping": "1EF6", "symbol": "\u1EF7" }, 7929: { "value": "1EF9", "name": "LATIN SMALL LETTER Y WITH TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0079 0303", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EF8", "lowercase_mapping": "", "titlecase_mapping": "1EF8", "symbol": "\u1EF9" }, 7931: { "value": "1EFB", "name": "LATIN SMALL LETTER MIDDLE-WELSH LL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFA", "lowercase_mapping": "", "titlecase_mapping": "1EFA", "symbol": "\u1EFB" }, 7933: { "value": "1EFD", "name": "LATIN SMALL LETTER MIDDLE-WELSH V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFC", "lowercase_mapping": "", "titlecase_mapping": "1EFC", "symbol": "\u1EFD" }, 7935: { "value": "1EFF", "name": "LATIN SMALL LETTER Y WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1EFE", "lowercase_mapping": "", "titlecase_mapping": "1EFE", "symbol": "\u1EFF" }, 7936: { "value": "1F00", "name": "GREEK SMALL LETTER ALPHA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F08", "lowercase_mapping": "", "titlecase_mapping": "1F08", "symbol": "\u1F00" }, 7937: { "value": "1F01", "name": "GREEK SMALL LETTER ALPHA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F09", "lowercase_mapping": "", "titlecase_mapping": "1F09", "symbol": "\u1F01" }, 7938: { "value": "1F02", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0A", "lowercase_mapping": "", "titlecase_mapping": "1F0A", "symbol": "\u1F02" }, 7939: { "value": "1F03", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0B", "lowercase_mapping": "", "titlecase_mapping": "1F0B", "symbol": "\u1F03" }, 7940: { "value": "1F04", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0C", "lowercase_mapping": "", "titlecase_mapping": "1F0C", "symbol": "\u1F04" }, 7941: { "value": "1F05", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0D", "lowercase_mapping": "", "titlecase_mapping": "1F0D", "symbol": "\u1F05" }, 7942: { "value": "1F06", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0E", "lowercase_mapping": "", "titlecase_mapping": "1F0E", "symbol": "\u1F06" }, 7943: { "value": "1F07", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F0F", "lowercase_mapping": "", "titlecase_mapping": "1F0F", "symbol": "\u1F07" }, 7952: { "value": "1F10", "name": "GREEK SMALL LETTER EPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F18", "lowercase_mapping": "", "titlecase_mapping": "1F18", "symbol": "\u1F10" }, 7953: { "value": "1F11", "name": "GREEK SMALL LETTER EPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F19", "lowercase_mapping": "", "titlecase_mapping": "1F19", "symbol": "\u1F11" }, 7954: { "value": "1F12", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1A", "lowercase_mapping": "", "titlecase_mapping": "1F1A", "symbol": "\u1F12" }, 7955: { "value": "1F13", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1B", "lowercase_mapping": "", "titlecase_mapping": "1F1B", "symbol": "\u1F13" }, 7956: { "value": "1F14", "name": "GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F10 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1C", "lowercase_mapping": "", "titlecase_mapping": "1F1C", "symbol": "\u1F14" }, 7957: { "value": "1F15", "name": "GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F11 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F1D", "lowercase_mapping": "", "titlecase_mapping": "1F1D", "symbol": "\u1F15" }, 7968: { "value": "1F20", "name": "GREEK SMALL LETTER ETA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F28", "lowercase_mapping": "", "titlecase_mapping": "1F28", "symbol": "\u1F20" }, 7969: { "value": "1F21", "name": "GREEK SMALL LETTER ETA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F29", "lowercase_mapping": "", "titlecase_mapping": "1F29", "symbol": "\u1F21" }, 7970: { "value": "1F22", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2A", "lowercase_mapping": "", "titlecase_mapping": "1F2A", "symbol": "\u1F22" }, 7971: { "value": "1F23", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2B", "lowercase_mapping": "", "titlecase_mapping": "1F2B", "symbol": "\u1F23" }, 7972: { "value": "1F24", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2C", "lowercase_mapping": "", "titlecase_mapping": "1F2C", "symbol": "\u1F24" }, 7973: { "value": "1F25", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2D", "lowercase_mapping": "", "titlecase_mapping": "1F2D", "symbol": "\u1F25" }, 7974: { "value": "1F26", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2E", "lowercase_mapping": "", "titlecase_mapping": "1F2E", "symbol": "\u1F26" }, 7975: { "value": "1F27", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F2F", "lowercase_mapping": "", "titlecase_mapping": "1F2F", "symbol": "\u1F27" }, 7984: { "value": "1F30", "name": "GREEK SMALL LETTER IOTA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F38", "lowercase_mapping": "", "titlecase_mapping": "1F38", "symbol": "\u1F30" }, 7985: { "value": "1F31", "name": "GREEK SMALL LETTER IOTA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F39", "lowercase_mapping": "", "titlecase_mapping": "1F39", "symbol": "\u1F31" }, 7986: { "value": "1F32", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3A", "lowercase_mapping": "", "titlecase_mapping": "1F3A", "symbol": "\u1F32" }, 7987: { "value": "1F33", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3B", "lowercase_mapping": "", "titlecase_mapping": "1F3B", "symbol": "\u1F33" }, 7988: { "value": "1F34", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3C", "lowercase_mapping": "", "titlecase_mapping": "1F3C", "symbol": "\u1F34" }, 7989: { "value": "1F35", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3D", "lowercase_mapping": "", "titlecase_mapping": "1F3D", "symbol": "\u1F35" }, 7990: { "value": "1F36", "name": "GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F30 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3E", "lowercase_mapping": "", "titlecase_mapping": "1F3E", "symbol": "\u1F36" }, 7991: { "value": "1F37", "name": "GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F31 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F3F", "lowercase_mapping": "", "titlecase_mapping": "1F3F", "symbol": "\u1F37" }, 8000: { "value": "1F40", "name": "GREEK SMALL LETTER OMICRON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F48", "lowercase_mapping": "", "titlecase_mapping": "1F48", "symbol": "\u1F40" }, 8001: { "value": "1F41", "name": "GREEK SMALL LETTER OMICRON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F49", "lowercase_mapping": "", "titlecase_mapping": "1F49", "symbol": "\u1F41" }, 8002: { "value": "1F42", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4A", "lowercase_mapping": "", "titlecase_mapping": "1F4A", "symbol": "\u1F42" }, 8003: { "value": "1F43", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4B", "lowercase_mapping": "", "titlecase_mapping": "1F4B", "symbol": "\u1F43" }, 8004: { "value": "1F44", "name": "GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F40 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4C", "lowercase_mapping": "", "titlecase_mapping": "1F4C", "symbol": "\u1F44" }, 8005: { "value": "1F45", "name": "GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F41 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F4D", "lowercase_mapping": "", "titlecase_mapping": "1F4D", "symbol": "\u1F45" }, 8016: { "value": "1F50", "name": "GREEK SMALL LETTER UPSILON WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F50" }, 8017: { "value": "1F51", "name": "GREEK SMALL LETTER UPSILON WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F59", "lowercase_mapping": "", "titlecase_mapping": "1F59", "symbol": "\u1F51" }, 8018: { "value": "1F52", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F52" }, 8019: { "value": "1F53", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5B", "lowercase_mapping": "", "titlecase_mapping": "1F5B", "symbol": "\u1F53" }, 8020: { "value": "1F54", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F54" }, 8021: { "value": "1F55", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5D", "lowercase_mapping": "", "titlecase_mapping": "1F5D", "symbol": "\u1F55" }, 8022: { "value": "1F56", "name": "GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F50 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1F56" }, 8023: { "value": "1F57", "name": "GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F51 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F5F", "lowercase_mapping": "", "titlecase_mapping": "1F5F", "symbol": "\u1F57" }, 8032: { "value": "1F60", "name": "GREEK SMALL LETTER OMEGA WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F68", "lowercase_mapping": "", "titlecase_mapping": "1F68", "symbol": "\u1F60" }, 8033: { "value": "1F61", "name": "GREEK SMALL LETTER OMEGA WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F69", "lowercase_mapping": "", "titlecase_mapping": "1F69", "symbol": "\u1F61" }, 8034: { "value": "1F62", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6A", "lowercase_mapping": "", "titlecase_mapping": "1F6A", "symbol": "\u1F62" }, 8035: { "value": "1F63", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6B", "lowercase_mapping": "", "titlecase_mapping": "1F6B", "symbol": "\u1F63" }, 8036: { "value": "1F64", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6C", "lowercase_mapping": "", "titlecase_mapping": "1F6C", "symbol": "\u1F64" }, 8037: { "value": "1F65", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0301", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6D", "lowercase_mapping": "", "titlecase_mapping": "1F6D", "symbol": "\u1F65" }, 8038: { "value": "1F66", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6E", "lowercase_mapping": "", "titlecase_mapping": "1F6E", "symbol": "\u1F66" }, 8039: { "value": "1F67", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F6F", "lowercase_mapping": "", "titlecase_mapping": "1F6F", "symbol": "\u1F67" }, 8048: { "value": "1F70", "name": "GREEK SMALL LETTER ALPHA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBA", "lowercase_mapping": "", "titlecase_mapping": "1FBA", "symbol": "\u1F70" }, 8049: { "value": "1F71", "name": "GREEK SMALL LETTER ALPHA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBB", "lowercase_mapping": "", "titlecase_mapping": "1FBB", "symbol": "\u1F71" }, 8050: { "value": "1F72", "name": "GREEK SMALL LETTER EPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC8", "lowercase_mapping": "", "titlecase_mapping": "1FC8", "symbol": "\u1F72" }, 8051: { "value": "1F73", "name": "GREEK SMALL LETTER EPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FC9", "lowercase_mapping": "", "titlecase_mapping": "1FC9", "symbol": "\u1F73" }, 8052: { "value": "1F74", "name": "GREEK SMALL LETTER ETA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCA", "lowercase_mapping": "", "titlecase_mapping": "1FCA", "symbol": "\u1F74" }, 8053: { "value": "1F75", "name": "GREEK SMALL LETTER ETA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCB", "lowercase_mapping": "", "titlecase_mapping": "1FCB", "symbol": "\u1F75" }, 8054: { "value": "1F76", "name": "GREEK SMALL LETTER IOTA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDA", "lowercase_mapping": "", "titlecase_mapping": "1FDA", "symbol": "\u1F76" }, 8055: { "value": "1F77", "name": "GREEK SMALL LETTER IOTA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FDB", "lowercase_mapping": "", "titlecase_mapping": "1FDB", "symbol": "\u1F77" }, 8056: { "value": "1F78", "name": "GREEK SMALL LETTER OMICRON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03BF 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF8", "lowercase_mapping": "", "titlecase_mapping": "1FF8", "symbol": "\u1F78" }, 8057: { "value": "1F79", "name": "GREEK SMALL LETTER OMICRON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FF9", "lowercase_mapping": "", "titlecase_mapping": "1FF9", "symbol": "\u1F79" }, 8058: { "value": "1F7A", "name": "GREEK SMALL LETTER UPSILON WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEA", "lowercase_mapping": "", "titlecase_mapping": "1FEA", "symbol": "\u1F7A" }, 8059: { "value": "1F7B", "name": "GREEK SMALL LETTER UPSILON WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEB", "lowercase_mapping": "", "titlecase_mapping": "1FEB", "symbol": "\u1F7B" }, 8060: { "value": "1F7C", "name": "GREEK SMALL LETTER OMEGA WITH VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFA", "lowercase_mapping": "", "titlecase_mapping": "1FFA", "symbol": "\u1F7C" }, 8061: { "value": "1F7D", "name": "GREEK SMALL LETTER OMEGA WITH OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFB", "lowercase_mapping": "", "titlecase_mapping": "1FFB", "symbol": "\u1F7D" }, 8064: { "value": "1F80", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F00 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F88", "lowercase_mapping": "", "titlecase_mapping": "1F88", "symbol": "\u1F80" }, 8065: { "value": "1F81", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F01 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F89", "lowercase_mapping": "", "titlecase_mapping": "1F89", "symbol": "\u1F81" }, 8066: { "value": "1F82", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F02 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8A", "lowercase_mapping": "", "titlecase_mapping": "1F8A", "symbol": "\u1F82" }, 8067: { "value": "1F83", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F03 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8B", "lowercase_mapping": "", "titlecase_mapping": "1F8B", "symbol": "\u1F83" }, 8068: { "value": "1F84", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F04 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8C", "lowercase_mapping": "", "titlecase_mapping": "1F8C", "symbol": "\u1F84" }, 8069: { "value": "1F85", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F05 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8D", "lowercase_mapping": "", "titlecase_mapping": "1F8D", "symbol": "\u1F85" }, 8070: { "value": "1F86", "name": "GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F06 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8E", "lowercase_mapping": "", "titlecase_mapping": "1F8E", "symbol": "\u1F86" }, 8071: { "value": "1F87", "name": "GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F07 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F8F", "lowercase_mapping": "", "titlecase_mapping": "1F8F", "symbol": "\u1F87" }, 8080: { "value": "1F90", "name": "GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F20 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F98", "lowercase_mapping": "", "titlecase_mapping": "1F98", "symbol": "\u1F90" }, 8081: { "value": "1F91", "name": "GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F21 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F99", "lowercase_mapping": "", "titlecase_mapping": "1F99", "symbol": "\u1F91" }, 8082: { "value": "1F92", "name": "GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F22 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9A", "lowercase_mapping": "", "titlecase_mapping": "1F9A", "symbol": "\u1F92" }, 8083: { "value": "1F93", "name": "GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F23 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9B", "lowercase_mapping": "", "titlecase_mapping": "1F9B", "symbol": "\u1F93" }, 8084: { "value": "1F94", "name": "GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F24 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9C", "lowercase_mapping": "", "titlecase_mapping": "1F9C", "symbol": "\u1F94" }, 8085: { "value": "1F95", "name": "GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F25 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9D", "lowercase_mapping": "", "titlecase_mapping": "1F9D", "symbol": "\u1F95" }, 8086: { "value": "1F96", "name": "GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F26 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9E", "lowercase_mapping": "", "titlecase_mapping": "1F9E", "symbol": "\u1F96" }, 8087: { "value": "1F97", "name": "GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F27 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1F9F", "lowercase_mapping": "", "titlecase_mapping": "1F9F", "symbol": "\u1F97" }, 8096: { "value": "1FA0", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F60 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA8", "lowercase_mapping": "", "titlecase_mapping": "1FA8", "symbol": "\u1FA0" }, 8097: { "value": "1FA1", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F61 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FA9", "lowercase_mapping": "", "titlecase_mapping": "1FA9", "symbol": "\u1FA1" }, 8098: { "value": "1FA2", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F62 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAA", "lowercase_mapping": "", "titlecase_mapping": "1FAA", "symbol": "\u1FA2" }, 8099: { "value": "1FA3", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F63 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAB", "lowercase_mapping": "", "titlecase_mapping": "1FAB", "symbol": "\u1FA3" }, 8100: { "value": "1FA4", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F64 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAC", "lowercase_mapping": "", "titlecase_mapping": "1FAC", "symbol": "\u1FA4" }, 8101: { "value": "1FA5", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F65 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAD", "lowercase_mapping": "", "titlecase_mapping": "1FAD", "symbol": "\u1FA5" }, 8102: { "value": "1FA6", "name": "GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F66 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAE", "lowercase_mapping": "", "titlecase_mapping": "1FAE", "symbol": "\u1FA6" }, 8103: { "value": "1FA7", "name": "GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F67 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FAF", "lowercase_mapping": "", "titlecase_mapping": "1FAF", "symbol": "\u1FA7" }, 8112: { "value": "1FB0", "name": "GREEK SMALL LETTER ALPHA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB8", "lowercase_mapping": "", "titlecase_mapping": "1FB8", "symbol": "\u1FB0" }, 8113: { "value": "1FB1", "name": "GREEK SMALL LETTER ALPHA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FB9", "lowercase_mapping": "", "titlecase_mapping": "1FB9", "symbol": "\u1FB1" }, 8114: { "value": "1FB2", "name": "GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F70 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB2" }, 8115: { "value": "1FB3", "name": "GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FBC", "lowercase_mapping": "", "titlecase_mapping": "1FBC", "symbol": "\u1FB3" }, 8116: { "value": "1FB4", "name": "GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AC 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB4" }, 8118: { "value": "1FB6", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B1 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB6" }, 8119: { "value": "1FB7", "name": "GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FB6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FB7" }, 8126: { "value": "1FBE", "name": "GREEK PROSGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "0399", "lowercase_mapping": "", "titlecase_mapping": "0399", "symbol": "\u1FBE" }, 8130: { "value": "1FC2", "name": "GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F74 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC2" }, 8131: { "value": "1FC3", "name": "GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FCC", "lowercase_mapping": "", "titlecase_mapping": "1FCC", "symbol": "\u1FC3" }, 8132: { "value": "1FC4", "name": "GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03AE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC4" }, 8134: { "value": "1FC6", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B7 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC6" }, 8135: { "value": "1FC7", "name": "GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FC6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FC7" }, 8144: { "value": "1FD0", "name": "GREEK SMALL LETTER IOTA WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD8", "lowercase_mapping": "", "titlecase_mapping": "1FD8", "symbol": "\u1FD0" }, 8145: { "value": "1FD1", "name": "GREEK SMALL LETTER IOTA WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FD9", "lowercase_mapping": "", "titlecase_mapping": "1FD9", "symbol": "\u1FD1" }, 8146: { "value": "1FD2", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD2" }, 8147: { "value": "1FD3", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "0390", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD3" }, 8150: { "value": "1FD6", "name": "GREEK SMALL LETTER IOTA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD6" }, 8151: { "value": "1FD7", "name": "GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CA 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FD7" }, 8160: { "value": "1FE0", "name": "GREEK SMALL LETTER UPSILON WITH VRACHY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0306", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE8", "lowercase_mapping": "", "titlecase_mapping": "1FE8", "symbol": "\u1FE0" }, 8161: { "value": "1FE1", "name": "GREEK SMALL LETTER UPSILON WITH MACRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0304", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FE9", "lowercase_mapping": "", "titlecase_mapping": "1FE9", "symbol": "\u1FE1" }, 8162: { "value": "1FE2", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0300", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE2" }, 8163: { "value": "1FE3", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03B0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE3" }, 8164: { "value": "1FE4", "name": "GREEK SMALL LETTER RHO WITH PSILI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0313", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE4" }, 8165: { "value": "1FE5", "name": "GREEK SMALL LETTER RHO WITH DASIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C1 0314", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FEC", "lowercase_mapping": "", "titlecase_mapping": "1FEC", "symbol": "\u1FE5" }, 8166: { "value": "1FE6", "name": "GREEK SMALL LETTER UPSILON WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C5 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE6" }, 8167: { "value": "1FE7", "name": "GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CB 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FE7" }, 8178: { "value": "1FF2", "name": "GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1F7C 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF2" }, 8179: { "value": "1FF3", "name": "GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1FFC", "lowercase_mapping": "", "titlecase_mapping": "1FFC", "symbol": "\u1FF3" }, 8180: { "value": "1FF4", "name": "GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03CE 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF4" }, 8182: { "value": "1FF6", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "03C9 0342", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF6" }, 8183: { "value": "1FF7", "name": "GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "1FF6 0345", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u1FF7" }, 8458: { "value": "210A", "name": "SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210A" }, 8462: { "value": "210E", "name": "PLANCK CONSTANT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210E" }, 8463: { "value": "210F", "name": "PLANCK CONSTANT OVER TWO PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0127", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "PLANCK CONSTANT OVER 2 PI", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u210F" }, 8467: { "value": "2113", "name": "SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2113" }, 8495: { "value": "212F", "name": "SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u212F" }, 8500: { "value": "2134", "name": "SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2134" }, 8505: { "value": "2139", "name": "INFORMATION SOURCE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2139" }, 8508: { "value": "213C", "name": "DOUBLE-STRUCK SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213C" }, 8509: { "value": "213D", "name": "DOUBLE-STRUCK SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u213D" }, 8518: { "value": "2146", "name": "DOUBLE-STRUCK ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2146" }, 8519: { "value": "2147", "name": "DOUBLE-STRUCK ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2147" }, 8520: { "value": "2148", "name": "DOUBLE-STRUCK ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2148" }, 8521: { "value": "2149", "name": "DOUBLE-STRUCK ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2149" }, 8526: { "value": "214E", "name": "TURNED SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2132", "lowercase_mapping": "", "titlecase_mapping": "2132", "symbol": "\u214E" }, 8580: { "value": "2184", "name": "LATIN SMALL LETTER REVERSED C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2183", "lowercase_mapping": "", "titlecase_mapping": "2183", "symbol": "\u2184" }, 11312: { "value": "2C30", "name": "GLAGOLITIC SMALL LETTER AZU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C00", "lowercase_mapping": "", "titlecase_mapping": "2C00", "symbol": "\u2C30" }, 11313: { "value": "2C31", "name": "GLAGOLITIC SMALL LETTER BUKY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C01", "lowercase_mapping": "", "titlecase_mapping": "2C01", "symbol": "\u2C31" }, 11314: { "value": "2C32", "name": "GLAGOLITIC SMALL LETTER VEDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C02", "lowercase_mapping": "", "titlecase_mapping": "2C02", "symbol": "\u2C32" }, 11315: { "value": "2C33", "name": "GLAGOLITIC SMALL LETTER GLAGOLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C03", "lowercase_mapping": "", "titlecase_mapping": "2C03", "symbol": "\u2C33" }, 11316: { "value": "2C34", "name": "GLAGOLITIC SMALL LETTER DOBRO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C04", "lowercase_mapping": "", "titlecase_mapping": "2C04", "symbol": "\u2C34" }, 11317: { "value": "2C35", "name": "GLAGOLITIC SMALL LETTER YESTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C05", "lowercase_mapping": "", "titlecase_mapping": "2C05", "symbol": "\u2C35" }, 11318: { "value": "2C36", "name": "GLAGOLITIC SMALL LETTER ZHIVETE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C06", "lowercase_mapping": "", "titlecase_mapping": "2C06", "symbol": "\u2C36" }, 11319: { "value": "2C37", "name": "GLAGOLITIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C07", "lowercase_mapping": "", "titlecase_mapping": "2C07", "symbol": "\u2C37" }, 11320: { "value": "2C38", "name": "GLAGOLITIC SMALL LETTER ZEMLJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C08", "lowercase_mapping": "", "titlecase_mapping": "2C08", "symbol": "\u2C38" }, 11321: { "value": "2C39", "name": "GLAGOLITIC SMALL LETTER IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C09", "lowercase_mapping": "", "titlecase_mapping": "2C09", "symbol": "\u2C39" }, 11322: { "value": "2C3A", "name": "GLAGOLITIC SMALL LETTER INITIAL IZHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0A", "lowercase_mapping": "", "titlecase_mapping": "2C0A", "symbol": "\u2C3A" }, 11323: { "value": "2C3B", "name": "GLAGOLITIC SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0B", "lowercase_mapping": "", "titlecase_mapping": "2C0B", "symbol": "\u2C3B" }, 11324: { "value": "2C3C", "name": "GLAGOLITIC SMALL LETTER DJERVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0C", "lowercase_mapping": "", "titlecase_mapping": "2C0C", "symbol": "\u2C3C" }, 11325: { "value": "2C3D", "name": "GLAGOLITIC SMALL LETTER KAKO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0D", "lowercase_mapping": "", "titlecase_mapping": "2C0D", "symbol": "\u2C3D" }, 11326: { "value": "2C3E", "name": "GLAGOLITIC SMALL LETTER LJUDIJE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0E", "lowercase_mapping": "", "titlecase_mapping": "2C0E", "symbol": "\u2C3E" }, 11327: { "value": "2C3F", "name": "GLAGOLITIC SMALL LETTER MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C0F", "lowercase_mapping": "", "titlecase_mapping": "2C0F", "symbol": "\u2C3F" }, 11328: { "value": "2C40", "name": "GLAGOLITIC SMALL LETTER NASHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C10", "lowercase_mapping": "", "titlecase_mapping": "2C10", "symbol": "\u2C40" }, 11329: { "value": "2C41", "name": "GLAGOLITIC SMALL LETTER ONU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C11", "lowercase_mapping": "", "titlecase_mapping": "2C11", "symbol": "\u2C41" }, 11330: { "value": "2C42", "name": "GLAGOLITIC SMALL LETTER POKOJI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C12", "lowercase_mapping": "", "titlecase_mapping": "2C12", "symbol": "\u2C42" }, 11331: { "value": "2C43", "name": "GLAGOLITIC SMALL LETTER RITSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C13", "lowercase_mapping": "", "titlecase_mapping": "2C13", "symbol": "\u2C43" }, 11332: { "value": "2C44", "name": "GLAGOLITIC SMALL LETTER SLOVO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C14", "lowercase_mapping": "", "titlecase_mapping": "2C14", "symbol": "\u2C44" }, 11333: { "value": "2C45", "name": "GLAGOLITIC SMALL LETTER TVRIDO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C15", "lowercase_mapping": "", "titlecase_mapping": "2C15", "symbol": "\u2C45" }, 11334: { "value": "2C46", "name": "GLAGOLITIC SMALL LETTER UKU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C16", "lowercase_mapping": "", "titlecase_mapping": "2C16", "symbol": "\u2C46" }, 11335: { "value": "2C47", "name": "GLAGOLITIC SMALL LETTER FRITU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C17", "lowercase_mapping": "", "titlecase_mapping": "2C17", "symbol": "\u2C47" }, 11336: { "value": "2C48", "name": "GLAGOLITIC SMALL LETTER HERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C18", "lowercase_mapping": "", "titlecase_mapping": "2C18", "symbol": "\u2C48" }, 11337: { "value": "2C49", "name": "GLAGOLITIC SMALL LETTER OTU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C19", "lowercase_mapping": "", "titlecase_mapping": "2C19", "symbol": "\u2C49" }, 11338: { "value": "2C4A", "name": "GLAGOLITIC SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1A", "lowercase_mapping": "", "titlecase_mapping": "2C1A", "symbol": "\u2C4A" }, 11339: { "value": "2C4B", "name": "GLAGOLITIC SMALL LETTER SHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1B", "lowercase_mapping": "", "titlecase_mapping": "2C1B", "symbol": "\u2C4B" }, 11340: { "value": "2C4C", "name": "GLAGOLITIC SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1C", "lowercase_mapping": "", "titlecase_mapping": "2C1C", "symbol": "\u2C4C" }, 11341: { "value": "2C4D", "name": "GLAGOLITIC SMALL LETTER CHRIVI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1D", "lowercase_mapping": "", "titlecase_mapping": "2C1D", "symbol": "\u2C4D" }, 11342: { "value": "2C4E", "name": "GLAGOLITIC SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1E", "lowercase_mapping": "", "titlecase_mapping": "2C1E", "symbol": "\u2C4E" }, 11343: { "value": "2C4F", "name": "GLAGOLITIC SMALL LETTER YERU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C1F", "lowercase_mapping": "", "titlecase_mapping": "2C1F", "symbol": "\u2C4F" }, 11344: { "value": "2C50", "name": "GLAGOLITIC SMALL LETTER YERI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C20", "lowercase_mapping": "", "titlecase_mapping": "2C20", "symbol": "\u2C50" }, 11345: { "value": "2C51", "name": "GLAGOLITIC SMALL LETTER YATI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C21", "lowercase_mapping": "", "titlecase_mapping": "2C21", "symbol": "\u2C51" }, 11346: { "value": "2C52", "name": "GLAGOLITIC SMALL LETTER SPIDERY HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C22", "lowercase_mapping": "", "titlecase_mapping": "2C22", "symbol": "\u2C52" }, 11347: { "value": "2C53", "name": "GLAGOLITIC SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C23", "lowercase_mapping": "", "titlecase_mapping": "2C23", "symbol": "\u2C53" }, 11348: { "value": "2C54", "name": "GLAGOLITIC SMALL LETTER SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C24", "lowercase_mapping": "", "titlecase_mapping": "2C24", "symbol": "\u2C54" }, 11349: { "value": "2C55", "name": "GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C25", "lowercase_mapping": "", "titlecase_mapping": "2C25", "symbol": "\u2C55" }, 11350: { "value": "2C56", "name": "GLAGOLITIC SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C26", "lowercase_mapping": "", "titlecase_mapping": "2C26", "symbol": "\u2C56" }, 11351: { "value": "2C57", "name": "GLAGOLITIC SMALL LETTER IOTATED SMALL YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C27", "lowercase_mapping": "", "titlecase_mapping": "2C27", "symbol": "\u2C57" }, 11352: { "value": "2C58", "name": "GLAGOLITIC SMALL LETTER BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C28", "lowercase_mapping": "", "titlecase_mapping": "2C28", "symbol": "\u2C58" }, 11353: { "value": "2C59", "name": "GLAGOLITIC SMALL LETTER IOTATED BIG YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C29", "lowercase_mapping": "", "titlecase_mapping": "2C29", "symbol": "\u2C59" }, 11354: { "value": "2C5A", "name": "GLAGOLITIC SMALL LETTER FITA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2A", "lowercase_mapping": "", "titlecase_mapping": "2C2A", "symbol": "\u2C5A" }, 11355: { "value": "2C5B", "name": "GLAGOLITIC SMALL LETTER IZHITSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2B", "lowercase_mapping": "", "titlecase_mapping": "2C2B", "symbol": "\u2C5B" }, 11356: { "value": "2C5C", "name": "GLAGOLITIC SMALL LETTER SHTAPIC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2C", "lowercase_mapping": "", "titlecase_mapping": "2C2C", "symbol": "\u2C5C" }, 11357: { "value": "2C5D", "name": "GLAGOLITIC SMALL LETTER TROKUTASTI A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2D", "lowercase_mapping": "", "titlecase_mapping": "2C2D", "symbol": "\u2C5D" }, 11358: { "value": "2C5E", "name": "GLAGOLITIC SMALL LETTER LATINATE MYSLITE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C2E", "lowercase_mapping": "", "titlecase_mapping": "2C2E", "symbol": "\u2C5E" }, 11361: { "value": "2C61", "name": "LATIN SMALL LETTER L WITH DOUBLE BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C60", "lowercase_mapping": "", "titlecase_mapping": "2C60", "symbol": "\u2C61" }, 11365: { "value": "2C65", "name": "LATIN SMALL LETTER A WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023A", "lowercase_mapping": "", "titlecase_mapping": "023A", "symbol": "\u2C65" }, 11366: { "value": "2C66", "name": "LATIN SMALL LETTER T WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "023E", "lowercase_mapping": "", "titlecase_mapping": "023E", "symbol": "\u2C66" }, 11368: { "value": "2C68", "name": "LATIN SMALL LETTER H WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C67", "lowercase_mapping": "", "titlecase_mapping": "2C67", "symbol": "\u2C68" }, 11370: { "value": "2C6A", "name": "LATIN SMALL LETTER K WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C69", "lowercase_mapping": "", "titlecase_mapping": "2C69", "symbol": "\u2C6A" }, 11372: { "value": "2C6C", "name": "LATIN SMALL LETTER Z WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C6B", "lowercase_mapping": "", "titlecase_mapping": "2C6B", "symbol": "\u2C6C" }, 11377: { "value": "2C71", "name": "LATIN SMALL LETTER V WITH RIGHT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C71" }, 11379: { "value": "2C73", "name": "LATIN SMALL LETTER W WITH HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C72", "lowercase_mapping": "", "titlecase_mapping": "2C72", "symbol": "\u2C73" }, 11380: { "value": "2C74", "name": "LATIN SMALL LETTER V WITH CURL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C74" }, 11382: { "value": "2C76", "name": "LATIN SMALL LETTER HALF H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C75", "lowercase_mapping": "", "titlecase_mapping": "2C75", "symbol": "\u2C76" }, 11383: { "value": "2C77", "name": "LATIN SMALL LETTER TAILLESS PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C77" }, 11384: { "value": "2C78", "name": "LATIN SMALL LETTER E WITH NOTCH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C78" }, 11385: { "value": "2C79", "name": "LATIN SMALL LETTER TURNED R WITH TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C79" }, 11386: { "value": "2C7A", "name": "LATIN SMALL LETTER O WITH LOW RING INSIDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7A" }, 11387: { "value": "2C7B", "name": "LATIN LETTER SMALL CAPITAL TURNED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2C7B" }, 11393: { "value": "2C81", "name": "COPTIC SMALL LETTER ALFA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C80", "lowercase_mapping": "", "titlecase_mapping": "2C80", "symbol": "\u2C81" }, 11395: { "value": "2C83", "name": "COPTIC SMALL LETTER VIDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C82", "lowercase_mapping": "", "titlecase_mapping": "2C82", "symbol": "\u2C83" }, 11397: { "value": "2C85", "name": "COPTIC SMALL LETTER GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C84", "lowercase_mapping": "", "titlecase_mapping": "2C84", "symbol": "\u2C85" }, 11399: { "value": "2C87", "name": "COPTIC SMALL LETTER DALDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C86", "lowercase_mapping": "", "titlecase_mapping": "2C86", "symbol": "\u2C87" }, 11401: { "value": "2C89", "name": "COPTIC SMALL LETTER EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C88", "lowercase_mapping": "", "titlecase_mapping": "2C88", "symbol": "\u2C89" }, 11403: { "value": "2C8B", "name": "COPTIC SMALL LETTER SOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8A", "lowercase_mapping": "", "titlecase_mapping": "2C8A", "symbol": "\u2C8B" }, 11405: { "value": "2C8D", "name": "COPTIC SMALL LETTER ZATA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8C", "lowercase_mapping": "", "titlecase_mapping": "2C8C", "symbol": "\u2C8D" }, 11407: { "value": "2C8F", "name": "COPTIC SMALL LETTER HATE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C8E", "lowercase_mapping": "", "titlecase_mapping": "2C8E", "symbol": "\u2C8F" }, 11409: { "value": "2C91", "name": "COPTIC SMALL LETTER THETHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C90", "lowercase_mapping": "", "titlecase_mapping": "2C90", "symbol": "\u2C91" }, 11411: { "value": "2C93", "name": "COPTIC SMALL LETTER IAUDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C92", "lowercase_mapping": "", "titlecase_mapping": "2C92", "symbol": "\u2C93" }, 11413: { "value": "2C95", "name": "COPTIC SMALL LETTER KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C94", "lowercase_mapping": "", "titlecase_mapping": "2C94", "symbol": "\u2C95" }, 11415: { "value": "2C97", "name": "COPTIC SMALL LETTER LAULA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C96", "lowercase_mapping": "", "titlecase_mapping": "2C96", "symbol": "\u2C97" }, 11417: { "value": "2C99", "name": "COPTIC SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C98", "lowercase_mapping": "", "titlecase_mapping": "2C98", "symbol": "\u2C99" }, 11419: { "value": "2C9B", "name": "COPTIC SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9A", "lowercase_mapping": "", "titlecase_mapping": "2C9A", "symbol": "\u2C9B" }, 11421: { "value": "2C9D", "name": "COPTIC SMALL LETTER KSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9C", "lowercase_mapping": "", "titlecase_mapping": "2C9C", "symbol": "\u2C9D" }, 11423: { "value": "2C9F", "name": "COPTIC SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2C9E", "lowercase_mapping": "", "titlecase_mapping": "2C9E", "symbol": "\u2C9F" }, 11425: { "value": "2CA1", "name": "COPTIC SMALL LETTER PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA0", "lowercase_mapping": "", "titlecase_mapping": "2CA0", "symbol": "\u2CA1" }, 11427: { "value": "2CA3", "name": "COPTIC SMALL LETTER RO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA2", "lowercase_mapping": "", "titlecase_mapping": "2CA2", "symbol": "\u2CA3" }, 11429: { "value": "2CA5", "name": "COPTIC SMALL LETTER SIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA4", "lowercase_mapping": "", "titlecase_mapping": "2CA4", "symbol": "\u2CA5" }, 11431: { "value": "2CA7", "name": "COPTIC SMALL LETTER TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA6", "lowercase_mapping": "", "titlecase_mapping": "2CA6", "symbol": "\u2CA7" }, 11433: { "value": "2CA9", "name": "COPTIC SMALL LETTER UA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CA8", "lowercase_mapping": "", "titlecase_mapping": "2CA8", "symbol": "\u2CA9" }, 11435: { "value": "2CAB", "name": "COPTIC SMALL LETTER FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAA", "lowercase_mapping": "", "titlecase_mapping": "2CAA", "symbol": "\u2CAB" }, 11437: { "value": "2CAD", "name": "COPTIC SMALL LETTER KHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAC", "lowercase_mapping": "", "titlecase_mapping": "2CAC", "symbol": "\u2CAD" }, 11439: { "value": "2CAF", "name": "COPTIC SMALL LETTER PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CAE", "lowercase_mapping": "", "titlecase_mapping": "2CAE", "symbol": "\u2CAF" }, 11441: { "value": "2CB1", "name": "COPTIC SMALL LETTER OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB0", "lowercase_mapping": "", "titlecase_mapping": "2CB0", "symbol": "\u2CB1" }, 11443: { "value": "2CB3", "name": "COPTIC SMALL LETTER DIALECT-P ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB2", "lowercase_mapping": "", "titlecase_mapping": "2CB2", "symbol": "\u2CB3" }, 11445: { "value": "2CB5", "name": "COPTIC SMALL LETTER OLD COPTIC AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB4", "lowercase_mapping": "", "titlecase_mapping": "2CB4", "symbol": "\u2CB5" }, 11447: { "value": "2CB7", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC EIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB6", "lowercase_mapping": "", "titlecase_mapping": "2CB6", "symbol": "\u2CB7" }, 11449: { "value": "2CB9", "name": "COPTIC SMALL LETTER DIALECT-P KAPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CB8", "lowercase_mapping": "", "titlecase_mapping": "2CB8", "symbol": "\u2CB9" }, 11451: { "value": "2CBB", "name": "COPTIC SMALL LETTER DIALECT-P NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBA", "lowercase_mapping": "", "titlecase_mapping": "2CBA", "symbol": "\u2CBB" }, 11453: { "value": "2CBD", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBC", "lowercase_mapping": "", "titlecase_mapping": "2CBC", "symbol": "\u2CBD" }, 11455: { "value": "2CBF", "name": "COPTIC SMALL LETTER OLD COPTIC OOU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CBE", "lowercase_mapping": "", "titlecase_mapping": "2CBE", "symbol": "\u2CBF" }, 11457: { "value": "2CC1", "name": "COPTIC SMALL LETTER SAMPI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC0", "lowercase_mapping": "", "titlecase_mapping": "2CC0", "symbol": "\u2CC1" }, 11459: { "value": "2CC3", "name": "COPTIC SMALL LETTER CROSSED SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC2", "lowercase_mapping": "", "titlecase_mapping": "2CC2", "symbol": "\u2CC3" }, 11461: { "value": "2CC5", "name": "COPTIC SMALL LETTER OLD COPTIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC4", "lowercase_mapping": "", "titlecase_mapping": "2CC4", "symbol": "\u2CC5" }, 11463: { "value": "2CC7", "name": "COPTIC SMALL LETTER OLD COPTIC ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC6", "lowercase_mapping": "", "titlecase_mapping": "2CC6", "symbol": "\u2CC7" }, 11465: { "value": "2CC9", "name": "COPTIC SMALL LETTER AKHMIMIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CC8", "lowercase_mapping": "", "titlecase_mapping": "2CC8", "symbol": "\u2CC9" }, 11467: { "value": "2CCB", "name": "COPTIC SMALL LETTER DIALECT-P HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCA", "lowercase_mapping": "", "titlecase_mapping": "2CCA", "symbol": "\u2CCB" }, 11469: { "value": "2CCD", "name": "COPTIC SMALL LETTER OLD COPTIC HORI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCC", "lowercase_mapping": "", "titlecase_mapping": "2CCC", "symbol": "\u2CCD" }, 11471: { "value": "2CCF", "name": "COPTIC SMALL LETTER OLD COPTIC HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CCE", "lowercase_mapping": "", "titlecase_mapping": "2CCE", "symbol": "\u2CCF" }, 11473: { "value": "2CD1", "name": "COPTIC SMALL LETTER L-SHAPED HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD0", "lowercase_mapping": "", "titlecase_mapping": "2CD0", "symbol": "\u2CD1" }, 11475: { "value": "2CD3", "name": "COPTIC SMALL LETTER OLD COPTIC HEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD2", "lowercase_mapping": "", "titlecase_mapping": "2CD2", "symbol": "\u2CD3" }, 11477: { "value": "2CD5", "name": "COPTIC SMALL LETTER OLD COPTIC HAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD4", "lowercase_mapping": "", "titlecase_mapping": "2CD4", "symbol": "\u2CD5" }, 11479: { "value": "2CD7", "name": "COPTIC SMALL LETTER OLD COPTIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD6", "lowercase_mapping": "", "titlecase_mapping": "2CD6", "symbol": "\u2CD7" }, 11481: { "value": "2CD9", "name": "COPTIC SMALL LETTER OLD COPTIC DJA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CD8", "lowercase_mapping": "", "titlecase_mapping": "2CD8", "symbol": "\u2CD9" }, 11483: { "value": "2CDB", "name": "COPTIC SMALL LETTER OLD COPTIC SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDA", "lowercase_mapping": "", "titlecase_mapping": "2CDA", "symbol": "\u2CDB" }, 11485: { "value": "2CDD", "name": "COPTIC SMALL LETTER OLD NUBIAN SHIMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDC", "lowercase_mapping": "", "titlecase_mapping": "2CDC", "symbol": "\u2CDD" }, 11487: { "value": "2CDF", "name": "COPTIC SMALL LETTER OLD NUBIAN NGI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CDE", "lowercase_mapping": "", "titlecase_mapping": "2CDE", "symbol": "\u2CDF" }, 11489: { "value": "2CE1", "name": "COPTIC SMALL LETTER OLD NUBIAN NYI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE0", "lowercase_mapping": "", "titlecase_mapping": "2CE0", "symbol": "\u2CE1" }, 11491: { "value": "2CE3", "name": "COPTIC SMALL LETTER OLD NUBIAN WAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CE2", "lowercase_mapping": "", "titlecase_mapping": "2CE2", "symbol": "\u2CE3" }, 11492: { "value": "2CE4", "name": "COPTIC SYMBOL KAI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\u2CE4" }, 11500: { "value": "2CEC", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CEB", "lowercase_mapping": "", "titlecase_mapping": "2CEB", "symbol": "\u2CEC" }, 11502: { "value": "2CEE", "name": "COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CED", "lowercase_mapping": "", "titlecase_mapping": "2CED", "symbol": "\u2CEE" }, 11507: { "value": "2CF3", "name": "COPTIC SMALL LETTER BOHAIRIC KHEI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "2CF2", "lowercase_mapping": "", "titlecase_mapping": "2CF2", "symbol": "\u2CF3" }, 11520: { "value": "2D00", "name": "GEORGIAN SMALL LETTER AN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A0", "lowercase_mapping": "", "titlecase_mapping": "10A0", "symbol": "\u2D00" }, 11521: { "value": "2D01", "name": "GEORGIAN SMALL LETTER BAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A1", "lowercase_mapping": "", "titlecase_mapping": "10A1", "symbol": "\u2D01" }, 11522: { "value": "2D02", "name": "GEORGIAN SMALL LETTER GAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A2", "lowercase_mapping": "", "titlecase_mapping": "10A2", "symbol": "\u2D02" }, 11523: { "value": "2D03", "name": "GEORGIAN SMALL LETTER DON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A3", "lowercase_mapping": "", "titlecase_mapping": "10A3", "symbol": "\u2D03" }, 11524: { "value": "2D04", "name": "GEORGIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A4", "lowercase_mapping": "", "titlecase_mapping": "10A4", "symbol": "\u2D04" }, 11525: { "value": "2D05", "name": "GEORGIAN SMALL LETTER VIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A5", "lowercase_mapping": "", "titlecase_mapping": "10A5", "symbol": "\u2D05" }, 11526: { "value": "2D06", "name": "GEORGIAN SMALL LETTER ZEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A6", "lowercase_mapping": "", "titlecase_mapping": "10A6", "symbol": "\u2D06" }, 11527: { "value": "2D07", "name": "GEORGIAN SMALL LETTER TAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A7", "lowercase_mapping": "", "titlecase_mapping": "10A7", "symbol": "\u2D07" }, 11528: { "value": "2D08", "name": "GEORGIAN SMALL LETTER IN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A8", "lowercase_mapping": "", "titlecase_mapping": "10A8", "symbol": "\u2D08" }, 11529: { "value": "2D09", "name": "GEORGIAN SMALL LETTER KAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10A9", "lowercase_mapping": "", "titlecase_mapping": "10A9", "symbol": "\u2D09" }, 11530: { "value": "2D0A", "name": "GEORGIAN SMALL LETTER LAS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AA", "lowercase_mapping": "", "titlecase_mapping": "10AA", "symbol": "\u2D0A" }, 11531: { "value": "2D0B", "name": "GEORGIAN SMALL LETTER MAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AB", "lowercase_mapping": "", "titlecase_mapping": "10AB", "symbol": "\u2D0B" }, 11532: { "value": "2D0C", "name": "GEORGIAN SMALL LETTER NAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AC", "lowercase_mapping": "", "titlecase_mapping": "10AC", "symbol": "\u2D0C" }, 11533: { "value": "2D0D", "name": "GEORGIAN SMALL LETTER ON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AD", "lowercase_mapping": "", "titlecase_mapping": "10AD", "symbol": "\u2D0D" }, 11534: { "value": "2D0E", "name": "GEORGIAN SMALL LETTER PAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AE", "lowercase_mapping": "", "titlecase_mapping": "10AE", "symbol": "\u2D0E" }, 11535: { "value": "2D0F", "name": "GEORGIAN SMALL LETTER ZHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10AF", "lowercase_mapping": "", "titlecase_mapping": "10AF", "symbol": "\u2D0F" }, 11536: { "value": "2D10", "name": "GEORGIAN SMALL LETTER RAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B0", "lowercase_mapping": "", "titlecase_mapping": "10B0", "symbol": "\u2D10" }, 11537: { "value": "2D11", "name": "GEORGIAN SMALL LETTER SAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B1", "lowercase_mapping": "", "titlecase_mapping": "10B1", "symbol": "\u2D11" }, 11538: { "value": "2D12", "name": "GEORGIAN SMALL LETTER TAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B2", "lowercase_mapping": "", "titlecase_mapping": "10B2", "symbol": "\u2D12" }, 11539: { "value": "2D13", "name": "GEORGIAN SMALL LETTER UN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B3", "lowercase_mapping": "", "titlecase_mapping": "10B3", "symbol": "\u2D13" }, 11540: { "value": "2D14", "name": "GEORGIAN SMALL LETTER PHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B4", "lowercase_mapping": "", "titlecase_mapping": "10B4", "symbol": "\u2D14" }, 11541: { "value": "2D15", "name": "GEORGIAN SMALL LETTER KHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B5", "lowercase_mapping": "", "titlecase_mapping": "10B5", "symbol": "\u2D15" }, 11542: { "value": "2D16", "name": "GEORGIAN SMALL LETTER GHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B6", "lowercase_mapping": "", "titlecase_mapping": "10B6", "symbol": "\u2D16" }, 11543: { "value": "2D17", "name": "GEORGIAN SMALL LETTER QAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B7", "lowercase_mapping": "", "titlecase_mapping": "10B7", "symbol": "\u2D17" }, 11544: { "value": "2D18", "name": "GEORGIAN SMALL LETTER SHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B8", "lowercase_mapping": "", "titlecase_mapping": "10B8", "symbol": "\u2D18" }, 11545: { "value": "2D19", "name": "GEORGIAN SMALL LETTER CHIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10B9", "lowercase_mapping": "", "titlecase_mapping": "10B9", "symbol": "\u2D19" }, 11546: { "value": "2D1A", "name": "GEORGIAN SMALL LETTER CAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BA", "lowercase_mapping": "", "titlecase_mapping": "10BA", "symbol": "\u2D1A" }, 11547: { "value": "2D1B", "name": "GEORGIAN SMALL LETTER JIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BB", "lowercase_mapping": "", "titlecase_mapping": "10BB", "symbol": "\u2D1B" }, 11548: { "value": "2D1C", "name": "GEORGIAN SMALL LETTER CIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BC", "lowercase_mapping": "", "titlecase_mapping": "10BC", "symbol": "\u2D1C" }, 11549: { "value": "2D1D", "name": "GEORGIAN SMALL LETTER CHAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BD", "lowercase_mapping": "", "titlecase_mapping": "10BD", "symbol": "\u2D1D" }, 11550: { "value": "2D1E", "name": "GEORGIAN SMALL LETTER XAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BE", "lowercase_mapping": "", "titlecase_mapping": "10BE", "symbol": "\u2D1E" }, 11551: { "value": "2D1F", "name": "GEORGIAN SMALL LETTER JHAN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10BF", "lowercase_mapping": "", "titlecase_mapping": "10BF", "symbol": "\u2D1F" }, 11552: { "value": "2D20", "name": "GEORGIAN SMALL LETTER HAE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C0", "lowercase_mapping": "", "titlecase_mapping": "10C0", "symbol": "\u2D20" }, 11553: { "value": "2D21", "name": "GEORGIAN SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C1", "lowercase_mapping": "", "titlecase_mapping": "10C1", "symbol": "\u2D21" }, 11554: { "value": "2D22", "name": "GEORGIAN SMALL LETTER HIE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C2", "lowercase_mapping": "", "titlecase_mapping": "10C2", "symbol": "\u2D22" }, 11555: { "value": "2D23", "name": "GEORGIAN SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C3", "lowercase_mapping": "", "titlecase_mapping": "10C3", "symbol": "\u2D23" }, 11556: { "value": "2D24", "name": "GEORGIAN SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C4", "lowercase_mapping": "", "titlecase_mapping": "10C4", "symbol": "\u2D24" }, 11557: { "value": "2D25", "name": "GEORGIAN SMALL LETTER HOE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C5", "lowercase_mapping": "", "titlecase_mapping": "10C5", "symbol": "\u2D25" }, 11559: { "value": "2D27", "name": "GEORGIAN SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C7", "lowercase_mapping": "", "titlecase_mapping": "10C7", "symbol": "\u2D27" }, 11565: { "value": "2D2D", "name": "GEORGIAN SMALL LETTER AEN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CD", "lowercase_mapping": "", "titlecase_mapping": "10CD", "symbol": "\u2D2D" }, 42561: { "value": "A641", "name": "CYRILLIC SMALL LETTER ZEMLYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A640", "lowercase_mapping": "", "titlecase_mapping": "A640", "symbol": "\uA641" }, 42563: { "value": "A643", "name": "CYRILLIC SMALL LETTER DZELO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A642", "lowercase_mapping": "", "titlecase_mapping": "A642", "symbol": "\uA643" }, 42565: { "value": "A645", "name": "CYRILLIC SMALL LETTER REVERSED DZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A644", "lowercase_mapping": "", "titlecase_mapping": "A644", "symbol": "\uA645" }, 42567: { "value": "A647", "name": "CYRILLIC SMALL LETTER IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A646", "lowercase_mapping": "", "titlecase_mapping": "A646", "symbol": "\uA647" }, 42569: { "value": "A649", "name": "CYRILLIC SMALL LETTER DJERV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A648", "lowercase_mapping": "", "titlecase_mapping": "A648", "symbol": "\uA649" }, 42571: { "value": "A64B", "name": "CYRILLIC SMALL LETTER MONOGRAPH UK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64A", "lowercase_mapping": "", "titlecase_mapping": "A64A", "symbol": "\uA64B" }, 42573: { "value": "A64D", "name": "CYRILLIC SMALL LETTER BROAD OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64C", "lowercase_mapping": "", "titlecase_mapping": "A64C", "symbol": "\uA64D" }, 42575: { "value": "A64F", "name": "CYRILLIC SMALL LETTER NEUTRAL YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A64E", "lowercase_mapping": "", "titlecase_mapping": "A64E", "symbol": "\uA64F" }, 42577: { "value": "A651", "name": "CYRILLIC SMALL LETTER YERU WITH BACK YER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A650", "lowercase_mapping": "", "titlecase_mapping": "A650", "symbol": "\uA651" }, 42579: { "value": "A653", "name": "CYRILLIC SMALL LETTER IOTIFIED YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A652", "lowercase_mapping": "", "titlecase_mapping": "A652", "symbol": "\uA653" }, 42581: { "value": "A655", "name": "CYRILLIC SMALL LETTER REVERSED YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A654", "lowercase_mapping": "", "titlecase_mapping": "A654", "symbol": "\uA655" }, 42583: { "value": "A657", "name": "CYRILLIC SMALL LETTER IOTIFIED A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A656", "lowercase_mapping": "", "titlecase_mapping": "A656", "symbol": "\uA657" }, 42585: { "value": "A659", "name": "CYRILLIC SMALL LETTER CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A658", "lowercase_mapping": "", "titlecase_mapping": "A658", "symbol": "\uA659" }, 42587: { "value": "A65B", "name": "CYRILLIC SMALL LETTER BLENDED YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65A", "lowercase_mapping": "", "titlecase_mapping": "A65A", "symbol": "\uA65B" }, 42589: { "value": "A65D", "name": "CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65C", "lowercase_mapping": "", "titlecase_mapping": "A65C", "symbol": "\uA65D" }, 42591: { "value": "A65F", "name": "CYRILLIC SMALL LETTER YN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A65E", "lowercase_mapping": "", "titlecase_mapping": "A65E", "symbol": "\uA65F" }, 42593: { "value": "A661", "name": "CYRILLIC SMALL LETTER REVERSED TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A660", "lowercase_mapping": "", "titlecase_mapping": "A660", "symbol": "\uA661" }, 42595: { "value": "A663", "name": "CYRILLIC SMALL LETTER SOFT DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A662", "lowercase_mapping": "", "titlecase_mapping": "A662", "symbol": "\uA663" }, 42597: { "value": "A665", "name": "CYRILLIC SMALL LETTER SOFT EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A664", "lowercase_mapping": "", "titlecase_mapping": "A664", "symbol": "\uA665" }, 42599: { "value": "A667", "name": "CYRILLIC SMALL LETTER SOFT EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A666", "lowercase_mapping": "", "titlecase_mapping": "A666", "symbol": "\uA667" }, 42601: { "value": "A669", "name": "CYRILLIC SMALL LETTER MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A668", "lowercase_mapping": "", "titlecase_mapping": "A668", "symbol": "\uA669" }, 42603: { "value": "A66B", "name": "CYRILLIC SMALL LETTER BINOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66A", "lowercase_mapping": "", "titlecase_mapping": "A66A", "symbol": "\uA66B" }, 42605: { "value": "A66D", "name": "CYRILLIC SMALL LETTER DOUBLE MONOCULAR O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A66C", "lowercase_mapping": "", "titlecase_mapping": "A66C", "symbol": "\uA66D" }, 42625: { "value": "A681", "name": "CYRILLIC SMALL LETTER DWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A680", "lowercase_mapping": "", "titlecase_mapping": "A680", "symbol": "\uA681" }, 42627: { "value": "A683", "name": "CYRILLIC SMALL LETTER DZWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A682", "lowercase_mapping": "", "titlecase_mapping": "A682", "symbol": "\uA683" }, 42629: { "value": "A685", "name": "CYRILLIC SMALL LETTER ZHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A684", "lowercase_mapping": "", "titlecase_mapping": "A684", "symbol": "\uA685" }, 42631: { "value": "A687", "name": "CYRILLIC SMALL LETTER CCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A686", "lowercase_mapping": "", "titlecase_mapping": "A686", "symbol": "\uA687" }, 42633: { "value": "A689", "name": "CYRILLIC SMALL LETTER DZZE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A688", "lowercase_mapping": "", "titlecase_mapping": "A688", "symbol": "\uA689" }, 42635: { "value": "A68B", "name": "CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68A", "lowercase_mapping": "", "titlecase_mapping": "A68A", "symbol": "\uA68B" }, 42637: { "value": "A68D", "name": "CYRILLIC SMALL LETTER TWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68C", "lowercase_mapping": "", "titlecase_mapping": "A68C", "symbol": "\uA68D" }, 42639: { "value": "A68F", "name": "CYRILLIC SMALL LETTER TSWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A68E", "lowercase_mapping": "", "titlecase_mapping": "A68E", "symbol": "\uA68F" }, 42641: { "value": "A691", "name": "CYRILLIC SMALL LETTER TSSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A690", "lowercase_mapping": "", "titlecase_mapping": "A690", "symbol": "\uA691" }, 42643: { "value": "A693", "name": "CYRILLIC SMALL LETTER TCHE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A692", "lowercase_mapping": "", "titlecase_mapping": "A692", "symbol": "\uA693" }, 42645: { "value": "A695", "name": "CYRILLIC SMALL LETTER HWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A694", "lowercase_mapping": "", "titlecase_mapping": "A694", "symbol": "\uA695" }, 42647: { "value": "A697", "name": "CYRILLIC SMALL LETTER SHWE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A696", "lowercase_mapping": "", "titlecase_mapping": "A696", "symbol": "\uA697" }, 42649: { "value": "A699", "name": "CYRILLIC SMALL LETTER DOUBLE O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A698", "lowercase_mapping": "", "titlecase_mapping": "A698", "symbol": "\uA699" }, 42651: { "value": "A69B", "name": "CYRILLIC SMALL LETTER CROSSED O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A69A", "lowercase_mapping": "", "titlecase_mapping": "A69A", "symbol": "\uA69B" }, 42787: { "value": "A723", "name": "LATIN SMALL LETTER EGYPTOLOGICAL ALEF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A722", "lowercase_mapping": "", "titlecase_mapping": "A722", "symbol": "\uA723" }, 42789: { "value": "A725", "name": "LATIN SMALL LETTER EGYPTOLOGICAL AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A724", "lowercase_mapping": "", "titlecase_mapping": "A724", "symbol": "\uA725" }, 42791: { "value": "A727", "name": "LATIN SMALL LETTER HENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A726", "lowercase_mapping": "", "titlecase_mapping": "A726", "symbol": "\uA727" }, 42793: { "value": "A729", "name": "LATIN SMALL LETTER TZ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A728", "lowercase_mapping": "", "titlecase_mapping": "A728", "symbol": "\uA729" }, 42795: { "value": "A72B", "name": "LATIN SMALL LETTER TRESILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72A", "lowercase_mapping": "", "titlecase_mapping": "A72A", "symbol": "\uA72B" }, 42797: { "value": "A72D", "name": "LATIN SMALL LETTER CUATRILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72C", "lowercase_mapping": "", "titlecase_mapping": "A72C", "symbol": "\uA72D" }, 42799: { "value": "A72F", "name": "LATIN SMALL LETTER CUATRILLO WITH COMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A72E", "lowercase_mapping": "", "titlecase_mapping": "A72E", "symbol": "\uA72F" }, 42800: { "value": "A730", "name": "LATIN LETTER SMALL CAPITAL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA730" }, 42801: { "value": "A731", "name": "LATIN LETTER SMALL CAPITAL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA731" }, 42803: { "value": "A733", "name": "LATIN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A732", "lowercase_mapping": "", "titlecase_mapping": "A732", "symbol": "\uA733" }, 42805: { "value": "A735", "name": "LATIN SMALL LETTER AO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A734", "lowercase_mapping": "", "titlecase_mapping": "A734", "symbol": "\uA735" }, 42807: { "value": "A737", "name": "LATIN SMALL LETTER AU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A736", "lowercase_mapping": "", "titlecase_mapping": "A736", "symbol": "\uA737" }, 42809: { "value": "A739", "name": "LATIN SMALL LETTER AV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A738", "lowercase_mapping": "", "titlecase_mapping": "A738", "symbol": "\uA739" }, 42811: { "value": "A73B", "name": "LATIN SMALL LETTER AV WITH HORIZONTAL BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73A", "lowercase_mapping": "", "titlecase_mapping": "A73A", "symbol": "\uA73B" }, 42813: { "value": "A73D", "name": "LATIN SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73C", "lowercase_mapping": "", "titlecase_mapping": "A73C", "symbol": "\uA73D" }, 42815: { "value": "A73F", "name": "LATIN SMALL LETTER REVERSED C WITH DOT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A73E", "lowercase_mapping": "", "titlecase_mapping": "A73E", "symbol": "\uA73F" }, 42817: { "value": "A741", "name": "LATIN SMALL LETTER K WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A740", "lowercase_mapping": "", "titlecase_mapping": "A740", "symbol": "\uA741" }, 42819: { "value": "A743", "name": "LATIN SMALL LETTER K WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A742", "lowercase_mapping": "", "titlecase_mapping": "A742", "symbol": "\uA743" }, 42821: { "value": "A745", "name": "LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A744", "lowercase_mapping": "", "titlecase_mapping": "A744", "symbol": "\uA745" }, 42823: { "value": "A747", "name": "LATIN SMALL LETTER BROKEN L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A746", "lowercase_mapping": "", "titlecase_mapping": "A746", "symbol": "\uA747" }, 42825: { "value": "A749", "name": "LATIN SMALL LETTER L WITH HIGH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A748", "lowercase_mapping": "", "titlecase_mapping": "A748", "symbol": "\uA749" }, 42827: { "value": "A74B", "name": "LATIN SMALL LETTER O WITH LONG STROKE OVERLAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74A", "lowercase_mapping": "", "titlecase_mapping": "A74A", "symbol": "\uA74B" }, 42829: { "value": "A74D", "name": "LATIN SMALL LETTER O WITH LOOP", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74C", "lowercase_mapping": "", "titlecase_mapping": "A74C", "symbol": "\uA74D" }, 42831: { "value": "A74F", "name": "LATIN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A74E", "lowercase_mapping": "", "titlecase_mapping": "A74E", "symbol": "\uA74F" }, 42833: { "value": "A751", "name": "LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A750", "lowercase_mapping": "", "titlecase_mapping": "A750", "symbol": "\uA751" }, 42835: { "value": "A753", "name": "LATIN SMALL LETTER P WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A752", "lowercase_mapping": "", "titlecase_mapping": "A752", "symbol": "\uA753" }, 42837: { "value": "A755", "name": "LATIN SMALL LETTER P WITH SQUIRREL TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A754", "lowercase_mapping": "", "titlecase_mapping": "A754", "symbol": "\uA755" }, 42839: { "value": "A757", "name": "LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A756", "lowercase_mapping": "", "titlecase_mapping": "A756", "symbol": "\uA757" }, 42841: { "value": "A759", "name": "LATIN SMALL LETTER Q WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A758", "lowercase_mapping": "", "titlecase_mapping": "A758", "symbol": "\uA759" }, 42843: { "value": "A75B", "name": "LATIN SMALL LETTER R ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75A", "lowercase_mapping": "", "titlecase_mapping": "A75A", "symbol": "\uA75B" }, 42845: { "value": "A75D", "name": "LATIN SMALL LETTER RUM ROTUNDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75C", "lowercase_mapping": "", "titlecase_mapping": "A75C", "symbol": "\uA75D" }, 42847: { "value": "A75F", "name": "LATIN SMALL LETTER V WITH DIAGONAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A75E", "lowercase_mapping": "", "titlecase_mapping": "A75E", "symbol": "\uA75F" }, 42849: { "value": "A761", "name": "LATIN SMALL LETTER VY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A760", "lowercase_mapping": "", "titlecase_mapping": "A760", "symbol": "\uA761" }, 42851: { "value": "A763", "name": "LATIN SMALL LETTER VISIGOTHIC Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A762", "lowercase_mapping": "", "titlecase_mapping": "A762", "symbol": "\uA763" }, 42853: { "value": "A765", "name": "LATIN SMALL LETTER THORN WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A764", "lowercase_mapping": "", "titlecase_mapping": "A764", "symbol": "\uA765" }, 42855: { "value": "A767", "name": "LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A766", "lowercase_mapping": "", "titlecase_mapping": "A766", "symbol": "\uA767" }, 42857: { "value": "A769", "name": "LATIN SMALL LETTER VEND", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A768", "lowercase_mapping": "", "titlecase_mapping": "A768", "symbol": "\uA769" }, 42859: { "value": "A76B", "name": "LATIN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76A", "lowercase_mapping": "", "titlecase_mapping": "A76A", "symbol": "\uA76B" }, 42861: { "value": "A76D", "name": "LATIN SMALL LETTER IS", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76C", "lowercase_mapping": "", "titlecase_mapping": "A76C", "symbol": "\uA76D" }, 42863: { "value": "A76F", "name": "LATIN SMALL LETTER CON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A76E", "lowercase_mapping": "", "titlecase_mapping": "A76E", "symbol": "\uA76F" }, 42865: { "value": "A771", "name": "LATIN SMALL LETTER DUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA771" }, 42866: { "value": "A772", "name": "LATIN SMALL LETTER LUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA772" }, 42867: { "value": "A773", "name": "LATIN SMALL LETTER MUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA773" }, 42868: { "value": "A774", "name": "LATIN SMALL LETTER NUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA774" }, 42869: { "value": "A775", "name": "LATIN SMALL LETTER RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA775" }, 42870: { "value": "A776", "name": "LATIN LETTER SMALL CAPITAL RUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA776" }, 42871: { "value": "A777", "name": "LATIN SMALL LETTER TUM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA777" }, 42872: { "value": "A778", "name": "LATIN SMALL LETTER UM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA778" }, 42874: { "value": "A77A", "name": "LATIN SMALL LETTER INSULAR D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A779", "lowercase_mapping": "", "titlecase_mapping": "A779", "symbol": "\uA77A" }, 42876: { "value": "A77C", "name": "LATIN SMALL LETTER INSULAR F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77B", "lowercase_mapping": "", "titlecase_mapping": "A77B", "symbol": "\uA77C" }, 42879: { "value": "A77F", "name": "LATIN SMALL LETTER TURNED INSULAR G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A77E", "lowercase_mapping": "", "titlecase_mapping": "A77E", "symbol": "\uA77F" }, 42881: { "value": "A781", "name": "LATIN SMALL LETTER TURNED L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A780", "lowercase_mapping": "", "titlecase_mapping": "A780", "symbol": "\uA781" }, 42883: { "value": "A783", "name": "LATIN SMALL LETTER INSULAR R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A782", "lowercase_mapping": "", "titlecase_mapping": "A782", "symbol": "\uA783" }, 42885: { "value": "A785", "name": "LATIN SMALL LETTER INSULAR S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A784", "lowercase_mapping": "", "titlecase_mapping": "A784", "symbol": "\uA785" }, 42887: { "value": "A787", "name": "LATIN SMALL LETTER INSULAR T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A786", "lowercase_mapping": "", "titlecase_mapping": "A786", "symbol": "\uA787" }, 42892: { "value": "A78C", "name": "LATIN SMALL LETTER SALTILLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A78B", "lowercase_mapping": "", "titlecase_mapping": "A78B", "symbol": "\uA78C" }, 42894: { "value": "A78E", "name": "LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA78E" }, 42897: { "value": "A791", "name": "LATIN SMALL LETTER N WITH DESCENDER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A790", "lowercase_mapping": "", "titlecase_mapping": "A790", "symbol": "\uA791" }, 42899: { "value": "A793", "name": "LATIN SMALL LETTER C WITH BAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A792", "lowercase_mapping": "", "titlecase_mapping": "A792", "symbol": "\uA793" }, 42900: { "value": "A794", "name": "LATIN SMALL LETTER C WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA794" }, 42901: { "value": "A795", "name": "LATIN SMALL LETTER H WITH PALATAL HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA795" }, 42903: { "value": "A797", "name": "LATIN SMALL LETTER B WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A796", "lowercase_mapping": "", "titlecase_mapping": "A796", "symbol": "\uA797" }, 42905: { "value": "A799", "name": "LATIN SMALL LETTER F WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A798", "lowercase_mapping": "", "titlecase_mapping": "A798", "symbol": "\uA799" }, 42907: { "value": "A79B", "name": "LATIN SMALL LETTER VOLAPUK AE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79A", "lowercase_mapping": "", "titlecase_mapping": "A79A", "symbol": "\uA79B" }, 42909: { "value": "A79D", "name": "LATIN SMALL LETTER VOLAPUK OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79C", "lowercase_mapping": "", "titlecase_mapping": "A79C", "symbol": "\uA79D" }, 42911: { "value": "A79F", "name": "LATIN SMALL LETTER VOLAPUK UE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A79E", "lowercase_mapping": "", "titlecase_mapping": "A79E", "symbol": "\uA79F" }, 42913: { "value": "A7A1", "name": "LATIN SMALL LETTER G WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A0", "lowercase_mapping": "", "titlecase_mapping": "A7A0", "symbol": "\uA7A1" }, 42915: { "value": "A7A3", "name": "LATIN SMALL LETTER K WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A2", "lowercase_mapping": "", "titlecase_mapping": "A7A2", "symbol": "\uA7A3" }, 42917: { "value": "A7A5", "name": "LATIN SMALL LETTER N WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A4", "lowercase_mapping": "", "titlecase_mapping": "A7A4", "symbol": "\uA7A5" }, 42919: { "value": "A7A7", "name": "LATIN SMALL LETTER R WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A6", "lowercase_mapping": "", "titlecase_mapping": "A7A6", "symbol": "\uA7A7" }, 42921: { "value": "A7A9", "name": "LATIN SMALL LETTER S WITH OBLIQUE STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7A8", "lowercase_mapping": "", "titlecase_mapping": "A7A8", "symbol": "\uA7A9" }, 42933: { "value": "A7B5", "name": "LATIN SMALL LETTER BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B4", "lowercase_mapping": "", "titlecase_mapping": "A7B4", "symbol": "\uA7B5" }, 42935: { "value": "A7B7", "name": "LATIN SMALL LETTER OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B6", "lowercase_mapping": "", "titlecase_mapping": "A7B6", "symbol": "\uA7B7" }, 43002: { "value": "A7FA", "name": "LATIN LETTER SMALL CAPITAL TURNED M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uA7FA" }, 43824: { "value": "AB30", "name": "LATIN SMALL LETTER BARRED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB30" }, 43825: { "value": "AB31", "name": "LATIN SMALL LETTER A REVERSED-SCHWA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB31" }, 43826: { "value": "AB32", "name": "LATIN SMALL LETTER BLACKLETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB32" }, 43827: { "value": "AB33", "name": "LATIN SMALL LETTER BARRED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB33" }, 43828: { "value": "AB34", "name": "LATIN SMALL LETTER E WITH FLOURISH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB34" }, 43829: { "value": "AB35", "name": "LATIN SMALL LETTER LENIS F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB35" }, 43830: { "value": "AB36", "name": "LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB36" }, 43831: { "value": "AB37", "name": "LATIN SMALL LETTER L WITH INVERTED LAZY S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB37" }, 43832: { "value": "AB38", "name": "LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB38" }, 43833: { "value": "AB39", "name": "LATIN SMALL LETTER L WITH MIDDLE RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB39" }, 43834: { "value": "AB3A", "name": "LATIN SMALL LETTER M WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3A" }, 43835: { "value": "AB3B", "name": "LATIN SMALL LETTER N WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3B" }, 43836: { "value": "AB3C", "name": "LATIN SMALL LETTER ENG WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3C" }, 43837: { "value": "AB3D", "name": "LATIN SMALL LETTER BLACKLETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3D" }, 43838: { "value": "AB3E", "name": "LATIN SMALL LETTER BLACKLETTER O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3E" }, 43839: { "value": "AB3F", "name": "LATIN SMALL LETTER OPEN O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB3F" }, 43840: { "value": "AB40", "name": "LATIN SMALL LETTER INVERTED OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB40" }, 43841: { "value": "AB41", "name": "LATIN SMALL LETTER TURNED OE WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB41" }, 43842: { "value": "AB42", "name": "LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB42" }, 43843: { "value": "AB43", "name": "LATIN SMALL LETTER TURNED O OPEN-O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB43" }, 43844: { "value": "AB44", "name": "LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB44" }, 43845: { "value": "AB45", "name": "LATIN SMALL LETTER STIRRUP R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB45" }, 43846: { "value": "AB46", "name": "LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB46" }, 43847: { "value": "AB47", "name": "LATIN SMALL LETTER R WITHOUT HANDLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB47" }, 43848: { "value": "AB48", "name": "LATIN SMALL LETTER DOUBLE R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB48" }, 43849: { "value": "AB49", "name": "LATIN SMALL LETTER R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB49" }, 43850: { "value": "AB4A", "name": "LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4A" }, 43851: { "value": "AB4B", "name": "LATIN SMALL LETTER SCRIPT R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4B" }, 43852: { "value": "AB4C", "name": "LATIN SMALL LETTER SCRIPT R WITH RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4C" }, 43853: { "value": "AB4D", "name": "LATIN SMALL LETTER BASELINE ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4D" }, 43854: { "value": "AB4E", "name": "LATIN SMALL LETTER U WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4E" }, 43855: { "value": "AB4F", "name": "LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB4F" }, 43856: { "value": "AB50", "name": "LATIN SMALL LETTER UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB50" }, 43857: { "value": "AB51", "name": "LATIN SMALL LETTER TURNED UI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB51" }, 43858: { "value": "AB52", "name": "LATIN SMALL LETTER U WITH LEFT HOOK", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB52" }, 43859: { "value": "AB53", "name": "LATIN SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "A7B3", "lowercase_mapping": "", "titlecase_mapping": "A7B3", "symbol": "\uAB53" }, 43860: { "value": "AB54", "name": "LATIN SMALL LETTER CHI WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB54" }, 43861: { "value": "AB55", "name": "LATIN SMALL LETTER CHI WITH LOW LEFT SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB55" }, 43862: { "value": "AB56", "name": "LATIN SMALL LETTER X WITH LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB56" }, 43863: { "value": "AB57", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB57" }, 43864: { "value": "AB58", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB58" }, 43865: { "value": "AB59", "name": "LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB59" }, 43866: { "value": "AB5A", "name": "LATIN SMALL LETTER Y WITH SHORT RIGHT LEG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB5A" }, 43872: { "value": "AB60", "name": "LATIN SMALL LETTER SAKHA YAT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB60" }, 43873: { "value": "AB61", "name": "LATIN SMALL LETTER IOTIFIED E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB61" }, 43874: { "value": "AB62", "name": "LATIN SMALL LETTER OPEN OE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB62" }, 43875: { "value": "AB63", "name": "LATIN SMALL LETTER UO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB63" }, 43876: { "value": "AB64", "name": "LATIN SMALL LETTER INVERTED ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB64" }, 43877: { "value": "AB65", "name": "GREEK LETTER SMALL CAPITAL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uAB65" }, 43888: { "value": "AB70", "name": "CHEROKEE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A0", "lowercase_mapping": "", "titlecase_mapping": "13A0", "symbol": "\uAB70" }, 43889: { "value": "AB71", "name": "CHEROKEE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A1", "lowercase_mapping": "", "titlecase_mapping": "13A1", "symbol": "\uAB71" }, 43890: { "value": "AB72", "name": "CHEROKEE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A2", "lowercase_mapping": "", "titlecase_mapping": "13A2", "symbol": "\uAB72" }, 43891: { "value": "AB73", "name": "CHEROKEE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A3", "lowercase_mapping": "", "titlecase_mapping": "13A3", "symbol": "\uAB73" }, 43892: { "value": "AB74", "name": "CHEROKEE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A4", "lowercase_mapping": "", "titlecase_mapping": "13A4", "symbol": "\uAB74" }, 43893: { "value": "AB75", "name": "CHEROKEE SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A5", "lowercase_mapping": "", "titlecase_mapping": "13A5", "symbol": "\uAB75" }, 43894: { "value": "AB76", "name": "CHEROKEE SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A6", "lowercase_mapping": "", "titlecase_mapping": "13A6", "symbol": "\uAB76" }, 43895: { "value": "AB77", "name": "CHEROKEE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A7", "lowercase_mapping": "", "titlecase_mapping": "13A7", "symbol": "\uAB77" }, 43896: { "value": "AB78", "name": "CHEROKEE SMALL LETTER GE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A8", "lowercase_mapping": "", "titlecase_mapping": "13A8", "symbol": "\uAB78" }, 43897: { "value": "AB79", "name": "CHEROKEE SMALL LETTER GI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13A9", "lowercase_mapping": "", "titlecase_mapping": "13A9", "symbol": "\uAB79" }, 43898: { "value": "AB7A", "name": "CHEROKEE SMALL LETTER GO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AA", "lowercase_mapping": "", "titlecase_mapping": "13AA", "symbol": "\uAB7A" }, 43899: { "value": "AB7B", "name": "CHEROKEE SMALL LETTER GU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AB", "lowercase_mapping": "", "titlecase_mapping": "13AB", "symbol": "\uAB7B" }, 43900: { "value": "AB7C", "name": "CHEROKEE SMALL LETTER GV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AC", "lowercase_mapping": "", "titlecase_mapping": "13AC", "symbol": "\uAB7C" }, 43901: { "value": "AB7D", "name": "CHEROKEE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AD", "lowercase_mapping": "", "titlecase_mapping": "13AD", "symbol": "\uAB7D" }, 43902: { "value": "AB7E", "name": "CHEROKEE SMALL LETTER HE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AE", "lowercase_mapping": "", "titlecase_mapping": "13AE", "symbol": "\uAB7E" }, 43903: { "value": "AB7F", "name": "CHEROKEE SMALL LETTER HI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13AF", "lowercase_mapping": "", "titlecase_mapping": "13AF", "symbol": "\uAB7F" }, 43904: { "value": "AB80", "name": "CHEROKEE SMALL LETTER HO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B0", "lowercase_mapping": "", "titlecase_mapping": "13B0", "symbol": "\uAB80" }, 43905: { "value": "AB81", "name": "CHEROKEE SMALL LETTER HU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B1", "lowercase_mapping": "", "titlecase_mapping": "13B1", "symbol": "\uAB81" }, 43906: { "value": "AB82", "name": "CHEROKEE SMALL LETTER HV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B2", "lowercase_mapping": "", "titlecase_mapping": "13B2", "symbol": "\uAB82" }, 43907: { "value": "AB83", "name": "CHEROKEE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B3", "lowercase_mapping": "", "titlecase_mapping": "13B3", "symbol": "\uAB83" }, 43908: { "value": "AB84", "name": "CHEROKEE SMALL LETTER LE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B4", "lowercase_mapping": "", "titlecase_mapping": "13B4", "symbol": "\uAB84" }, 43909: { "value": "AB85", "name": "CHEROKEE SMALL LETTER LI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B5", "lowercase_mapping": "", "titlecase_mapping": "13B5", "symbol": "\uAB85" }, 43910: { "value": "AB86", "name": "CHEROKEE SMALL LETTER LO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B6", "lowercase_mapping": "", "titlecase_mapping": "13B6", "symbol": "\uAB86" }, 43911: { "value": "AB87", "name": "CHEROKEE SMALL LETTER LU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B7", "lowercase_mapping": "", "titlecase_mapping": "13B7", "symbol": "\uAB87" }, 43912: { "value": "AB88", "name": "CHEROKEE SMALL LETTER LV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B8", "lowercase_mapping": "", "titlecase_mapping": "13B8", "symbol": "\uAB88" }, 43913: { "value": "AB89", "name": "CHEROKEE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13B9", "lowercase_mapping": "", "titlecase_mapping": "13B9", "symbol": "\uAB89" }, 43914: { "value": "AB8A", "name": "CHEROKEE SMALL LETTER ME", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BA", "lowercase_mapping": "", "titlecase_mapping": "13BA", "symbol": "\uAB8A" }, 43915: { "value": "AB8B", "name": "CHEROKEE SMALL LETTER MI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BB", "lowercase_mapping": "", "titlecase_mapping": "13BB", "symbol": "\uAB8B" }, 43916: { "value": "AB8C", "name": "CHEROKEE SMALL LETTER MO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BC", "lowercase_mapping": "", "titlecase_mapping": "13BC", "symbol": "\uAB8C" }, 43917: { "value": "AB8D", "name": "CHEROKEE SMALL LETTER MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BD", "lowercase_mapping": "", "titlecase_mapping": "13BD", "symbol": "\uAB8D" }, 43918: { "value": "AB8E", "name": "CHEROKEE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BE", "lowercase_mapping": "", "titlecase_mapping": "13BE", "symbol": "\uAB8E" }, 43919: { "value": "AB8F", "name": "CHEROKEE SMALL LETTER HNA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13BF", "lowercase_mapping": "", "titlecase_mapping": "13BF", "symbol": "\uAB8F" }, 43920: { "value": "AB90", "name": "CHEROKEE SMALL LETTER NAH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C0", "lowercase_mapping": "", "titlecase_mapping": "13C0", "symbol": "\uAB90" }, 43921: { "value": "AB91", "name": "CHEROKEE SMALL LETTER NE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C1", "lowercase_mapping": "", "titlecase_mapping": "13C1", "symbol": "\uAB91" }, 43922: { "value": "AB92", "name": "CHEROKEE SMALL LETTER NI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C2", "lowercase_mapping": "", "titlecase_mapping": "13C2", "symbol": "\uAB92" }, 43923: { "value": "AB93", "name": "CHEROKEE SMALL LETTER NO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C3", "lowercase_mapping": "", "titlecase_mapping": "13C3", "symbol": "\uAB93" }, 43924: { "value": "AB94", "name": "CHEROKEE SMALL LETTER NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C4", "lowercase_mapping": "", "titlecase_mapping": "13C4", "symbol": "\uAB94" }, 43925: { "value": "AB95", "name": "CHEROKEE SMALL LETTER NV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C5", "lowercase_mapping": "", "titlecase_mapping": "13C5", "symbol": "\uAB95" }, 43926: { "value": "AB96", "name": "CHEROKEE SMALL LETTER QUA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C6", "lowercase_mapping": "", "titlecase_mapping": "13C6", "symbol": "\uAB96" }, 43927: { "value": "AB97", "name": "CHEROKEE SMALL LETTER QUE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C7", "lowercase_mapping": "", "titlecase_mapping": "13C7", "symbol": "\uAB97" }, 43928: { "value": "AB98", "name": "CHEROKEE SMALL LETTER QUI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C8", "lowercase_mapping": "", "titlecase_mapping": "13C8", "symbol": "\uAB98" }, 43929: { "value": "AB99", "name": "CHEROKEE SMALL LETTER QUO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13C9", "lowercase_mapping": "", "titlecase_mapping": "13C9", "symbol": "\uAB99" }, 43930: { "value": "AB9A", "name": "CHEROKEE SMALL LETTER QUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CA", "lowercase_mapping": "", "titlecase_mapping": "13CA", "symbol": "\uAB9A" }, 43931: { "value": "AB9B", "name": "CHEROKEE SMALL LETTER QUV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CB", "lowercase_mapping": "", "titlecase_mapping": "13CB", "symbol": "\uAB9B" }, 43932: { "value": "AB9C", "name": "CHEROKEE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CC", "lowercase_mapping": "", "titlecase_mapping": "13CC", "symbol": "\uAB9C" }, 43933: { "value": "AB9D", "name": "CHEROKEE SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CD", "lowercase_mapping": "", "titlecase_mapping": "13CD", "symbol": "\uAB9D" }, 43934: { "value": "AB9E", "name": "CHEROKEE SMALL LETTER SE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CE", "lowercase_mapping": "", "titlecase_mapping": "13CE", "symbol": "\uAB9E" }, 43935: { "value": "AB9F", "name": "CHEROKEE SMALL LETTER SI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13CF", "lowercase_mapping": "", "titlecase_mapping": "13CF", "symbol": "\uAB9F" }, 43936: { "value": "ABA0", "name": "CHEROKEE SMALL LETTER SO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D0", "lowercase_mapping": "", "titlecase_mapping": "13D0", "symbol": "\uABA0" }, 43937: { "value": "ABA1", "name": "CHEROKEE SMALL LETTER SU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D1", "lowercase_mapping": "", "titlecase_mapping": "13D1", "symbol": "\uABA1" }, 43938: { "value": "ABA2", "name": "CHEROKEE SMALL LETTER SV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D2", "lowercase_mapping": "", "titlecase_mapping": "13D2", "symbol": "\uABA2" }, 43939: { "value": "ABA3", "name": "CHEROKEE SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D3", "lowercase_mapping": "", "titlecase_mapping": "13D3", "symbol": "\uABA3" }, 43940: { "value": "ABA4", "name": "CHEROKEE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D4", "lowercase_mapping": "", "titlecase_mapping": "13D4", "symbol": "\uABA4" }, 43941: { "value": "ABA5", "name": "CHEROKEE SMALL LETTER DE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D5", "lowercase_mapping": "", "titlecase_mapping": "13D5", "symbol": "\uABA5" }, 43942: { "value": "ABA6", "name": "CHEROKEE SMALL LETTER TE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D6", "lowercase_mapping": "", "titlecase_mapping": "13D6", "symbol": "\uABA6" }, 43943: { "value": "ABA7", "name": "CHEROKEE SMALL LETTER DI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D7", "lowercase_mapping": "", "titlecase_mapping": "13D7", "symbol": "\uABA7" }, 43944: { "value": "ABA8", "name": "CHEROKEE SMALL LETTER TI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D8", "lowercase_mapping": "", "titlecase_mapping": "13D8", "symbol": "\uABA8" }, 43945: { "value": "ABA9", "name": "CHEROKEE SMALL LETTER DO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13D9", "lowercase_mapping": "", "titlecase_mapping": "13D9", "symbol": "\uABA9" }, 43946: { "value": "ABAA", "name": "CHEROKEE SMALL LETTER DU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DA", "lowercase_mapping": "", "titlecase_mapping": "13DA", "symbol": "\uABAA" }, 43947: { "value": "ABAB", "name": "CHEROKEE SMALL LETTER DV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DB", "lowercase_mapping": "", "titlecase_mapping": "13DB", "symbol": "\uABAB" }, 43948: { "value": "ABAC", "name": "CHEROKEE SMALL LETTER DLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DC", "lowercase_mapping": "", "titlecase_mapping": "13DC", "symbol": "\uABAC" }, 43949: { "value": "ABAD", "name": "CHEROKEE SMALL LETTER TLA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DD", "lowercase_mapping": "", "titlecase_mapping": "13DD", "symbol": "\uABAD" }, 43950: { "value": "ABAE", "name": "CHEROKEE SMALL LETTER TLE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DE", "lowercase_mapping": "", "titlecase_mapping": "13DE", "symbol": "\uABAE" }, 43951: { "value": "ABAF", "name": "CHEROKEE SMALL LETTER TLI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13DF", "lowercase_mapping": "", "titlecase_mapping": "13DF", "symbol": "\uABAF" }, 43952: { "value": "ABB0", "name": "CHEROKEE SMALL LETTER TLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E0", "lowercase_mapping": "", "titlecase_mapping": "13E0", "symbol": "\uABB0" }, 43953: { "value": "ABB1", "name": "CHEROKEE SMALL LETTER TLU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E1", "lowercase_mapping": "", "titlecase_mapping": "13E1", "symbol": "\uABB1" }, 43954: { "value": "ABB2", "name": "CHEROKEE SMALL LETTER TLV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E2", "lowercase_mapping": "", "titlecase_mapping": "13E2", "symbol": "\uABB2" }, 43955: { "value": "ABB3", "name": "CHEROKEE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E3", "lowercase_mapping": "", "titlecase_mapping": "13E3", "symbol": "\uABB3" }, 43956: { "value": "ABB4", "name": "CHEROKEE SMALL LETTER TSE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E4", "lowercase_mapping": "", "titlecase_mapping": "13E4", "symbol": "\uABB4" }, 43957: { "value": "ABB5", "name": "CHEROKEE SMALL LETTER TSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E5", "lowercase_mapping": "", "titlecase_mapping": "13E5", "symbol": "\uABB5" }, 43958: { "value": "ABB6", "name": "CHEROKEE SMALL LETTER TSO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E6", "lowercase_mapping": "", "titlecase_mapping": "13E6", "symbol": "\uABB6" }, 43959: { "value": "ABB7", "name": "CHEROKEE SMALL LETTER TSU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E7", "lowercase_mapping": "", "titlecase_mapping": "13E7", "symbol": "\uABB7" }, 43960: { "value": "ABB8", "name": "CHEROKEE SMALL LETTER TSV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E8", "lowercase_mapping": "", "titlecase_mapping": "13E8", "symbol": "\uABB8" }, 43961: { "value": "ABB9", "name": "CHEROKEE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13E9", "lowercase_mapping": "", "titlecase_mapping": "13E9", "symbol": "\uABB9" }, 43962: { "value": "ABBA", "name": "CHEROKEE SMALL LETTER WE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EA", "lowercase_mapping": "", "titlecase_mapping": "13EA", "symbol": "\uABBA" }, 43963: { "value": "ABBB", "name": "CHEROKEE SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EB", "lowercase_mapping": "", "titlecase_mapping": "13EB", "symbol": "\uABBB" }, 43964: { "value": "ABBC", "name": "CHEROKEE SMALL LETTER WO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EC", "lowercase_mapping": "", "titlecase_mapping": "13EC", "symbol": "\uABBC" }, 43965: { "value": "ABBD", "name": "CHEROKEE SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13ED", "lowercase_mapping": "", "titlecase_mapping": "13ED", "symbol": "\uABBD" }, 43966: { "value": "ABBE", "name": "CHEROKEE SMALL LETTER WV", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EE", "lowercase_mapping": "", "titlecase_mapping": "13EE", "symbol": "\uABBE" }, 43967: { "value": "ABBF", "name": "CHEROKEE SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "13EF", "lowercase_mapping": "", "titlecase_mapping": "13EF", "symbol": "\uABBF" }, 64256: { "value": "FB00", "name": "LATIN SMALL LIGATURE FF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB00" }, 64257: { "value": "FB01", "name": "LATIN SMALL LIGATURE FI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB01" }, 64258: { "value": "FB02", "name": "LATIN SMALL LIGATURE FL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB02" }, 64259: { "value": "FB03", "name": "LATIN SMALL LIGATURE FFI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB03" }, 64260: { "value": "FB04", "name": "LATIN SMALL LIGATURE FFL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066 0066 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB04" }, 64261: { "value": "FB05", "name": "LATIN SMALL LIGATURE LONG S T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 017F 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB05" }, 64262: { "value": "FB06", "name": "LATIN SMALL LIGATURE ST", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB06" }, 64275: { "value": "FB13", "name": "ARMENIAN SMALL LIGATURE MEN NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB13" }, 64276: { "value": "FB14", "name": "ARMENIAN SMALL LIGATURE MEN ECH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 0565", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB14" }, 64277: { "value": "FB15", "name": "ARMENIAN SMALL LIGATURE MEN INI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB15" }, 64278: { "value": "FB16", "name": "ARMENIAN SMALL LIGATURE VEW NOW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 057E 0576", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB16" }, 64279: { "value": "FB17", "name": "ARMENIAN SMALL LIGATURE MEN XEH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0574 056D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uFB17" }, 65345: { "value": "FF41", "name": "FULLWIDTH LATIN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF21", "lowercase_mapping": "", "titlecase_mapping": "FF21", "symbol": "\uFF41" }, 65346: { "value": "FF42", "name": "FULLWIDTH LATIN SMALL LETTER B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF22", "lowercase_mapping": "", "titlecase_mapping": "FF22", "symbol": "\uFF42" }, 65347: { "value": "FF43", "name": "FULLWIDTH LATIN SMALL LETTER C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF23", "lowercase_mapping": "", "titlecase_mapping": "FF23", "symbol": "\uFF43" }, 65348: { "value": "FF44", "name": "FULLWIDTH LATIN SMALL LETTER D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF24", "lowercase_mapping": "", "titlecase_mapping": "FF24", "symbol": "\uFF44" }, 65349: { "value": "FF45", "name": "FULLWIDTH LATIN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF25", "lowercase_mapping": "", "titlecase_mapping": "FF25", "symbol": "\uFF45" }, 65350: { "value": "FF46", "name": "FULLWIDTH LATIN SMALL LETTER F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF26", "lowercase_mapping": "", "titlecase_mapping": "FF26", "symbol": "\uFF46" }, 65351: { "value": "FF47", "name": "FULLWIDTH LATIN SMALL LETTER G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF27", "lowercase_mapping": "", "titlecase_mapping": "FF27", "symbol": "\uFF47" }, 65352: { "value": "FF48", "name": "FULLWIDTH LATIN SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF28", "lowercase_mapping": "", "titlecase_mapping": "FF28", "symbol": "\uFF48" }, 65353: { "value": "FF49", "name": "FULLWIDTH LATIN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF29", "lowercase_mapping": "", "titlecase_mapping": "FF29", "symbol": "\uFF49" }, 65354: { "value": "FF4A", "name": "FULLWIDTH LATIN SMALL LETTER J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2A", "lowercase_mapping": "", "titlecase_mapping": "FF2A", "symbol": "\uFF4A" }, 65355: { "value": "FF4B", "name": "FULLWIDTH LATIN SMALL LETTER K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2B", "lowercase_mapping": "", "titlecase_mapping": "FF2B", "symbol": "\uFF4B" }, 65356: { "value": "FF4C", "name": "FULLWIDTH LATIN SMALL LETTER L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2C", "lowercase_mapping": "", "titlecase_mapping": "FF2C", "symbol": "\uFF4C" }, 65357: { "value": "FF4D", "name": "FULLWIDTH LATIN SMALL LETTER M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2D", "lowercase_mapping": "", "titlecase_mapping": "FF2D", "symbol": "\uFF4D" }, 65358: { "value": "FF4E", "name": "FULLWIDTH LATIN SMALL LETTER N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2E", "lowercase_mapping": "", "titlecase_mapping": "FF2E", "symbol": "\uFF4E" }, 65359: { "value": "FF4F", "name": "FULLWIDTH LATIN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF2F", "lowercase_mapping": "", "titlecase_mapping": "FF2F", "symbol": "\uFF4F" }, 65360: { "value": "FF50", "name": "FULLWIDTH LATIN SMALL LETTER P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF30", "lowercase_mapping": "", "titlecase_mapping": "FF30", "symbol": "\uFF50" }, 65361: { "value": "FF51", "name": "FULLWIDTH LATIN SMALL LETTER Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF31", "lowercase_mapping": "", "titlecase_mapping": "FF31", "symbol": "\uFF51" }, 65362: { "value": "FF52", "name": "FULLWIDTH LATIN SMALL LETTER R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF32", "lowercase_mapping": "", "titlecase_mapping": "FF32", "symbol": "\uFF52" }, 65363: { "value": "FF53", "name": "FULLWIDTH LATIN SMALL LETTER S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF33", "lowercase_mapping": "", "titlecase_mapping": "FF33", "symbol": "\uFF53" }, 65364: { "value": "FF54", "name": "FULLWIDTH LATIN SMALL LETTER T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF34", "lowercase_mapping": "", "titlecase_mapping": "FF34", "symbol": "\uFF54" }, 65365: { "value": "FF55", "name": "FULLWIDTH LATIN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF35", "lowercase_mapping": "", "titlecase_mapping": "FF35", "symbol": "\uFF55" }, 65366: { "value": "FF56", "name": "FULLWIDTH LATIN SMALL LETTER V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF36", "lowercase_mapping": "", "titlecase_mapping": "FF36", "symbol": "\uFF56" }, 65367: { "value": "FF57", "name": "FULLWIDTH LATIN SMALL LETTER W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF37", "lowercase_mapping": "", "titlecase_mapping": "FF37", "symbol": "\uFF57" }, 65368: { "value": "FF58", "name": "FULLWIDTH LATIN SMALL LETTER X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF38", "lowercase_mapping": "", "titlecase_mapping": "FF38", "symbol": "\uFF58" }, 65369: { "value": "FF59", "name": "FULLWIDTH LATIN SMALL LETTER Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF39", "lowercase_mapping": "", "titlecase_mapping": "FF39", "symbol": "\uFF59" }, 65370: { "value": "FF5A", "name": "FULLWIDTH LATIN SMALL LETTER Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "FF3A", "lowercase_mapping": "", "titlecase_mapping": "FF3A", "symbol": "\uFF5A" }, 66600: { "value": "10428", "name": "DESERET SMALL LETTER LONG I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10400", "lowercase_mapping": "", "titlecase_mapping": "10400", "symbol": "\u0428" }, 66601: { "value": "10429", "name": "DESERET SMALL LETTER LONG E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10401", "lowercase_mapping": "", "titlecase_mapping": "10401", "symbol": "\u0429" }, 66602: { "value": "1042A", "name": "DESERET SMALL LETTER LONG A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10402", "lowercase_mapping": "", "titlecase_mapping": "10402", "symbol": "\u042A" }, 66603: { "value": "1042B", "name": "DESERET SMALL LETTER LONG AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10403", "lowercase_mapping": "", "titlecase_mapping": "10403", "symbol": "\u042B" }, 66604: { "value": "1042C", "name": "DESERET SMALL LETTER LONG O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10404", "lowercase_mapping": "", "titlecase_mapping": "10404", "symbol": "\u042C" }, 66605: { "value": "1042D", "name": "DESERET SMALL LETTER LONG OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10405", "lowercase_mapping": "", "titlecase_mapping": "10405", "symbol": "\u042D" }, 66606: { "value": "1042E", "name": "DESERET SMALL LETTER SHORT I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10406", "lowercase_mapping": "", "titlecase_mapping": "10406", "symbol": "\u042E" }, 66607: { "value": "1042F", "name": "DESERET SMALL LETTER SHORT E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10407", "lowercase_mapping": "", "titlecase_mapping": "10407", "symbol": "\u042F" }, 66608: { "value": "10430", "name": "DESERET SMALL LETTER SHORT A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10408", "lowercase_mapping": "", "titlecase_mapping": "10408", "symbol": "\u0430" }, 66609: { "value": "10431", "name": "DESERET SMALL LETTER SHORT AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10409", "lowercase_mapping": "", "titlecase_mapping": "10409", "symbol": "\u0431" }, 66610: { "value": "10432", "name": "DESERET SMALL LETTER SHORT O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040A", "lowercase_mapping": "", "titlecase_mapping": "1040A", "symbol": "\u0432" }, 66611: { "value": "10433", "name": "DESERET SMALL LETTER SHORT OO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040B", "lowercase_mapping": "", "titlecase_mapping": "1040B", "symbol": "\u0433" }, 66612: { "value": "10434", "name": "DESERET SMALL LETTER AY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040C", "lowercase_mapping": "", "titlecase_mapping": "1040C", "symbol": "\u0434" }, 66613: { "value": "10435", "name": "DESERET SMALL LETTER OW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040D", "lowercase_mapping": "", "titlecase_mapping": "1040D", "symbol": "\u0435" }, 66614: { "value": "10436", "name": "DESERET SMALL LETTER WU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040E", "lowercase_mapping": "", "titlecase_mapping": "1040E", "symbol": "\u0436" }, 66615: { "value": "10437", "name": "DESERET SMALL LETTER YEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1040F", "lowercase_mapping": "", "titlecase_mapping": "1040F", "symbol": "\u0437" }, 66616: { "value": "10438", "name": "DESERET SMALL LETTER H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10410", "lowercase_mapping": "", "titlecase_mapping": "10410", "symbol": "\u0438" }, 66617: { "value": "10439", "name": "DESERET SMALL LETTER PEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10411", "lowercase_mapping": "", "titlecase_mapping": "10411", "symbol": "\u0439" }, 66618: { "value": "1043A", "name": "DESERET SMALL LETTER BEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10412", "lowercase_mapping": "", "titlecase_mapping": "10412", "symbol": "\u043A" }, 66619: { "value": "1043B", "name": "DESERET SMALL LETTER TEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10413", "lowercase_mapping": "", "titlecase_mapping": "10413", "symbol": "\u043B" }, 66620: { "value": "1043C", "name": "DESERET SMALL LETTER DEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10414", "lowercase_mapping": "", "titlecase_mapping": "10414", "symbol": "\u043C" }, 66621: { "value": "1043D", "name": "DESERET SMALL LETTER CHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10415", "lowercase_mapping": "", "titlecase_mapping": "10415", "symbol": "\u043D" }, 66622: { "value": "1043E", "name": "DESERET SMALL LETTER JEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10416", "lowercase_mapping": "", "titlecase_mapping": "10416", "symbol": "\u043E" }, 66623: { "value": "1043F", "name": "DESERET SMALL LETTER KAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10417", "lowercase_mapping": "", "titlecase_mapping": "10417", "symbol": "\u043F" }, 66624: { "value": "10440", "name": "DESERET SMALL LETTER GAY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10418", "lowercase_mapping": "", "titlecase_mapping": "10418", "symbol": "\u0440" }, 66625: { "value": "10441", "name": "DESERET SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10419", "lowercase_mapping": "", "titlecase_mapping": "10419", "symbol": "\u0441" }, 66626: { "value": "10442", "name": "DESERET SMALL LETTER VEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041A", "lowercase_mapping": "", "titlecase_mapping": "1041A", "symbol": "\u0442" }, 66627: { "value": "10443", "name": "DESERET SMALL LETTER ETH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041B", "lowercase_mapping": "", "titlecase_mapping": "1041B", "symbol": "\u0443" }, 66628: { "value": "10444", "name": "DESERET SMALL LETTER THEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041C", "lowercase_mapping": "", "titlecase_mapping": "1041C", "symbol": "\u0444" }, 66629: { "value": "10445", "name": "DESERET SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041D", "lowercase_mapping": "", "titlecase_mapping": "1041D", "symbol": "\u0445" }, 66630: { "value": "10446", "name": "DESERET SMALL LETTER ZEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041E", "lowercase_mapping": "", "titlecase_mapping": "1041E", "symbol": "\u0446" }, 66631: { "value": "10447", "name": "DESERET SMALL LETTER ESH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1041F", "lowercase_mapping": "", "titlecase_mapping": "1041F", "symbol": "\u0447" }, 66632: { "value": "10448", "name": "DESERET SMALL LETTER ZHEE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10420", "lowercase_mapping": "", "titlecase_mapping": "10420", "symbol": "\u0448" }, 66633: { "value": "10449", "name": "DESERET SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10421", "lowercase_mapping": "", "titlecase_mapping": "10421", "symbol": "\u0449" }, 66634: { "value": "1044A", "name": "DESERET SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10422", "lowercase_mapping": "", "titlecase_mapping": "10422", "symbol": "\u044A" }, 66635: { "value": "1044B", "name": "DESERET SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10423", "lowercase_mapping": "", "titlecase_mapping": "10423", "symbol": "\u044B" }, 66636: { "value": "1044C", "name": "DESERET SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10424", "lowercase_mapping": "", "titlecase_mapping": "10424", "symbol": "\u044C" }, 66637: { "value": "1044D", "name": "DESERET SMALL LETTER ENG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10425", "lowercase_mapping": "", "titlecase_mapping": "10425", "symbol": "\u044D" }, 66638: { "value": "1044E", "name": "DESERET SMALL LETTER OI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10426", "lowercase_mapping": "", "titlecase_mapping": "10426", "symbol": "\u044E" }, 66639: { "value": "1044F", "name": "DESERET SMALL LETTER EW", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10427", "lowercase_mapping": "", "titlecase_mapping": "10427", "symbol": "\u044F" }, 66776: { "value": "104D8", "name": "OSAGE SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B0", "lowercase_mapping": "", "titlecase_mapping": "104B0", "symbol": "\u04D8" }, 66777: { "value": "104D9", "name": "OSAGE SMALL LETTER AI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B1", "lowercase_mapping": "", "titlecase_mapping": "104B1", "symbol": "\u04D9" }, 66778: { "value": "104DA", "name": "OSAGE SMALL LETTER AIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B2", "lowercase_mapping": "", "titlecase_mapping": "104B2", "symbol": "\u04DA" }, 66779: { "value": "104DB", "name": "OSAGE SMALL LETTER AH", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B3", "lowercase_mapping": "", "titlecase_mapping": "104B3", "symbol": "\u04DB" }, 66780: { "value": "104DC", "name": "OSAGE SMALL LETTER BRA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B4", "lowercase_mapping": "", "titlecase_mapping": "104B4", "symbol": "\u04DC" }, 66781: { "value": "104DD", "name": "OSAGE SMALL LETTER CHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B5", "lowercase_mapping": "", "titlecase_mapping": "104B5", "symbol": "\u04DD" }, 66782: { "value": "104DE", "name": "OSAGE SMALL LETTER EHCHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B6", "lowercase_mapping": "", "titlecase_mapping": "104B6", "symbol": "\u04DE" }, 66783: { "value": "104DF", "name": "OSAGE SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B7", "lowercase_mapping": "", "titlecase_mapping": "104B7", "symbol": "\u04DF" }, 66784: { "value": "104E0", "name": "OSAGE SMALL LETTER EIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B8", "lowercase_mapping": "", "titlecase_mapping": "104B8", "symbol": "\u04E0" }, 66785: { "value": "104E1", "name": "OSAGE SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104B9", "lowercase_mapping": "", "titlecase_mapping": "104B9", "symbol": "\u04E1" }, 66786: { "value": "104E2", "name": "OSAGE SMALL LETTER HYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BA", "lowercase_mapping": "", "titlecase_mapping": "104BA", "symbol": "\u04E2" }, 66787: { "value": "104E3", "name": "OSAGE SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BB", "lowercase_mapping": "", "titlecase_mapping": "104BB", "symbol": "\u04E3" }, 66788: { "value": "104E4", "name": "OSAGE SMALL LETTER KA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BC", "lowercase_mapping": "", "titlecase_mapping": "104BC", "symbol": "\u04E4" }, 66789: { "value": "104E5", "name": "OSAGE SMALL LETTER EHKA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BD", "lowercase_mapping": "", "titlecase_mapping": "104BD", "symbol": "\u04E5" }, 66790: { "value": "104E6", "name": "OSAGE SMALL LETTER KYA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BE", "lowercase_mapping": "", "titlecase_mapping": "104BE", "symbol": "\u04E6" }, 66791: { "value": "104E7", "name": "OSAGE SMALL LETTER LA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104BF", "lowercase_mapping": "", "titlecase_mapping": "104BF", "symbol": "\u04E7" }, 66792: { "value": "104E8", "name": "OSAGE SMALL LETTER MA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C0", "lowercase_mapping": "", "titlecase_mapping": "104C0", "symbol": "\u04E8" }, 66793: { "value": "104E9", "name": "OSAGE SMALL LETTER NA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C1", "lowercase_mapping": "", "titlecase_mapping": "104C1", "symbol": "\u04E9" }, 66794: { "value": "104EA", "name": "OSAGE SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C2", "lowercase_mapping": "", "titlecase_mapping": "104C2", "symbol": "\u04EA" }, 66795: { "value": "104EB", "name": "OSAGE SMALL LETTER OIN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C3", "lowercase_mapping": "", "titlecase_mapping": "104C3", "symbol": "\u04EB" }, 66796: { "value": "104EC", "name": "OSAGE SMALL LETTER PA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C4", "lowercase_mapping": "", "titlecase_mapping": "104C4", "symbol": "\u04EC" }, 66797: { "value": "104ED", "name": "OSAGE SMALL LETTER EHPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C5", "lowercase_mapping": "", "titlecase_mapping": "104C5", "symbol": "\u04ED" }, 66798: { "value": "104EE", "name": "OSAGE SMALL LETTER SA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C6", "lowercase_mapping": "", "titlecase_mapping": "104C6", "symbol": "\u04EE" }, 66799: { "value": "104EF", "name": "OSAGE SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C7", "lowercase_mapping": "", "titlecase_mapping": "104C7", "symbol": "\u04EF" }, 66800: { "value": "104F0", "name": "OSAGE SMALL LETTER TA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C8", "lowercase_mapping": "", "titlecase_mapping": "104C8", "symbol": "\u04F0" }, 66801: { "value": "104F1", "name": "OSAGE SMALL LETTER EHTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104C9", "lowercase_mapping": "", "titlecase_mapping": "104C9", "symbol": "\u04F1" }, 66802: { "value": "104F2", "name": "OSAGE SMALL LETTER TSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CA", "lowercase_mapping": "", "titlecase_mapping": "104CA", "symbol": "\u04F2" }, 66803: { "value": "104F3", "name": "OSAGE SMALL LETTER EHTSA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CB", "lowercase_mapping": "", "titlecase_mapping": "104CB", "symbol": "\u04F3" }, 66804: { "value": "104F4", "name": "OSAGE SMALL LETTER TSHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CC", "lowercase_mapping": "", "titlecase_mapping": "104CC", "symbol": "\u04F4" }, 66805: { "value": "104F5", "name": "OSAGE SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CD", "lowercase_mapping": "", "titlecase_mapping": "104CD", "symbol": "\u04F5" }, 66806: { "value": "104F6", "name": "OSAGE SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CE", "lowercase_mapping": "", "titlecase_mapping": "104CE", "symbol": "\u04F6" }, 66807: { "value": "104F7", "name": "OSAGE SMALL LETTER WA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104CF", "lowercase_mapping": "", "titlecase_mapping": "104CF", "symbol": "\u04F7" }, 66808: { "value": "104F8", "name": "OSAGE SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D0", "lowercase_mapping": "", "titlecase_mapping": "104D0", "symbol": "\u04F8" }, 66809: { "value": "104F9", "name": "OSAGE SMALL LETTER GHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D1", "lowercase_mapping": "", "titlecase_mapping": "104D1", "symbol": "\u04F9" }, 66810: { "value": "104FA", "name": "OSAGE SMALL LETTER ZA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D2", "lowercase_mapping": "", "titlecase_mapping": "104D2", "symbol": "\u04FA" }, 66811: { "value": "104FB", "name": "OSAGE SMALL LETTER ZHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "104D3", "lowercase_mapping": "", "titlecase_mapping": "104D3", "symbol": "\u04FB" }, 68800: { "value": "10CC0", "name": "OLD HUNGARIAN SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C80", "lowercase_mapping": "", "titlecase_mapping": "10C80", "symbol": "\u0CC0" }, 68801: { "value": "10CC1", "name": "OLD HUNGARIAN SMALL LETTER AA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C81", "lowercase_mapping": "", "titlecase_mapping": "10C81", "symbol": "\u0CC1" }, 68802: { "value": "10CC2", "name": "OLD HUNGARIAN SMALL LETTER EB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C82", "lowercase_mapping": "", "titlecase_mapping": "10C82", "symbol": "\u0CC2" }, 68803: { "value": "10CC3", "name": "OLD HUNGARIAN SMALL LETTER AMB", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C83", "lowercase_mapping": "", "titlecase_mapping": "10C83", "symbol": "\u0CC3" }, 68804: { "value": "10CC4", "name": "OLD HUNGARIAN SMALL LETTER EC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C84", "lowercase_mapping": "", "titlecase_mapping": "10C84", "symbol": "\u0CC4" }, 68805: { "value": "10CC5", "name": "OLD HUNGARIAN SMALL LETTER ENC", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C85", "lowercase_mapping": "", "titlecase_mapping": "10C85", "symbol": "\u0CC5" }, 68806: { "value": "10CC6", "name": "OLD HUNGARIAN SMALL LETTER ECS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C86", "lowercase_mapping": "", "titlecase_mapping": "10C86", "symbol": "\u0CC6" }, 68807: { "value": "10CC7", "name": "OLD HUNGARIAN SMALL LETTER ED", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C87", "lowercase_mapping": "", "titlecase_mapping": "10C87", "symbol": "\u0CC7" }, 68808: { "value": "10CC8", "name": "OLD HUNGARIAN SMALL LETTER AND", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C88", "lowercase_mapping": "", "titlecase_mapping": "10C88", "symbol": "\u0CC8" }, 68809: { "value": "10CC9", "name": "OLD HUNGARIAN SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C89", "lowercase_mapping": "", "titlecase_mapping": "10C89", "symbol": "\u0CC9" }, 68810: { "value": "10CCA", "name": "OLD HUNGARIAN SMALL LETTER CLOSE E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8A", "lowercase_mapping": "", "titlecase_mapping": "10C8A", "symbol": "\u0CCA" }, 68811: { "value": "10CCB", "name": "OLD HUNGARIAN SMALL LETTER EE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8B", "lowercase_mapping": "", "titlecase_mapping": "10C8B", "symbol": "\u0CCB" }, 68812: { "value": "10CCC", "name": "OLD HUNGARIAN SMALL LETTER EF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8C", "lowercase_mapping": "", "titlecase_mapping": "10C8C", "symbol": "\u0CCC" }, 68813: { "value": "10CCD", "name": "OLD HUNGARIAN SMALL LETTER EG", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8D", "lowercase_mapping": "", "titlecase_mapping": "10C8D", "symbol": "\u0CCD" }, 68814: { "value": "10CCE", "name": "OLD HUNGARIAN SMALL LETTER EGY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8E", "lowercase_mapping": "", "titlecase_mapping": "10C8E", "symbol": "\u0CCE" }, 68815: { "value": "10CCF", "name": "OLD HUNGARIAN SMALL LETTER EH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C8F", "lowercase_mapping": "", "titlecase_mapping": "10C8F", "symbol": "\u0CCF" }, 68816: { "value": "10CD0", "name": "OLD HUNGARIAN SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C90", "lowercase_mapping": "", "titlecase_mapping": "10C90", "symbol": "\u0CD0" }, 68817: { "value": "10CD1", "name": "OLD HUNGARIAN SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C91", "lowercase_mapping": "", "titlecase_mapping": "10C91", "symbol": "\u0CD1" }, 68818: { "value": "10CD2", "name": "OLD HUNGARIAN SMALL LETTER EJ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C92", "lowercase_mapping": "", "titlecase_mapping": "10C92", "symbol": "\u0CD2" }, 68819: { "value": "10CD3", "name": "OLD HUNGARIAN SMALL LETTER EK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C93", "lowercase_mapping": "", "titlecase_mapping": "10C93", "symbol": "\u0CD3" }, 68820: { "value": "10CD4", "name": "OLD HUNGARIAN SMALL LETTER AK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C94", "lowercase_mapping": "", "titlecase_mapping": "10C94", "symbol": "\u0CD4" }, 68821: { "value": "10CD5", "name": "OLD HUNGARIAN SMALL LETTER UNK", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C95", "lowercase_mapping": "", "titlecase_mapping": "10C95", "symbol": "\u0CD5" }, 68822: { "value": "10CD6", "name": "OLD HUNGARIAN SMALL LETTER EL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C96", "lowercase_mapping": "", "titlecase_mapping": "10C96", "symbol": "\u0CD6" }, 68823: { "value": "10CD7", "name": "OLD HUNGARIAN SMALL LETTER ELY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C97", "lowercase_mapping": "", "titlecase_mapping": "10C97", "symbol": "\u0CD7" }, 68824: { "value": "10CD8", "name": "OLD HUNGARIAN SMALL LETTER EM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C98", "lowercase_mapping": "", "titlecase_mapping": "10C98", "symbol": "\u0CD8" }, 68825: { "value": "10CD9", "name": "OLD HUNGARIAN SMALL LETTER EN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C99", "lowercase_mapping": "", "titlecase_mapping": "10C99", "symbol": "\u0CD9" }, 68826: { "value": "10CDA", "name": "OLD HUNGARIAN SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9A", "lowercase_mapping": "", "titlecase_mapping": "10C9A", "symbol": "\u0CDA" }, 68827: { "value": "10CDB", "name": "OLD HUNGARIAN SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9B", "lowercase_mapping": "", "titlecase_mapping": "10C9B", "symbol": "\u0CDB" }, 68828: { "value": "10CDC", "name": "OLD HUNGARIAN SMALL LETTER OO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9C", "lowercase_mapping": "", "titlecase_mapping": "10C9C", "symbol": "\u0CDC" }, 68829: { "value": "10CDD", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9D", "lowercase_mapping": "", "titlecase_mapping": "10C9D", "symbol": "\u0CDD" }, 68830: { "value": "10CDE", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA OE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9E", "lowercase_mapping": "", "titlecase_mapping": "10C9E", "symbol": "\u0CDE" }, 68831: { "value": "10CDF", "name": "OLD HUNGARIAN SMALL LETTER OEE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10C9F", "lowercase_mapping": "", "titlecase_mapping": "10C9F", "symbol": "\u0CDF" }, 68832: { "value": "10CE0", "name": "OLD HUNGARIAN SMALL LETTER EP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA0", "lowercase_mapping": "", "titlecase_mapping": "10CA0", "symbol": "\u0CE0" }, 68833: { "value": "10CE1", "name": "OLD HUNGARIAN SMALL LETTER EMP", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA1", "lowercase_mapping": "", "titlecase_mapping": "10CA1", "symbol": "\u0CE1" }, 68834: { "value": "10CE2", "name": "OLD HUNGARIAN SMALL LETTER ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA2", "lowercase_mapping": "", "titlecase_mapping": "10CA2", "symbol": "\u0CE2" }, 68835: { "value": "10CE3", "name": "OLD HUNGARIAN SMALL LETTER SHORT ER", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA3", "lowercase_mapping": "", "titlecase_mapping": "10CA3", "symbol": "\u0CE3" }, 68836: { "value": "10CE4", "name": "OLD HUNGARIAN SMALL LETTER ES", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA4", "lowercase_mapping": "", "titlecase_mapping": "10CA4", "symbol": "\u0CE4" }, 68837: { "value": "10CE5", "name": "OLD HUNGARIAN SMALL LETTER ESZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA5", "lowercase_mapping": "", "titlecase_mapping": "10CA5", "symbol": "\u0CE5" }, 68838: { "value": "10CE6", "name": "OLD HUNGARIAN SMALL LETTER ET", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA6", "lowercase_mapping": "", "titlecase_mapping": "10CA6", "symbol": "\u0CE6" }, 68839: { "value": "10CE7", "name": "OLD HUNGARIAN SMALL LETTER ENT", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA7", "lowercase_mapping": "", "titlecase_mapping": "10CA7", "symbol": "\u0CE7" }, 68840: { "value": "10CE8", "name": "OLD HUNGARIAN SMALL LETTER ETY", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA8", "lowercase_mapping": "", "titlecase_mapping": "10CA8", "symbol": "\u0CE8" }, 68841: { "value": "10CE9", "name": "OLD HUNGARIAN SMALL LETTER ECH", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CA9", "lowercase_mapping": "", "titlecase_mapping": "10CA9", "symbol": "\u0CE9" }, 68842: { "value": "10CEA", "name": "OLD HUNGARIAN SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAA", "lowercase_mapping": "", "titlecase_mapping": "10CAA", "symbol": "\u0CEA" }, 68843: { "value": "10CEB", "name": "OLD HUNGARIAN SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAB", "lowercase_mapping": "", "titlecase_mapping": "10CAB", "symbol": "\u0CEB" }, 68844: { "value": "10CEC", "name": "OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAC", "lowercase_mapping": "", "titlecase_mapping": "10CAC", "symbol": "\u0CEC" }, 68845: { "value": "10CED", "name": "OLD HUNGARIAN SMALL LETTER RUDIMENTA UE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAD", "lowercase_mapping": "", "titlecase_mapping": "10CAD", "symbol": "\u0CED" }, 68846: { "value": "10CEE", "name": "OLD HUNGARIAN SMALL LETTER EV", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAE", "lowercase_mapping": "", "titlecase_mapping": "10CAE", "symbol": "\u0CEE" }, 68847: { "value": "10CEF", "name": "OLD HUNGARIAN SMALL LETTER EZ", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CAF", "lowercase_mapping": "", "titlecase_mapping": "10CAF", "symbol": "\u0CEF" }, 68848: { "value": "10CF0", "name": "OLD HUNGARIAN SMALL LETTER EZS", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB0", "lowercase_mapping": "", "titlecase_mapping": "10CB0", "symbol": "\u0CF0" }, 68849: { "value": "10CF1", "name": "OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB1", "lowercase_mapping": "", "titlecase_mapping": "10CB1", "symbol": "\u0CF1" }, 68850: { "value": "10CF2", "name": "OLD HUNGARIAN SMALL LETTER US", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "10CB2", "lowercase_mapping": "", "titlecase_mapping": "10CB2", "symbol": "\u0CF2" }, 71872: { "value": "118C0", "name": "WARANG CITI SMALL LETTER NGAA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A0", "lowercase_mapping": "", "titlecase_mapping": "118A0", "symbol": "\u18C0" }, 71873: { "value": "118C1", "name": "WARANG CITI SMALL LETTER A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A1", "lowercase_mapping": "", "titlecase_mapping": "118A1", "symbol": "\u18C1" }, 71874: { "value": "118C2", "name": "WARANG CITI SMALL LETTER WI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A2", "lowercase_mapping": "", "titlecase_mapping": "118A2", "symbol": "\u18C2" }, 71875: { "value": "118C3", "name": "WARANG CITI SMALL LETTER YU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A3", "lowercase_mapping": "", "titlecase_mapping": "118A3", "symbol": "\u18C3" }, 71876: { "value": "118C4", "name": "WARANG CITI SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A4", "lowercase_mapping": "", "titlecase_mapping": "118A4", "symbol": "\u18C4" }, 71877: { "value": "118C5", "name": "WARANG CITI SMALL LETTER YO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A5", "lowercase_mapping": "", "titlecase_mapping": "118A5", "symbol": "\u18C5" }, 71878: { "value": "118C6", "name": "WARANG CITI SMALL LETTER II", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A6", "lowercase_mapping": "", "titlecase_mapping": "118A6", "symbol": "\u18C6" }, 71879: { "value": "118C7", "name": "WARANG CITI SMALL LETTER UU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A7", "lowercase_mapping": "", "titlecase_mapping": "118A7", "symbol": "\u18C7" }, 71880: { "value": "118C8", "name": "WARANG CITI SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A8", "lowercase_mapping": "", "titlecase_mapping": "118A8", "symbol": "\u18C8" }, 71881: { "value": "118C9", "name": "WARANG CITI SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118A9", "lowercase_mapping": "", "titlecase_mapping": "118A9", "symbol": "\u18C9" }, 71882: { "value": "118CA", "name": "WARANG CITI SMALL LETTER ANG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AA", "lowercase_mapping": "", "titlecase_mapping": "118AA", "symbol": "\u18CA" }, 71883: { "value": "118CB", "name": "WARANG CITI SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AB", "lowercase_mapping": "", "titlecase_mapping": "118AB", "symbol": "\u18CB" }, 71884: { "value": "118CC", "name": "WARANG CITI SMALL LETTER KO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AC", "lowercase_mapping": "", "titlecase_mapping": "118AC", "symbol": "\u18CC" }, 71885: { "value": "118CD", "name": "WARANG CITI SMALL LETTER ENY", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AD", "lowercase_mapping": "", "titlecase_mapping": "118AD", "symbol": "\u18CD" }, 71886: { "value": "118CE", "name": "WARANG CITI SMALL LETTER YUJ", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AE", "lowercase_mapping": "", "titlecase_mapping": "118AE", "symbol": "\u18CE" }, 71887: { "value": "118CF", "name": "WARANG CITI SMALL LETTER UC", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118AF", "lowercase_mapping": "", "titlecase_mapping": "118AF", "symbol": "\u18CF" }, 71888: { "value": "118D0", "name": "WARANG CITI SMALL LETTER ENN", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B0", "lowercase_mapping": "", "titlecase_mapping": "118B0", "symbol": "\u18D0" }, 71889: { "value": "118D1", "name": "WARANG CITI SMALL LETTER ODD", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B1", "lowercase_mapping": "", "titlecase_mapping": "118B1", "symbol": "\u18D1" }, 71890: { "value": "118D2", "name": "WARANG CITI SMALL LETTER TTE", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B2", "lowercase_mapping": "", "titlecase_mapping": "118B2", "symbol": "\u18D2" }, 71891: { "value": "118D3", "name": "WARANG CITI SMALL LETTER NUNG", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B3", "lowercase_mapping": "", "titlecase_mapping": "118B3", "symbol": "\u18D3" }, 71892: { "value": "118D4", "name": "WARANG CITI SMALL LETTER DA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B4", "lowercase_mapping": "", "titlecase_mapping": "118B4", "symbol": "\u18D4" }, 71893: { "value": "118D5", "name": "WARANG CITI SMALL LETTER AT", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B5", "lowercase_mapping": "", "titlecase_mapping": "118B5", "symbol": "\u18D5" }, 71894: { "value": "118D6", "name": "WARANG CITI SMALL LETTER AM", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B6", "lowercase_mapping": "", "titlecase_mapping": "118B6", "symbol": "\u18D6" }, 71895: { "value": "118D7", "name": "WARANG CITI SMALL LETTER BU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B7", "lowercase_mapping": "", "titlecase_mapping": "118B7", "symbol": "\u18D7" }, 71896: { "value": "118D8", "name": "WARANG CITI SMALL LETTER PU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B8", "lowercase_mapping": "", "titlecase_mapping": "118B8", "symbol": "\u18D8" }, 71897: { "value": "118D9", "name": "WARANG CITI SMALL LETTER HIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118B9", "lowercase_mapping": "", "titlecase_mapping": "118B9", "symbol": "\u18D9" }, 71898: { "value": "118DA", "name": "WARANG CITI SMALL LETTER HOLO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BA", "lowercase_mapping": "", "titlecase_mapping": "118BA", "symbol": "\u18DA" }, 71899: { "value": "118DB", "name": "WARANG CITI SMALL LETTER HORR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BB", "lowercase_mapping": "", "titlecase_mapping": "118BB", "symbol": "\u18DB" }, 71900: { "value": "118DC", "name": "WARANG CITI SMALL LETTER HAR", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BC", "lowercase_mapping": "", "titlecase_mapping": "118BC", "symbol": "\u18DC" }, 71901: { "value": "118DD", "name": "WARANG CITI SMALL LETTER SSUU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BD", "lowercase_mapping": "", "titlecase_mapping": "118BD", "symbol": "\u18DD" }, 71902: { "value": "118DE", "name": "WARANG CITI SMALL LETTER SII", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BE", "lowercase_mapping": "", "titlecase_mapping": "118BE", "symbol": "\u18DE" }, 71903: { "value": "118DF", "name": "WARANG CITI SMALL LETTER VIYO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "118BF", "lowercase_mapping": "", "titlecase_mapping": "118BF", "symbol": "\u18DF" }, 119834: { "value": "1D41A", "name": "MATHEMATICAL BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41A" }, 119835: { "value": "1D41B", "name": "MATHEMATICAL BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41B" }, 119836: { "value": "1D41C", "name": "MATHEMATICAL BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41C" }, 119837: { "value": "1D41D", "name": "MATHEMATICAL BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41D" }, 119838: { "value": "1D41E", "name": "MATHEMATICAL BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41E" }, 119839: { "value": "1D41F", "name": "MATHEMATICAL BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD41F" }, 119840: { "value": "1D420", "name": "MATHEMATICAL BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD420" }, 119841: { "value": "1D421", "name": "MATHEMATICAL BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD421" }, 119842: { "value": "1D422", "name": "MATHEMATICAL BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD422" }, 119843: { "value": "1D423", "name": "MATHEMATICAL BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD423" }, 119844: { "value": "1D424", "name": "MATHEMATICAL BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD424" }, 119845: { "value": "1D425", "name": "MATHEMATICAL BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD425" }, 119846: { "value": "1D426", "name": "MATHEMATICAL BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD426" }, 119847: { "value": "1D427", "name": "MATHEMATICAL BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD427" }, 119848: { "value": "1D428", "name": "MATHEMATICAL BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD428" }, 119849: { "value": "1D429", "name": "MATHEMATICAL BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD429" }, 119850: { "value": "1D42A", "name": "MATHEMATICAL BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42A" }, 119851: { "value": "1D42B", "name": "MATHEMATICAL BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42B" }, 119852: { "value": "1D42C", "name": "MATHEMATICAL BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42C" }, 119853: { "value": "1D42D", "name": "MATHEMATICAL BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42D" }, 119854: { "value": "1D42E", "name": "MATHEMATICAL BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42E" }, 119855: { "value": "1D42F", "name": "MATHEMATICAL BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD42F" }, 119856: { "value": "1D430", "name": "MATHEMATICAL BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD430" }, 119857: { "value": "1D431", "name": "MATHEMATICAL BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD431" }, 119858: { "value": "1D432", "name": "MATHEMATICAL BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD432" }, 119859: { "value": "1D433", "name": "MATHEMATICAL BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD433" }, 119886: { "value": "1D44E", "name": "MATHEMATICAL ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44E" }, 119887: { "value": "1D44F", "name": "MATHEMATICAL ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD44F" }, 119888: { "value": "1D450", "name": "MATHEMATICAL ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD450" }, 119889: { "value": "1D451", "name": "MATHEMATICAL ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD451" }, 119890: { "value": "1D452", "name": "MATHEMATICAL ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD452" }, 119891: { "value": "1D453", "name": "MATHEMATICAL ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD453" }, 119892: { "value": "1D454", "name": "MATHEMATICAL ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD454" }, 119894: { "value": "1D456", "name": "MATHEMATICAL ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD456" }, 119895: { "value": "1D457", "name": "MATHEMATICAL ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD457" }, 119896: { "value": "1D458", "name": "MATHEMATICAL ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD458" }, 119897: { "value": "1D459", "name": "MATHEMATICAL ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD459" }, 119898: { "value": "1D45A", "name": "MATHEMATICAL ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45A" }, 119899: { "value": "1D45B", "name": "MATHEMATICAL ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45B" }, 119900: { "value": "1D45C", "name": "MATHEMATICAL ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45C" }, 119901: { "value": "1D45D", "name": "MATHEMATICAL ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45D" }, 119902: { "value": "1D45E", "name": "MATHEMATICAL ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45E" }, 119903: { "value": "1D45F", "name": "MATHEMATICAL ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD45F" }, 119904: { "value": "1D460", "name": "MATHEMATICAL ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD460" }, 119905: { "value": "1D461", "name": "MATHEMATICAL ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD461" }, 119906: { "value": "1D462", "name": "MATHEMATICAL ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD462" }, 119907: { "value": "1D463", "name": "MATHEMATICAL ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD463" }, 119908: { "value": "1D464", "name": "MATHEMATICAL ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD464" }, 119909: { "value": "1D465", "name": "MATHEMATICAL ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD465" }, 119910: { "value": "1D466", "name": "MATHEMATICAL ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD466" }, 119911: { "value": "1D467", "name": "MATHEMATICAL ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD467" }, 119938: { "value": "1D482", "name": "MATHEMATICAL BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD482" }, 119939: { "value": "1D483", "name": "MATHEMATICAL BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD483" }, 119940: { "value": "1D484", "name": "MATHEMATICAL BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD484" }, 119941: { "value": "1D485", "name": "MATHEMATICAL BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD485" }, 119942: { "value": "1D486", "name": "MATHEMATICAL BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD486" }, 119943: { "value": "1D487", "name": "MATHEMATICAL BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD487" }, 119944: { "value": "1D488", "name": "MATHEMATICAL BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD488" }, 119945: { "value": "1D489", "name": "MATHEMATICAL BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD489" }, 119946: { "value": "1D48A", "name": "MATHEMATICAL BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48A" }, 119947: { "value": "1D48B", "name": "MATHEMATICAL BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48B" }, 119948: { "value": "1D48C", "name": "MATHEMATICAL BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48C" }, 119949: { "value": "1D48D", "name": "MATHEMATICAL BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48D" }, 119950: { "value": "1D48E", "name": "MATHEMATICAL BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48E" }, 119951: { "value": "1D48F", "name": "MATHEMATICAL BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD48F" }, 119952: { "value": "1D490", "name": "MATHEMATICAL BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD490" }, 119953: { "value": "1D491", "name": "MATHEMATICAL BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD491" }, 119954: { "value": "1D492", "name": "MATHEMATICAL BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD492" }, 119955: { "value": "1D493", "name": "MATHEMATICAL BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD493" }, 119956: { "value": "1D494", "name": "MATHEMATICAL BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD494" }, 119957: { "value": "1D495", "name": "MATHEMATICAL BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD495" }, 119958: { "value": "1D496", "name": "MATHEMATICAL BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD496" }, 119959: { "value": "1D497", "name": "MATHEMATICAL BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD497" }, 119960: { "value": "1D498", "name": "MATHEMATICAL BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD498" }, 119961: { "value": "1D499", "name": "MATHEMATICAL BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD499" }, 119962: { "value": "1D49A", "name": "MATHEMATICAL BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49A" }, 119963: { "value": "1D49B", "name": "MATHEMATICAL BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD49B" }, 119990: { "value": "1D4B6", "name": "MATHEMATICAL SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B6" }, 119991: { "value": "1D4B7", "name": "MATHEMATICAL SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B7" }, 119992: { "value": "1D4B8", "name": "MATHEMATICAL SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B8" }, 119993: { "value": "1D4B9", "name": "MATHEMATICAL SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4B9" }, 119995: { "value": "1D4BB", "name": "MATHEMATICAL SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BB" }, 119997: { "value": "1D4BD", "name": "MATHEMATICAL SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BD" }, 119998: { "value": "1D4BE", "name": "MATHEMATICAL SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BE" }, 119999: { "value": "1D4BF", "name": "MATHEMATICAL SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4BF" }, 120000: { "value": "1D4C0", "name": "MATHEMATICAL SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C0" }, 120001: { "value": "1D4C1", "name": "MATHEMATICAL SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C1" }, 120002: { "value": "1D4C2", "name": "MATHEMATICAL SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C2" }, 120003: { "value": "1D4C3", "name": "MATHEMATICAL SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C3" }, 120005: { "value": "1D4C5", "name": "MATHEMATICAL SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C5" }, 120006: { "value": "1D4C6", "name": "MATHEMATICAL SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C6" }, 120007: { "value": "1D4C7", "name": "MATHEMATICAL SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C7" }, 120008: { "value": "1D4C8", "name": "MATHEMATICAL SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C8" }, 120009: { "value": "1D4C9", "name": "MATHEMATICAL SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4C9" }, 120010: { "value": "1D4CA", "name": "MATHEMATICAL SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CA" }, 120011: { "value": "1D4CB", "name": "MATHEMATICAL SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CB" }, 120012: { "value": "1D4CC", "name": "MATHEMATICAL SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CC" }, 120013: { "value": "1D4CD", "name": "MATHEMATICAL SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CD" }, 120014: { "value": "1D4CE", "name": "MATHEMATICAL SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CE" }, 120015: { "value": "1D4CF", "name": "MATHEMATICAL SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4CF" }, 120042: { "value": "1D4EA", "name": "MATHEMATICAL BOLD SCRIPT SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EA" }, 120043: { "value": "1D4EB", "name": "MATHEMATICAL BOLD SCRIPT SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EB" }, 120044: { "value": "1D4EC", "name": "MATHEMATICAL BOLD SCRIPT SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EC" }, 120045: { "value": "1D4ED", "name": "MATHEMATICAL BOLD SCRIPT SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4ED" }, 120046: { "value": "1D4EE", "name": "MATHEMATICAL BOLD SCRIPT SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EE" }, 120047: { "value": "1D4EF", "name": "MATHEMATICAL BOLD SCRIPT SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4EF" }, 120048: { "value": "1D4F0", "name": "MATHEMATICAL BOLD SCRIPT SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F0" }, 120049: { "value": "1D4F1", "name": "MATHEMATICAL BOLD SCRIPT SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F1" }, 120050: { "value": "1D4F2", "name": "MATHEMATICAL BOLD SCRIPT SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F2" }, 120051: { "value": "1D4F3", "name": "MATHEMATICAL BOLD SCRIPT SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F3" }, 120052: { "value": "1D4F4", "name": "MATHEMATICAL BOLD SCRIPT SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F4" }, 120053: { "value": "1D4F5", "name": "MATHEMATICAL BOLD SCRIPT SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F5" }, 120054: { "value": "1D4F6", "name": "MATHEMATICAL BOLD SCRIPT SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F6" }, 120055: { "value": "1D4F7", "name": "MATHEMATICAL BOLD SCRIPT SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F7" }, 120056: { "value": "1D4F8", "name": "MATHEMATICAL BOLD SCRIPT SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F8" }, 120057: { "value": "1D4F9", "name": "MATHEMATICAL BOLD SCRIPT SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4F9" }, 120058: { "value": "1D4FA", "name": "MATHEMATICAL BOLD SCRIPT SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FA" }, 120059: { "value": "1D4FB", "name": "MATHEMATICAL BOLD SCRIPT SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FB" }, 120060: { "value": "1D4FC", "name": "MATHEMATICAL BOLD SCRIPT SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FC" }, 120061: { "value": "1D4FD", "name": "MATHEMATICAL BOLD SCRIPT SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FD" }, 120062: { "value": "1D4FE", "name": "MATHEMATICAL BOLD SCRIPT SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FE" }, 120063: { "value": "1D4FF", "name": "MATHEMATICAL BOLD SCRIPT SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD4FF" }, 120064: { "value": "1D500", "name": "MATHEMATICAL BOLD SCRIPT SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD500" }, 120065: { "value": "1D501", "name": "MATHEMATICAL BOLD SCRIPT SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD501" }, 120066: { "value": "1D502", "name": "MATHEMATICAL BOLD SCRIPT SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD502" }, 120067: { "value": "1D503", "name": "MATHEMATICAL BOLD SCRIPT SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD503" }, 120094: { "value": "1D51E", "name": "MATHEMATICAL FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51E" }, 120095: { "value": "1D51F", "name": "MATHEMATICAL FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD51F" }, 120096: { "value": "1D520", "name": "MATHEMATICAL FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD520" }, 120097: { "value": "1D521", "name": "MATHEMATICAL FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD521" }, 120098: { "value": "1D522", "name": "MATHEMATICAL FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD522" }, 120099: { "value": "1D523", "name": "MATHEMATICAL FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD523" }, 120100: { "value": "1D524", "name": "MATHEMATICAL FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD524" }, 120101: { "value": "1D525", "name": "MATHEMATICAL FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD525" }, 120102: { "value": "1D526", "name": "MATHEMATICAL FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD526" }, 120103: { "value": "1D527", "name": "MATHEMATICAL FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD527" }, 120104: { "value": "1D528", "name": "MATHEMATICAL FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD528" }, 120105: { "value": "1D529", "name": "MATHEMATICAL FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD529" }, 120106: { "value": "1D52A", "name": "MATHEMATICAL FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52A" }, 120107: { "value": "1D52B", "name": "MATHEMATICAL FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52B" }, 120108: { "value": "1D52C", "name": "MATHEMATICAL FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52C" }, 120109: { "value": "1D52D", "name": "MATHEMATICAL FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52D" }, 120110: { "value": "1D52E", "name": "MATHEMATICAL FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52E" }, 120111: { "value": "1D52F", "name": "MATHEMATICAL FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD52F" }, 120112: { "value": "1D530", "name": "MATHEMATICAL FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD530" }, 120113: { "value": "1D531", "name": "MATHEMATICAL FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD531" }, 120114: { "value": "1D532", "name": "MATHEMATICAL FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD532" }, 120115: { "value": "1D533", "name": "MATHEMATICAL FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD533" }, 120116: { "value": "1D534", "name": "MATHEMATICAL FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD534" }, 120117: { "value": "1D535", "name": "MATHEMATICAL FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD535" }, 120118: { "value": "1D536", "name": "MATHEMATICAL FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD536" }, 120119: { "value": "1D537", "name": "MATHEMATICAL FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD537" }, 120146: { "value": "1D552", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD552" }, 120147: { "value": "1D553", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD553" }, 120148: { "value": "1D554", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD554" }, 120149: { "value": "1D555", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD555" }, 120150: { "value": "1D556", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD556" }, 120151: { "value": "1D557", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD557" }, 120152: { "value": "1D558", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD558" }, 120153: { "value": "1D559", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD559" }, 120154: { "value": "1D55A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55A" }, 120155: { "value": "1D55B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55B" }, 120156: { "value": "1D55C", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55C" }, 120157: { "value": "1D55D", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55D" }, 120158: { "value": "1D55E", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55E" }, 120159: { "value": "1D55F", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD55F" }, 120160: { "value": "1D560", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD560" }, 120161: { "value": "1D561", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD561" }, 120162: { "value": "1D562", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD562" }, 120163: { "value": "1D563", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD563" }, 120164: { "value": "1D564", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD564" }, 120165: { "value": "1D565", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD565" }, 120166: { "value": "1D566", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD566" }, 120167: { "value": "1D567", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD567" }, 120168: { "value": "1D568", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD568" }, 120169: { "value": "1D569", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD569" }, 120170: { "value": "1D56A", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56A" }, 120171: { "value": "1D56B", "name": "MATHEMATICAL DOUBLE-STRUCK SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD56B" }, 120198: { "value": "1D586", "name": "MATHEMATICAL BOLD FRAKTUR SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD586" }, 120199: { "value": "1D587", "name": "MATHEMATICAL BOLD FRAKTUR SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD587" }, 120200: { "value": "1D588", "name": "MATHEMATICAL BOLD FRAKTUR SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD588" }, 120201: { "value": "1D589", "name": "MATHEMATICAL BOLD FRAKTUR SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD589" }, 120202: { "value": "1D58A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58A" }, 120203: { "value": "1D58B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58B" }, 120204: { "value": "1D58C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58C" }, 120205: { "value": "1D58D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58D" }, 120206: { "value": "1D58E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58E" }, 120207: { "value": "1D58F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD58F" }, 120208: { "value": "1D590", "name": "MATHEMATICAL BOLD FRAKTUR SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD590" }, 120209: { "value": "1D591", "name": "MATHEMATICAL BOLD FRAKTUR SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD591" }, 120210: { "value": "1D592", "name": "MATHEMATICAL BOLD FRAKTUR SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD592" }, 120211: { "value": "1D593", "name": "MATHEMATICAL BOLD FRAKTUR SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD593" }, 120212: { "value": "1D594", "name": "MATHEMATICAL BOLD FRAKTUR SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD594" }, 120213: { "value": "1D595", "name": "MATHEMATICAL BOLD FRAKTUR SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD595" }, 120214: { "value": "1D596", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD596" }, 120215: { "value": "1D597", "name": "MATHEMATICAL BOLD FRAKTUR SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD597" }, 120216: { "value": "1D598", "name": "MATHEMATICAL BOLD FRAKTUR SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD598" }, 120217: { "value": "1D599", "name": "MATHEMATICAL BOLD FRAKTUR SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD599" }, 120218: { "value": "1D59A", "name": "MATHEMATICAL BOLD FRAKTUR SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59A" }, 120219: { "value": "1D59B", "name": "MATHEMATICAL BOLD FRAKTUR SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59B" }, 120220: { "value": "1D59C", "name": "MATHEMATICAL BOLD FRAKTUR SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59C" }, 120221: { "value": "1D59D", "name": "MATHEMATICAL BOLD FRAKTUR SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59D" }, 120222: { "value": "1D59E", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59E" }, 120223: { "value": "1D59F", "name": "MATHEMATICAL BOLD FRAKTUR SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD59F" }, 120250: { "value": "1D5BA", "name": "MATHEMATICAL SANS-SERIF SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BA" }, 120251: { "value": "1D5BB", "name": "MATHEMATICAL SANS-SERIF SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BB" }, 120252: { "value": "1D5BC", "name": "MATHEMATICAL SANS-SERIF SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BC" }, 120253: { "value": "1D5BD", "name": "MATHEMATICAL SANS-SERIF SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BD" }, 120254: { "value": "1D5BE", "name": "MATHEMATICAL SANS-SERIF SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BE" }, 120255: { "value": "1D5BF", "name": "MATHEMATICAL SANS-SERIF SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5BF" }, 120256: { "value": "1D5C0", "name": "MATHEMATICAL SANS-SERIF SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C0" }, 120257: { "value": "1D5C1", "name": "MATHEMATICAL SANS-SERIF SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C1" }, 120258: { "value": "1D5C2", "name": "MATHEMATICAL SANS-SERIF SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C2" }, 120259: { "value": "1D5C3", "name": "MATHEMATICAL SANS-SERIF SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C3" }, 120260: { "value": "1D5C4", "name": "MATHEMATICAL SANS-SERIF SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C4" }, 120261: { "value": "1D5C5", "name": "MATHEMATICAL SANS-SERIF SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C5" }, 120262: { "value": "1D5C6", "name": "MATHEMATICAL SANS-SERIF SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C6" }, 120263: { "value": "1D5C7", "name": "MATHEMATICAL SANS-SERIF SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C7" }, 120264: { "value": "1D5C8", "name": "MATHEMATICAL SANS-SERIF SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C8" }, 120265: { "value": "1D5C9", "name": "MATHEMATICAL SANS-SERIF SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5C9" }, 120266: { "value": "1D5CA", "name": "MATHEMATICAL SANS-SERIF SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CA" }, 120267: { "value": "1D5CB", "name": "MATHEMATICAL SANS-SERIF SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CB" }, 120268: { "value": "1D5CC", "name": "MATHEMATICAL SANS-SERIF SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CC" }, 120269: { "value": "1D5CD", "name": "MATHEMATICAL SANS-SERIF SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CD" }, 120270: { "value": "1D5CE", "name": "MATHEMATICAL SANS-SERIF SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CE" }, 120271: { "value": "1D5CF", "name": "MATHEMATICAL SANS-SERIF SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5CF" }, 120272: { "value": "1D5D0", "name": "MATHEMATICAL SANS-SERIF SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D0" }, 120273: { "value": "1D5D1", "name": "MATHEMATICAL SANS-SERIF SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D1" }, 120274: { "value": "1D5D2", "name": "MATHEMATICAL SANS-SERIF SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D2" }, 120275: { "value": "1D5D3", "name": "MATHEMATICAL SANS-SERIF SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5D3" }, 120302: { "value": "1D5EE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EE" }, 120303: { "value": "1D5EF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5EF" }, 120304: { "value": "1D5F0", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F0" }, 120305: { "value": "1D5F1", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F1" }, 120306: { "value": "1D5F2", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F2" }, 120307: { "value": "1D5F3", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F3" }, 120308: { "value": "1D5F4", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F4" }, 120309: { "value": "1D5F5", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F5" }, 120310: { "value": "1D5F6", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F6" }, 120311: { "value": "1D5F7", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F7" }, 120312: { "value": "1D5F8", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F8" }, 120313: { "value": "1D5F9", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5F9" }, 120314: { "value": "1D5FA", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FA" }, 120315: { "value": "1D5FB", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FB" }, 120316: { "value": "1D5FC", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FC" }, 120317: { "value": "1D5FD", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FD" }, 120318: { "value": "1D5FE", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FE" }, 120319: { "value": "1D5FF", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD5FF" }, 120320: { "value": "1D600", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD600" }, 120321: { "value": "1D601", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD601" }, 120322: { "value": "1D602", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD602" }, 120323: { "value": "1D603", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD603" }, 120324: { "value": "1D604", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD604" }, 120325: { "value": "1D605", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD605" }, 120326: { "value": "1D606", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD606" }, 120327: { "value": "1D607", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD607" }, 120354: { "value": "1D622", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD622" }, 120355: { "value": "1D623", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD623" }, 120356: { "value": "1D624", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD624" }, 120357: { "value": "1D625", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD625" }, 120358: { "value": "1D626", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD626" }, 120359: { "value": "1D627", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD627" }, 120360: { "value": "1D628", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD628" }, 120361: { "value": "1D629", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD629" }, 120362: { "value": "1D62A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62A" }, 120363: { "value": "1D62B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62B" }, 120364: { "value": "1D62C", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62C" }, 120365: { "value": "1D62D", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62D" }, 120366: { "value": "1D62E", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62E" }, 120367: { "value": "1D62F", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD62F" }, 120368: { "value": "1D630", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD630" }, 120369: { "value": "1D631", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD631" }, 120370: { "value": "1D632", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD632" }, 120371: { "value": "1D633", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD633" }, 120372: { "value": "1D634", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD634" }, 120373: { "value": "1D635", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD635" }, 120374: { "value": "1D636", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD636" }, 120375: { "value": "1D637", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD637" }, 120376: { "value": "1D638", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD638" }, 120377: { "value": "1D639", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD639" }, 120378: { "value": "1D63A", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63A" }, 120379: { "value": "1D63B", "name": "MATHEMATICAL SANS-SERIF ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD63B" }, 120406: { "value": "1D656", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD656" }, 120407: { "value": "1D657", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD657" }, 120408: { "value": "1D658", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD658" }, 120409: { "value": "1D659", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD659" }, 120410: { "value": "1D65A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65A" }, 120411: { "value": "1D65B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65B" }, 120412: { "value": "1D65C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65C" }, 120413: { "value": "1D65D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65D" }, 120414: { "value": "1D65E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65E" }, 120415: { "value": "1D65F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD65F" }, 120416: { "value": "1D660", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD660" }, 120417: { "value": "1D661", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD661" }, 120418: { "value": "1D662", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD662" }, 120419: { "value": "1D663", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD663" }, 120420: { "value": "1D664", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD664" }, 120421: { "value": "1D665", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD665" }, 120422: { "value": "1D666", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD666" }, 120423: { "value": "1D667", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD667" }, 120424: { "value": "1D668", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD668" }, 120425: { "value": "1D669", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD669" }, 120426: { "value": "1D66A", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66A" }, 120427: { "value": "1D66B", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66B" }, 120428: { "value": "1D66C", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66C" }, 120429: { "value": "1D66D", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66D" }, 120430: { "value": "1D66E", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66E" }, 120431: { "value": "1D66F", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD66F" }, 120458: { "value": "1D68A", "name": "MATHEMATICAL MONOSPACE SMALL A", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0061", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68A" }, 120459: { "value": "1D68B", "name": "MATHEMATICAL MONOSPACE SMALL B", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0062", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68B" }, 120460: { "value": "1D68C", "name": "MATHEMATICAL MONOSPACE SMALL C", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0063", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68C" }, 120461: { "value": "1D68D", "name": "MATHEMATICAL MONOSPACE SMALL D", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0064", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68D" }, 120462: { "value": "1D68E", "name": "MATHEMATICAL MONOSPACE SMALL E", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0065", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68E" }, 120463: { "value": "1D68F", "name": "MATHEMATICAL MONOSPACE SMALL F", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0066", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD68F" }, 120464: { "value": "1D690", "name": "MATHEMATICAL MONOSPACE SMALL G", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0067", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD690" }, 120465: { "value": "1D691", "name": "MATHEMATICAL MONOSPACE SMALL H", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0068", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD691" }, 120466: { "value": "1D692", "name": "MATHEMATICAL MONOSPACE SMALL I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0069", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD692" }, 120467: { "value": "1D693", "name": "MATHEMATICAL MONOSPACE SMALL J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD693" }, 120468: { "value": "1D694", "name": "MATHEMATICAL MONOSPACE SMALL K", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006B", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD694" }, 120469: { "value": "1D695", "name": "MATHEMATICAL MONOSPACE SMALL L", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006C", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD695" }, 120470: { "value": "1D696", "name": "MATHEMATICAL MONOSPACE SMALL M", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006D", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD696" }, 120471: { "value": "1D697", "name": "MATHEMATICAL MONOSPACE SMALL N", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006E", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD697" }, 120472: { "value": "1D698", "name": "MATHEMATICAL MONOSPACE SMALL O", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 006F", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD698" }, 120473: { "value": "1D699", "name": "MATHEMATICAL MONOSPACE SMALL P", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0070", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD699" }, 120474: { "value": "1D69A", "name": "MATHEMATICAL MONOSPACE SMALL Q", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0071", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69A" }, 120475: { "value": "1D69B", "name": "MATHEMATICAL MONOSPACE SMALL R", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0072", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69B" }, 120476: { "value": "1D69C", "name": "MATHEMATICAL MONOSPACE SMALL S", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0073", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69C" }, 120477: { "value": "1D69D", "name": "MATHEMATICAL MONOSPACE SMALL T", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0074", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69D" }, 120478: { "value": "1D69E", "name": "MATHEMATICAL MONOSPACE SMALL U", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0075", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69E" }, 120479: { "value": "1D69F", "name": "MATHEMATICAL MONOSPACE SMALL V", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0076", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD69F" }, 120480: { "value": "1D6A0", "name": "MATHEMATICAL MONOSPACE SMALL W", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0077", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A0" }, 120481: { "value": "1D6A1", "name": "MATHEMATICAL MONOSPACE SMALL X", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0078", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A1" }, 120482: { "value": "1D6A2", "name": "MATHEMATICAL MONOSPACE SMALL Y", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0079", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A2" }, 120483: { "value": "1D6A3", "name": "MATHEMATICAL MONOSPACE SMALL Z", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 007A", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A3" }, 120484: { "value": "1D6A4", "name": "MATHEMATICAL ITALIC SMALL DOTLESS I", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0131", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A4" }, 120485: { "value": "1D6A5", "name": "MATHEMATICAL ITALIC SMALL DOTLESS J", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 0237", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6A5" }, 120514: { "value": "1D6C2", "name": "MATHEMATICAL BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C2" }, 120515: { "value": "1D6C3", "name": "MATHEMATICAL BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C3" }, 120516: { "value": "1D6C4", "name": "MATHEMATICAL BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C4" }, 120517: { "value": "1D6C5", "name": "MATHEMATICAL BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C5" }, 120518: { "value": "1D6C6", "name": "MATHEMATICAL BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C6" }, 120519: { "value": "1D6C7", "name": "MATHEMATICAL BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C7" }, 120520: { "value": "1D6C8", "name": "MATHEMATICAL BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C8" }, 120521: { "value": "1D6C9", "name": "MATHEMATICAL BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6C9" }, 120522: { "value": "1D6CA", "name": "MATHEMATICAL BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CA" }, 120523: { "value": "1D6CB", "name": "MATHEMATICAL BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CB" }, 120524: { "value": "1D6CC", "name": "MATHEMATICAL BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CC" }, 120525: { "value": "1D6CD", "name": "MATHEMATICAL BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CD" }, 120526: { "value": "1D6CE", "name": "MATHEMATICAL BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CE" }, 120527: { "value": "1D6CF", "name": "MATHEMATICAL BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6CF" }, 120528: { "value": "1D6D0", "name": "MATHEMATICAL BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D0" }, 120529: { "value": "1D6D1", "name": "MATHEMATICAL BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D1" }, 120530: { "value": "1D6D2", "name": "MATHEMATICAL BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D2" }, 120531: { "value": "1D6D3", "name": "MATHEMATICAL BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D3" }, 120532: { "value": "1D6D4", "name": "MATHEMATICAL BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D4" }, 120533: { "value": "1D6D5", "name": "MATHEMATICAL BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D5" }, 120534: { "value": "1D6D6", "name": "MATHEMATICAL BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D6" }, 120535: { "value": "1D6D7", "name": "MATHEMATICAL BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D7" }, 120536: { "value": "1D6D8", "name": "MATHEMATICAL BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D8" }, 120537: { "value": "1D6D9", "name": "MATHEMATICAL BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6D9" }, 120538: { "value": "1D6DA", "name": "MATHEMATICAL BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DA" }, 120540: { "value": "1D6DC", "name": "MATHEMATICAL BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DC" }, 120541: { "value": "1D6DD", "name": "MATHEMATICAL BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DD" }, 120542: { "value": "1D6DE", "name": "MATHEMATICAL BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DE" }, 120543: { "value": "1D6DF", "name": "MATHEMATICAL BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6DF" }, 120544: { "value": "1D6E0", "name": "MATHEMATICAL BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E0" }, 120545: { "value": "1D6E1", "name": "MATHEMATICAL BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6E1" }, 120572: { "value": "1D6FC", "name": "MATHEMATICAL ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FC" }, 120573: { "value": "1D6FD", "name": "MATHEMATICAL ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FD" }, 120574: { "value": "1D6FE", "name": "MATHEMATICAL ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FE" }, 120575: { "value": "1D6FF", "name": "MATHEMATICAL ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD6FF" }, 120576: { "value": "1D700", "name": "MATHEMATICAL ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD700" }, 120577: { "value": "1D701", "name": "MATHEMATICAL ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD701" }, 120578: { "value": "1D702", "name": "MATHEMATICAL ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD702" }, 120579: { "value": "1D703", "name": "MATHEMATICAL ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD703" }, 120580: { "value": "1D704", "name": "MATHEMATICAL ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD704" }, 120581: { "value": "1D705", "name": "MATHEMATICAL ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD705" }, 120582: { "value": "1D706", "name": "MATHEMATICAL ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD706" }, 120583: { "value": "1D707", "name": "MATHEMATICAL ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD707" }, 120584: { "value": "1D708", "name": "MATHEMATICAL ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD708" }, 120585: { "value": "1D709", "name": "MATHEMATICAL ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD709" }, 120586: { "value": "1D70A", "name": "MATHEMATICAL ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70A" }, 120587: { "value": "1D70B", "name": "MATHEMATICAL ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70B" }, 120588: { "value": "1D70C", "name": "MATHEMATICAL ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70C" }, 120589: { "value": "1D70D", "name": "MATHEMATICAL ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70D" }, 120590: { "value": "1D70E", "name": "MATHEMATICAL ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70E" }, 120591: { "value": "1D70F", "name": "MATHEMATICAL ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD70F" }, 120592: { "value": "1D710", "name": "MATHEMATICAL ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD710" }, 120593: { "value": "1D711", "name": "MATHEMATICAL ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD711" }, 120594: { "value": "1D712", "name": "MATHEMATICAL ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD712" }, 120595: { "value": "1D713", "name": "MATHEMATICAL ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD713" }, 120596: { "value": "1D714", "name": "MATHEMATICAL ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD714" }, 120598: { "value": "1D716", "name": "MATHEMATICAL ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD716" }, 120599: { "value": "1D717", "name": "MATHEMATICAL ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD717" }, 120600: { "value": "1D718", "name": "MATHEMATICAL ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD718" }, 120601: { "value": "1D719", "name": "MATHEMATICAL ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD719" }, 120602: { "value": "1D71A", "name": "MATHEMATICAL ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71A" }, 120603: { "value": "1D71B", "name": "MATHEMATICAL ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD71B" }, 120630: { "value": "1D736", "name": "MATHEMATICAL BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD736" }, 120631: { "value": "1D737", "name": "MATHEMATICAL BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD737" }, 120632: { "value": "1D738", "name": "MATHEMATICAL BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD738" }, 120633: { "value": "1D739", "name": "MATHEMATICAL BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD739" }, 120634: { "value": "1D73A", "name": "MATHEMATICAL BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73A" }, 120635: { "value": "1D73B", "name": "MATHEMATICAL BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73B" }, 120636: { "value": "1D73C", "name": "MATHEMATICAL BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73C" }, 120637: { "value": "1D73D", "name": "MATHEMATICAL BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73D" }, 120638: { "value": "1D73E", "name": "MATHEMATICAL BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73E" }, 120639: { "value": "1D73F", "name": "MATHEMATICAL BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD73F" }, 120640: { "value": "1D740", "name": "MATHEMATICAL BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD740" }, 120641: { "value": "1D741", "name": "MATHEMATICAL BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD741" }, 120642: { "value": "1D742", "name": "MATHEMATICAL BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD742" }, 120643: { "value": "1D743", "name": "MATHEMATICAL BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD743" }, 120644: { "value": "1D744", "name": "MATHEMATICAL BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD744" }, 120645: { "value": "1D745", "name": "MATHEMATICAL BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD745" }, 120646: { "value": "1D746", "name": "MATHEMATICAL BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD746" }, 120647: { "value": "1D747", "name": "MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD747" }, 120648: { "value": "1D748", "name": "MATHEMATICAL BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD748" }, 120649: { "value": "1D749", "name": "MATHEMATICAL BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD749" }, 120650: { "value": "1D74A", "name": "MATHEMATICAL BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74A" }, 120651: { "value": "1D74B", "name": "MATHEMATICAL BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74B" }, 120652: { "value": "1D74C", "name": "MATHEMATICAL BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74C" }, 120653: { "value": "1D74D", "name": "MATHEMATICAL BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74D" }, 120654: { "value": "1D74E", "name": "MATHEMATICAL BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD74E" }, 120656: { "value": "1D750", "name": "MATHEMATICAL BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD750" }, 120657: { "value": "1D751", "name": "MATHEMATICAL BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD751" }, 120658: { "value": "1D752", "name": "MATHEMATICAL BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD752" }, 120659: { "value": "1D753", "name": "MATHEMATICAL BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD753" }, 120660: { "value": "1D754", "name": "MATHEMATICAL BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD754" }, 120661: { "value": "1D755", "name": "MATHEMATICAL BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD755" }, 120688: { "value": "1D770", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD770" }, 120689: { "value": "1D771", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD771" }, 120690: { "value": "1D772", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD772" }, 120691: { "value": "1D773", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD773" }, 120692: { "value": "1D774", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD774" }, 120693: { "value": "1D775", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD775" }, 120694: { "value": "1D776", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD776" }, 120695: { "value": "1D777", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD777" }, 120696: { "value": "1D778", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD778" }, 120697: { "value": "1D779", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD779" }, 120698: { "value": "1D77A", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77A" }, 120699: { "value": "1D77B", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77B" }, 120700: { "value": "1D77C", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77C" }, 120701: { "value": "1D77D", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77D" }, 120702: { "value": "1D77E", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77E" }, 120703: { "value": "1D77F", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD77F" }, 120704: { "value": "1D780", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD780" }, 120705: { "value": "1D781", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD781" }, 120706: { "value": "1D782", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD782" }, 120707: { "value": "1D783", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD783" }, 120708: { "value": "1D784", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD784" }, 120709: { "value": "1D785", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD785" }, 120710: { "value": "1D786", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD786" }, 120711: { "value": "1D787", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD787" }, 120712: { "value": "1D788", "name": "MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD788" }, 120714: { "value": "1D78A", "name": "MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78A" }, 120715: { "value": "1D78B", "name": "MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78B" }, 120716: { "value": "1D78C", "name": "MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78C" }, 120717: { "value": "1D78D", "name": "MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78D" }, 120718: { "value": "1D78E", "name": "MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78E" }, 120719: { "value": "1D78F", "name": "MATHEMATICAL SANS-SERIF BOLD PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD78F" }, 120746: { "value": "1D7AA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AA" }, 120747: { "value": "1D7AB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AB" }, 120748: { "value": "1D7AC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AC" }, 120749: { "value": "1D7AD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AD" }, 120750: { "value": "1D7AE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AE" }, 120751: { "value": "1D7AF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7AF" }, 120752: { "value": "1D7B0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B0" }, 120753: { "value": "1D7B1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B1" }, 120754: { "value": "1D7B2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03B9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B2" }, 120755: { "value": "1D7B3", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BA", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B3" }, 120756: { "value": "1D7B4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BB", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B4" }, 120757: { "value": "1D7B5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BC", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B5" }, 120758: { "value": "1D7B6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B6" }, 120759: { "value": "1D7B7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BE", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B7" }, 120760: { "value": "1D7B8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03BF", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B8" }, 120761: { "value": "1D7B9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7B9" }, 120762: { "value": "1D7BA", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BA" }, 120763: { "value": "1D7BB", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C2", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BB" }, 120764: { "value": "1D7BC", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C3", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BC" }, 120765: { "value": "1D7BD", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C4", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BD" }, 120766: { "value": "1D7BE", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BE" }, 120767: { "value": "1D7BF", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7BF" }, 120768: { "value": "1D7C0", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C7", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C0" }, 120769: { "value": "1D7C1", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C8", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C1" }, 120770: { "value": "1D7C2", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03C9", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C2" }, 120772: { "value": "1D7C4", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C4" }, 120773: { "value": "1D7C5", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C5" }, 120774: { "value": "1D7C6", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F0", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C6" }, 120775: { "value": "1D7C7", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D5", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C7" }, 120776: { "value": "1D7C8", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03F1", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C8" }, 120777: { "value": "1D7C9", "name": "MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03D6", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7C9" }, 120779: { "value": "1D7CB", "name": "MATHEMATICAL BOLD SMALL DIGAMMA", "category": "Ll", "class": "0", "bidirectional_category": "L", "mapping": " 03DD", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "", "lowercase_mapping": "", "titlecase_mapping": "", "symbol": "\uD7CB" }, 125218: { "value": "1E922", "name": "ADLAM SMALL LETTER ALIF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E900", "lowercase_mapping": "", "titlecase_mapping": "1E900", "symbol": "\uE922" }, 125219: { "value": "1E923", "name": "ADLAM SMALL LETTER DAALI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E901", "lowercase_mapping": "", "titlecase_mapping": "1E901", "symbol": "\uE923" }, 125220: { "value": "1E924", "name": "ADLAM SMALL LETTER LAAM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E902", "lowercase_mapping": "", "titlecase_mapping": "1E902", "symbol": "\uE924" }, 125221: { "value": "1E925", "name": "ADLAM SMALL LETTER MIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E903", "lowercase_mapping": "", "titlecase_mapping": "1E903", "symbol": "\uE925" }, 125222: { "value": "1E926", "name": "ADLAM SMALL LETTER BA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E904", "lowercase_mapping": "", "titlecase_mapping": "1E904", "symbol": "\uE926" }, 125223: { "value": "1E927", "name": "ADLAM SMALL LETTER SINNYIIYHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E905", "lowercase_mapping": "", "titlecase_mapping": "1E905", "symbol": "\uE927" }, 125224: { "value": "1E928", "name": "ADLAM SMALL LETTER PE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E906", "lowercase_mapping": "", "titlecase_mapping": "1E906", "symbol": "\uE928" }, 125225: { "value": "1E929", "name": "ADLAM SMALL LETTER BHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E907", "lowercase_mapping": "", "titlecase_mapping": "1E907", "symbol": "\uE929" }, 125226: { "value": "1E92A", "name": "ADLAM SMALL LETTER RA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E908", "lowercase_mapping": "", "titlecase_mapping": "1E908", "symbol": "\uE92A" }, 125227: { "value": "1E92B", "name": "ADLAM SMALL LETTER E", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E909", "lowercase_mapping": "", "titlecase_mapping": "1E909", "symbol": "\uE92B" }, 125228: { "value": "1E92C", "name": "ADLAM SMALL LETTER FA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90A", "lowercase_mapping": "", "titlecase_mapping": "1E90A", "symbol": "\uE92C" }, 125229: { "value": "1E92D", "name": "ADLAM SMALL LETTER I", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90B", "lowercase_mapping": "", "titlecase_mapping": "1E90B", "symbol": "\uE92D" }, 125230: { "value": "1E92E", "name": "ADLAM SMALL LETTER O", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90C", "lowercase_mapping": "", "titlecase_mapping": "1E90C", "symbol": "\uE92E" }, 125231: { "value": "1E92F", "name": "ADLAM SMALL LETTER DHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90D", "lowercase_mapping": "", "titlecase_mapping": "1E90D", "symbol": "\uE92F" }, 125232: { "value": "1E930", "name": "ADLAM SMALL LETTER YHE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90E", "lowercase_mapping": "", "titlecase_mapping": "1E90E", "symbol": "\uE930" }, 125233: { "value": "1E931", "name": "ADLAM SMALL LETTER WAW", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E90F", "lowercase_mapping": "", "titlecase_mapping": "1E90F", "symbol": "\uE931" }, 125234: { "value": "1E932", "name": "ADLAM SMALL LETTER NUN", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E910", "lowercase_mapping": "", "titlecase_mapping": "1E910", "symbol": "\uE932" }, 125235: { "value": "1E933", "name": "ADLAM SMALL LETTER KAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E911", "lowercase_mapping": "", "titlecase_mapping": "1E911", "symbol": "\uE933" }, 125236: { "value": "1E934", "name": "ADLAM SMALL LETTER YA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E912", "lowercase_mapping": "", "titlecase_mapping": "1E912", "symbol": "\uE934" }, 125237: { "value": "1E935", "name": "ADLAM SMALL LETTER U", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E913", "lowercase_mapping": "", "titlecase_mapping": "1E913", "symbol": "\uE935" }, 125238: { "value": "1E936", "name": "ADLAM SMALL LETTER JIIM", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E914", "lowercase_mapping": "", "titlecase_mapping": "1E914", "symbol": "\uE936" }, 125239: { "value": "1E937", "name": "ADLAM SMALL LETTER CHI", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E915", "lowercase_mapping": "", "titlecase_mapping": "1E915", "symbol": "\uE937" }, 125240: { "value": "1E938", "name": "ADLAM SMALL LETTER HA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E916", "lowercase_mapping": "", "titlecase_mapping": "1E916", "symbol": "\uE938" }, 125241: { "value": "1E939", "name": "ADLAM SMALL LETTER QAAF", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E917", "lowercase_mapping": "", "titlecase_mapping": "1E917", "symbol": "\uE939" }, 125242: { "value": "1E93A", "name": "ADLAM SMALL LETTER GA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E918", "lowercase_mapping": "", "titlecase_mapping": "1E918", "symbol": "\uE93A" }, 125243: { "value": "1E93B", "name": "ADLAM SMALL LETTER NYA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E919", "lowercase_mapping": "", "titlecase_mapping": "1E919", "symbol": "\uE93B" }, 125244: { "value": "1E93C", "name": "ADLAM SMALL LETTER TU", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91A", "lowercase_mapping": "", "titlecase_mapping": "1E91A", "symbol": "\uE93C" }, 125245: { "value": "1E93D", "name": "ADLAM SMALL LETTER NHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91B", "lowercase_mapping": "", "titlecase_mapping": "1E91B", "symbol": "\uE93D" }, 125246: { "value": "1E93E", "name": "ADLAM SMALL LETTER VA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91C", "lowercase_mapping": "", "titlecase_mapping": "1E91C", "symbol": "\uE93E" }, 125247: { "value": "1E93F", "name": "ADLAM SMALL LETTER KHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91D", "lowercase_mapping": "", "titlecase_mapping": "1E91D", "symbol": "\uE93F" }, 125248: { "value": "1E940", "name": "ADLAM SMALL LETTER GBE", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91E", "lowercase_mapping": "", "titlecase_mapping": "1E91E", "symbol": "\uE940" }, 125249: { "value": "1E941", "name": "ADLAM SMALL LETTER ZAL", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E91F", "lowercase_mapping": "", "titlecase_mapping": "1E91F", "symbol": "\uE941" }, 125250: { "value": "1E942", "name": "ADLAM SMALL LETTER KPO", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E920", "lowercase_mapping": "", "titlecase_mapping": "1E920", "symbol": "\uE942" }, 125251: { "value": "1E943", "name": "ADLAM SMALL LETTER SHA", "category": "Ll", "class": "0", "bidirectional_category": "R", "mapping": "", "decimal_digit_value": "", "digit_value": "", "numeric_value": "", "mirrored": "N", "unicode_name": "", "comment": "", "uppercase_mapping": "1E921", "lowercase_mapping": "", "titlecase_mapping": "1E921", "symbol": "\uE943" } }; +Blake256.prototype._padding = function () { + var lo = this._length[0] + this._blockOffset * 8; + var hi = this._length[1]; + if (lo >= 0x0100000000) { + lo -= 0x0100000000; + hi += 1; + } -},{}],770:[function(require,module,exports){ -"use strict"; + var msglen = new Buffer(8); + msglen.writeUInt32BE(hi, 0); + msglen.writeUInt32BE(lo, 4); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + if (this._blockOffset === 55) { + this._length[0] -= 8; + this.update(this._oo); + } else { + if (this._blockOffset < 55) { + if (this._blockOffset === 0) this._nullt = true; + this._length[0] -= (55 - this._blockOffset) * 8; + this.update(Blake256.padding.slice(0, 55 - this._blockOffset)); + } else { + this._length[0] -= (64 - this._blockOffset) * 8; + this.update(Blake256.padding.slice(0, 64 - this._blockOffset)); + this._length[0] -= 55 * 8; + this.update(Blake256.padding.slice(1, 1 + 55)); + this._nullt = true; + } -(function (root) { - "use strict"; + this.update(this._zo); + this._length[0] -= 8; + } - /***** unorm.js *****/ + this._length[0] -= 64; + this.update(msglen); +}; - /* - * UnicodeNormalizer 1.0.0 - * Copyright (c) 2008 Matsuza - * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. - * $Date: 2008-06-05 16:44:17 +0200 (Thu, 05 Jun 2008) $ - * $Rev: 13309 $ - */ +Blake256.prototype.digest = function (encoding) { + this._padding(); - var DEFAULT_FEATURE = [null, 0, {}]; - var CACHE_THRESHOLD = 10; - var SBase = 0xAC00, - LBase = 0x1100, - VBase = 0x1161, - TBase = 0x11A7, - LCount = 19, - VCount = 21, - TCount = 28; - var NCount = VCount * TCount; // 588 - var SCount = LCount * NCount; // 11172 + var buffer = new Buffer(32); + for (var i = 0; i < 8; ++i) { + buffer.writeUInt32BE(this._h[i], i * 4); + }return buffer.toString(encoding); +}; - var UChar = function UChar(cp, feature) { - this.codepoint = cp; - this.feature = feature; - }; +module.exports = Blake256; - // Strategies - var cache = {}; - var cacheCounter = []; - for (var i = 0; i <= 0xFF; ++i) { - cacheCounter[i] = 0; - } +}).call(this,require("buffer").Buffer) +},{"buffer":256}],779:[function(require,module,exports){ +(function (process,global){ +/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.7.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2017 + * @license MIT + */ +/*jslint bitwise: true */ +'use strict'; - function fromCache(next, cp, needFeature) { - var ret = cache[cp]; - if (!ret) { - ret = next(cp, needFeature); - if (!!ret.feature && ++cacheCounter[cp >> 8 & 0xFF] > CACHE_THRESHOLD) { - cache[cp] = ret; - } - } - return ret; - } +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - function fromData(next, cp, needFeature) { - var hash = cp & 0xFF00; - var dunit = UChar.udata[hash] || {}; - var f = dunit[cp]; - return f ? new UChar(cp, f) : new UChar(cp, DEFAULT_FEATURE); - } - function fromCpOnly(next, cp, needFeature) { - return !!needFeature ? next(cp, needFeature) : new UChar(cp, null); - } - function fromRuleBasedJamo(next, cp, needFeature) { - var j; - if (cp < LBase || LBase + LCount <= cp && cp < SBase || SBase + SCount < cp) { - return next(cp, needFeature); - } - if (LBase <= cp && cp < LBase + LCount) { - var c = {}; - var base = (cp - LBase) * VCount; - for (j = 0; j < VCount; ++j) { - c[VBase + j] = SBase + TCount * (j + base); - } - return new UChar(cp, [,, c]); - } +var ERROR = 'input is invalid type'; +var WINDOW = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object'; +var root = WINDOW ? window : {}; +if (root.JS_SHA3_NO_WINDOW) { + WINDOW = false; +} +var WEB_WORKER = !WINDOW && (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object'; +var NODE_JS = !root.JS_SHA3_NO_NODE_JS && (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process.versions && process.versions.node; +if (NODE_JS) { + root = global; +} else if (WEB_WORKER) { + root = self; +} +var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; +var HEX_CHARS = '0123456789abcdef'.split(''); +var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; +var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; +var KECCAK_PADDING = [1, 256, 65536, 16777216]; +var PADDING = [6, 1536, 393216, 100663296]; +var SHIFT = [0, 8, 16, 24]; +var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; +var BITS = [224, 256, 384, 512]; +var SHAKE_BITS = [128, 256]; +var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest']; +var CSHAKE_BYTEPAD = { + '128': 168, + '256': 136 +}; - var SIndex = cp - SBase; - var TIndex = SIndex % TCount; - var feature = []; - if (TIndex !== 0) { - feature[0] = [SBase + SIndex - TIndex, TBase + TIndex]; - } else { - feature[0] = [LBase + Math.floor(SIndex / NCount), VBase + Math.floor(SIndex % NCount / TCount)]; - feature[2] = {}; - for (j = 1; j < TCount; ++j) { - feature[2][TBase + j] = cp + j; - } - } - return new UChar(cp, feature); - } - function fromCpFilter(next, cp, needFeature) { - return cp < 60 || 13311 < cp && cp < 42607 ? new UChar(cp, DEFAULT_FEATURE) : next(cp, needFeature); - } +if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { + Array.isArray = function (obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; + }; +} - var strategies = [fromCpFilter, fromCache, fromCpOnly, fromRuleBasedJamo, fromData]; +if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { + ArrayBuffer.isView = function (obj) { + return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer; + }; +} - UChar.fromCharCode = strategies.reduceRight(function (next, strategy) { - return function (cp, needFeature) { - return strategy(next, cp, needFeature); - }; - }, null); +var createOutputMethod = function createOutputMethod(bits, padding, outputType) { + return function (message) { + return new Keccak(bits, padding, bits).update(message)[outputType](); + }; +}; - UChar.isHighSurrogate = function (cp) { - return cp >= 0xD800 && cp <= 0xDBFF; - }; - UChar.isLowSurrogate = function (cp) { - return cp >= 0xDC00 && cp <= 0xDFFF; - }; +var createShakeOutputMethod = function createShakeOutputMethod(bits, padding, outputType) { + return function (message, outputBits) { + return new Keccak(bits, padding, outputBits).update(message)[outputType](); + }; +}; - UChar.prototype.prepFeature = function () { - if (!this.feature) { - this.feature = UChar.fromCharCode(this.codepoint, true).feature; - } - }; +var createCshakeOutputMethod = function createCshakeOutputMethod(bits, padding, outputType) { + return function (message, outputBits, n, s) { + return methods['cshake' + bits].update(message, outputBits, n, s)[outputType](); + }; +}; - UChar.prototype.toString = function () { - if (this.codepoint < 0x10000) { - return String.fromCharCode(this.codepoint); - } else { - var x = this.codepoint - 0x10000; - return String.fromCharCode(Math.floor(x / 0x400) + 0xD800, x % 0x400 + 0xDC00); - } - }; +var createKmacOutputMethod = function createKmacOutputMethod(bits, padding, outputType) { + return function (key, message, outputBits, s) { + return methods['kmac' + bits].update(key, message, outputBits, s)[outputType](); + }; +}; - UChar.prototype.getDecomp = function () { - this.prepFeature(); - return this.feature[0] || null; - }; +var createOutputMethods = function createOutputMethods(method, createMethod, bits, padding) { + for (var i = 0; i < OUTPUT_TYPES.length; ++i) { + var type = OUTPUT_TYPES[i]; + method[type] = createMethod(bits, padding, type); + } + return method; +}; - UChar.prototype.isCompatibility = function () { - this.prepFeature(); - return !!this.feature[1] && this.feature[1] & 1 << 8; - }; - UChar.prototype.isExclude = function () { - this.prepFeature(); - return !!this.feature[1] && this.feature[1] & 1 << 9; - }; - UChar.prototype.getCanonicalClass = function () { - this.prepFeature(); - return !!this.feature[1] ? this.feature[1] & 0xff : 0; - }; - UChar.prototype.getComposite = function (following) { - this.prepFeature(); - if (!this.feature[2]) { - return null; - } - var cp = this.feature[2][following.codepoint]; - return cp ? UChar.fromCharCode(cp) : null; - }; - - var UCharIterator = function UCharIterator(str) { - this.str = str; - this.cursor = 0; - }; - UCharIterator.prototype.next = function () { - if (!!this.str && this.cursor < this.str.length) { - var cp = this.str.charCodeAt(this.cursor++); - var d; - if (UChar.isHighSurrogate(cp) && this.cursor < this.str.length && UChar.isLowSurrogate(d = this.str.charCodeAt(this.cursor))) { - cp = (cp - 0xD800) * 0x400 + (d - 0xDC00) + 0x10000; - ++this.cursor; - } - return UChar.fromCharCode(cp); - } else { - this.str = null; - return null; - } - }; - - var RecursDecompIterator = function RecursDecompIterator(it, cano) { - this.it = it; - this.canonical = cano; - this.resBuf = []; - }; - - RecursDecompIterator.prototype.next = function () { - function recursiveDecomp(cano, uchar) { - var decomp = uchar.getDecomp(); - if (!!decomp && !(cano && uchar.isCompatibility())) { - var ret = []; - for (var i = 0; i < decomp.length; ++i) { - var a = recursiveDecomp(cano, UChar.fromCharCode(decomp[i])); - ret = ret.concat(a); - } - return ret; - } else { - return [uchar]; - } - } - if (this.resBuf.length === 0) { - var uchar = this.it.next(); - if (!uchar) { - return null; - } - this.resBuf = recursiveDecomp(this.canonical, uchar); - } - return this.resBuf.shift(); - }; - - var DecompIterator = function DecompIterator(it) { - this.it = it; - this.resBuf = []; - }; - - DecompIterator.prototype.next = function () { - var cc; - if (this.resBuf.length === 0) { - do { - var uchar = this.it.next(); - if (!uchar) { - break; - } - cc = uchar.getCanonicalClass(); - var inspt = this.resBuf.length; - if (cc !== 0) { - for (; inspt > 0; --inspt) { - var uchar2 = this.resBuf[inspt - 1]; - var cc2 = uchar2.getCanonicalClass(); - if (cc2 <= cc) { - break; - } - } - } - this.resBuf.splice(inspt, 0, uchar); - } while (cc !== 0); - } - return this.resBuf.shift(); - }; - - var CompIterator = function CompIterator(it) { - this.it = it; - this.procBuf = []; - this.resBuf = []; - this.lastClass = null; - }; - - CompIterator.prototype.next = function () { - while (this.resBuf.length === 0) { - var uchar = this.it.next(); - if (!uchar) { - this.resBuf = this.procBuf; - this.procBuf = []; - break; - } - if (this.procBuf.length === 0) { - this.lastClass = uchar.getCanonicalClass(); - this.procBuf.push(uchar); - } else { - var starter = this.procBuf[0]; - var composite = starter.getComposite(uchar); - var cc = uchar.getCanonicalClass(); - if (!!composite && (this.lastClass < cc || this.lastClass === 0)) { - this.procBuf[0] = composite; - } else { - if (cc === 0) { - this.resBuf = this.procBuf; - this.procBuf = []; - } - this.lastClass = cc; - this.procBuf.push(uchar); - } - } - } - return this.resBuf.shift(); - }; - - var createIterator = function createIterator(mode, str) { - switch (mode) { - case "NFD": - return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true)); - case "NFKD": - return new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false)); - case "NFC": - return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), true))); - case "NFKC": - return new CompIterator(new DecompIterator(new RecursDecompIterator(new UCharIterator(str), false))); - } - throw mode + " is invalid"; - }; - var normalize = function normalize(mode, str) { - var it = createIterator(mode, str); - var ret = ""; - var uchar; - while (!!(uchar = it.next())) { - ret += uchar.toString(); - } - return ret; - }; - - /* API functions */ - function nfd(str) { - return normalize("NFD", str); - } - - function nfkd(str) { - return normalize("NFKD", str); - } - - function nfc(str) { - return normalize("NFC", str); - } - - function nfkc(str) { - return normalize("NFKC", str); - } - - /* Unicode data */ - UChar.udata = { - 0: { 60: [,, { 824: 8814 }], 61: [,, { 824: 8800 }], 62: [,, { 824: 8815 }], 65: [,, { 768: 192, 769: 193, 770: 194, 771: 195, 772: 256, 774: 258, 775: 550, 776: 196, 777: 7842, 778: 197, 780: 461, 783: 512, 785: 514, 803: 7840, 805: 7680, 808: 260 }], 66: [,, { 775: 7682, 803: 7684, 817: 7686 }], 67: [,, { 769: 262, 770: 264, 775: 266, 780: 268, 807: 199 }], 68: [,, { 775: 7690, 780: 270, 803: 7692, 807: 7696, 813: 7698, 817: 7694 }], 69: [,, { 768: 200, 769: 201, 770: 202, 771: 7868, 772: 274, 774: 276, 775: 278, 776: 203, 777: 7866, 780: 282, 783: 516, 785: 518, 803: 7864, 807: 552, 808: 280, 813: 7704, 816: 7706 }], 70: [,, { 775: 7710 }], 71: [,, { 769: 500, 770: 284, 772: 7712, 774: 286, 775: 288, 780: 486, 807: 290 }], 72: [,, { 770: 292, 775: 7714, 776: 7718, 780: 542, 803: 7716, 807: 7720, 814: 7722 }], 73: [,, { 768: 204, 769: 205, 770: 206, 771: 296, 772: 298, 774: 300, 775: 304, 776: 207, 777: 7880, 780: 463, 783: 520, 785: 522, 803: 7882, 808: 302, 816: 7724 }], 74: [,, { 770: 308 }], 75: [,, { 769: 7728, 780: 488, 803: 7730, 807: 310, 817: 7732 }], 76: [,, { 769: 313, 780: 317, 803: 7734, 807: 315, 813: 7740, 817: 7738 }], 77: [,, { 769: 7742, 775: 7744, 803: 7746 }], 78: [,, { 768: 504, 769: 323, 771: 209, 775: 7748, 780: 327, 803: 7750, 807: 325, 813: 7754, 817: 7752 }], 79: [,, { 768: 210, 769: 211, 770: 212, 771: 213, 772: 332, 774: 334, 775: 558, 776: 214, 777: 7886, 779: 336, 780: 465, 783: 524, 785: 526, 795: 416, 803: 7884, 808: 490 }], 80: [,, { 769: 7764, 775: 7766 }], 82: [,, { 769: 340, 775: 7768, 780: 344, 783: 528, 785: 530, 803: 7770, 807: 342, 817: 7774 }], 83: [,, { 769: 346, 770: 348, 775: 7776, 780: 352, 803: 7778, 806: 536, 807: 350 }], 84: [,, { 775: 7786, 780: 356, 803: 7788, 806: 538, 807: 354, 813: 7792, 817: 7790 }], 85: [,, { 768: 217, 769: 218, 770: 219, 771: 360, 772: 362, 774: 364, 776: 220, 777: 7910, 778: 366, 779: 368, 780: 467, 783: 532, 785: 534, 795: 431, 803: 7908, 804: 7794, 808: 370, 813: 7798, 816: 7796 }], 86: [,, { 771: 7804, 803: 7806 }], 87: [,, { 768: 7808, 769: 7810, 770: 372, 775: 7814, 776: 7812, 803: 7816 }], 88: [,, { 775: 7818, 776: 7820 }], 89: [,, { 768: 7922, 769: 221, 770: 374, 771: 7928, 772: 562, 775: 7822, 776: 376, 777: 7926, 803: 7924 }], 90: [,, { 769: 377, 770: 7824, 775: 379, 780: 381, 803: 7826, 817: 7828 }], 97: [,, { 768: 224, 769: 225, 770: 226, 771: 227, 772: 257, 774: 259, 775: 551, 776: 228, 777: 7843, 778: 229, 780: 462, 783: 513, 785: 515, 803: 7841, 805: 7681, 808: 261 }], 98: [,, { 775: 7683, 803: 7685, 817: 7687 }], 99: [,, { 769: 263, 770: 265, 775: 267, 780: 269, 807: 231 }], 100: [,, { 775: 7691, 780: 271, 803: 7693, 807: 7697, 813: 7699, 817: 7695 }], 101: [,, { 768: 232, 769: 233, 770: 234, 771: 7869, 772: 275, 774: 277, 775: 279, 776: 235, 777: 7867, 780: 283, 783: 517, 785: 519, 803: 7865, 807: 553, 808: 281, 813: 7705, 816: 7707 }], 102: [,, { 775: 7711 }], 103: [,, { 769: 501, 770: 285, 772: 7713, 774: 287, 775: 289, 780: 487, 807: 291 }], 104: [,, { 770: 293, 775: 7715, 776: 7719, 780: 543, 803: 7717, 807: 7721, 814: 7723, 817: 7830 }], 105: [,, { 768: 236, 769: 237, 770: 238, 771: 297, 772: 299, 774: 301, 776: 239, 777: 7881, 780: 464, 783: 521, 785: 523, 803: 7883, 808: 303, 816: 7725 }], 106: [,, { 770: 309, 780: 496 }], 107: [,, { 769: 7729, 780: 489, 803: 7731, 807: 311, 817: 7733 }], 108: [,, { 769: 314, 780: 318, 803: 7735, 807: 316, 813: 7741, 817: 7739 }], 109: [,, { 769: 7743, 775: 7745, 803: 7747 }], 110: [,, { 768: 505, 769: 324, 771: 241, 775: 7749, 780: 328, 803: 7751, 807: 326, 813: 7755, 817: 7753 }], 111: [,, { 768: 242, 769: 243, 770: 244, 771: 245, 772: 333, 774: 335, 775: 559, 776: 246, 777: 7887, 779: 337, 780: 466, 783: 525, 785: 527, 795: 417, 803: 7885, 808: 491 }], 112: [,, { 769: 7765, 775: 7767 }], 114: [,, { 769: 341, 775: 7769, 780: 345, 783: 529, 785: 531, 803: 7771, 807: 343, 817: 7775 }], 115: [,, { 769: 347, 770: 349, 775: 7777, 780: 353, 803: 7779, 806: 537, 807: 351 }], 116: [,, { 775: 7787, 776: 7831, 780: 357, 803: 7789, 806: 539, 807: 355, 813: 7793, 817: 7791 }], 117: [,, { 768: 249, 769: 250, 770: 251, 771: 361, 772: 363, 774: 365, 776: 252, 777: 7911, 778: 367, 779: 369, 780: 468, 783: 533, 785: 535, 795: 432, 803: 7909, 804: 7795, 808: 371, 813: 7799, 816: 7797 }], 118: [,, { 771: 7805, 803: 7807 }], 119: [,, { 768: 7809, 769: 7811, 770: 373, 775: 7815, 776: 7813, 778: 7832, 803: 7817 }], 120: [,, { 775: 7819, 776: 7821 }], 121: [,, { 768: 7923, 769: 253, 770: 375, 771: 7929, 772: 563, 775: 7823, 776: 255, 777: 7927, 778: 7833, 803: 7925 }], 122: [,, { 769: 378, 770: 7825, 775: 380, 780: 382, 803: 7827, 817: 7829 }], 160: [[32], 256], 168: [[32, 776], 256, { 768: 8173, 769: 901, 834: 8129 }], 170: [[97], 256], 175: [[32, 772], 256], 178: [[50], 256], 179: [[51], 256], 180: [[32, 769], 256], 181: [[956], 256], 184: [[32, 807], 256], 185: [[49], 256], 186: [[111], 256], 188: [[49, 8260, 52], 256], 189: [[49, 8260, 50], 256], 190: [[51, 8260, 52], 256], 192: [[65, 768]], 193: [[65, 769]], 194: [[65, 770],, { 768: 7846, 769: 7844, 771: 7850, 777: 7848 }], 195: [[65, 771]], 196: [[65, 776],, { 772: 478 }], 197: [[65, 778],, { 769: 506 }], 198: [,, { 769: 508, 772: 482 }], 199: [[67, 807],, { 769: 7688 }], 200: [[69, 768]], 201: [[69, 769]], 202: [[69, 770],, { 768: 7872, 769: 7870, 771: 7876, 777: 7874 }], 203: [[69, 776]], 204: [[73, 768]], 205: [[73, 769]], 206: [[73, 770]], 207: [[73, 776],, { 769: 7726 }], 209: [[78, 771]], 210: [[79, 768]], 211: [[79, 769]], 212: [[79, 770],, { 768: 7890, 769: 7888, 771: 7894, 777: 7892 }], 213: [[79, 771],, { 769: 7756, 772: 556, 776: 7758 }], 214: [[79, 776],, { 772: 554 }], 216: [,, { 769: 510 }], 217: [[85, 768]], 218: [[85, 769]], 219: [[85, 770]], 220: [[85, 776],, { 768: 475, 769: 471, 772: 469, 780: 473 }], 221: [[89, 769]], 224: [[97, 768]], 225: [[97, 769]], 226: [[97, 770],, { 768: 7847, 769: 7845, 771: 7851, 777: 7849 }], 227: [[97, 771]], 228: [[97, 776],, { 772: 479 }], 229: [[97, 778],, { 769: 507 }], 230: [,, { 769: 509, 772: 483 }], 231: [[99, 807],, { 769: 7689 }], 232: [[101, 768]], 233: [[101, 769]], 234: [[101, 770],, { 768: 7873, 769: 7871, 771: 7877, 777: 7875 }], 235: [[101, 776]], 236: [[105, 768]], 237: [[105, 769]], 238: [[105, 770]], 239: [[105, 776],, { 769: 7727 }], 241: [[110, 771]], 242: [[111, 768]], 243: [[111, 769]], 244: [[111, 770],, { 768: 7891, 769: 7889, 771: 7895, 777: 7893 }], 245: [[111, 771],, { 769: 7757, 772: 557, 776: 7759 }], 246: [[111, 776],, { 772: 555 }], 248: [,, { 769: 511 }], 249: [[117, 768]], 250: [[117, 769]], 251: [[117, 770]], 252: [[117, 776],, { 768: 476, 769: 472, 772: 470, 780: 474 }], 253: [[121, 769]], 255: [[121, 776]] }, - 256: { 256: [[65, 772]], 257: [[97, 772]], 258: [[65, 774],, { 768: 7856, 769: 7854, 771: 7860, 777: 7858 }], 259: [[97, 774],, { 768: 7857, 769: 7855, 771: 7861, 777: 7859 }], 260: [[65, 808]], 261: [[97, 808]], 262: [[67, 769]], 263: [[99, 769]], 264: [[67, 770]], 265: [[99, 770]], 266: [[67, 775]], 267: [[99, 775]], 268: [[67, 780]], 269: [[99, 780]], 270: [[68, 780]], 271: [[100, 780]], 274: [[69, 772],, { 768: 7700, 769: 7702 }], 275: [[101, 772],, { 768: 7701, 769: 7703 }], 276: [[69, 774]], 277: [[101, 774]], 278: [[69, 775]], 279: [[101, 775]], 280: [[69, 808]], 281: [[101, 808]], 282: [[69, 780]], 283: [[101, 780]], 284: [[71, 770]], 285: [[103, 770]], 286: [[71, 774]], 287: [[103, 774]], 288: [[71, 775]], 289: [[103, 775]], 290: [[71, 807]], 291: [[103, 807]], 292: [[72, 770]], 293: [[104, 770]], 296: [[73, 771]], 297: [[105, 771]], 298: [[73, 772]], 299: [[105, 772]], 300: [[73, 774]], 301: [[105, 774]], 302: [[73, 808]], 303: [[105, 808]], 304: [[73, 775]], 306: [[73, 74], 256], 307: [[105, 106], 256], 308: [[74, 770]], 309: [[106, 770]], 310: [[75, 807]], 311: [[107, 807]], 313: [[76, 769]], 314: [[108, 769]], 315: [[76, 807]], 316: [[108, 807]], 317: [[76, 780]], 318: [[108, 780]], 319: [[76, 183], 256], 320: [[108, 183], 256], 323: [[78, 769]], 324: [[110, 769]], 325: [[78, 807]], 326: [[110, 807]], 327: [[78, 780]], 328: [[110, 780]], 329: [[700, 110], 256], 332: [[79, 772],, { 768: 7760, 769: 7762 }], 333: [[111, 772],, { 768: 7761, 769: 7763 }], 334: [[79, 774]], 335: [[111, 774]], 336: [[79, 779]], 337: [[111, 779]], 340: [[82, 769]], 341: [[114, 769]], 342: [[82, 807]], 343: [[114, 807]], 344: [[82, 780]], 345: [[114, 780]], 346: [[83, 769],, { 775: 7780 }], 347: [[115, 769],, { 775: 7781 }], 348: [[83, 770]], 349: [[115, 770]], 350: [[83, 807]], 351: [[115, 807]], 352: [[83, 780],, { 775: 7782 }], 353: [[115, 780],, { 775: 7783 }], 354: [[84, 807]], 355: [[116, 807]], 356: [[84, 780]], 357: [[116, 780]], 360: [[85, 771],, { 769: 7800 }], 361: [[117, 771],, { 769: 7801 }], 362: [[85, 772],, { 776: 7802 }], 363: [[117, 772],, { 776: 7803 }], 364: [[85, 774]], 365: [[117, 774]], 366: [[85, 778]], 367: [[117, 778]], 368: [[85, 779]], 369: [[117, 779]], 370: [[85, 808]], 371: [[117, 808]], 372: [[87, 770]], 373: [[119, 770]], 374: [[89, 770]], 375: [[121, 770]], 376: [[89, 776]], 377: [[90, 769]], 378: [[122, 769]], 379: [[90, 775]], 380: [[122, 775]], 381: [[90, 780]], 382: [[122, 780]], 383: [[115], 256, { 775: 7835 }], 416: [[79, 795],, { 768: 7900, 769: 7898, 771: 7904, 777: 7902, 803: 7906 }], 417: [[111, 795],, { 768: 7901, 769: 7899, 771: 7905, 777: 7903, 803: 7907 }], 431: [[85, 795],, { 768: 7914, 769: 7912, 771: 7918, 777: 7916, 803: 7920 }], 432: [[117, 795],, { 768: 7915, 769: 7913, 771: 7919, 777: 7917, 803: 7921 }], 439: [,, { 780: 494 }], 452: [[68, 381], 256], 453: [[68, 382], 256], 454: [[100, 382], 256], 455: [[76, 74], 256], 456: [[76, 106], 256], 457: [[108, 106], 256], 458: [[78, 74], 256], 459: [[78, 106], 256], 460: [[110, 106], 256], 461: [[65, 780]], 462: [[97, 780]], 463: [[73, 780]], 464: [[105, 780]], 465: [[79, 780]], 466: [[111, 780]], 467: [[85, 780]], 468: [[117, 780]], 469: [[220, 772]], 470: [[252, 772]], 471: [[220, 769]], 472: [[252, 769]], 473: [[220, 780]], 474: [[252, 780]], 475: [[220, 768]], 476: [[252, 768]], 478: [[196, 772]], 479: [[228, 772]], 480: [[550, 772]], 481: [[551, 772]], 482: [[198, 772]], 483: [[230, 772]], 486: [[71, 780]], 487: [[103, 780]], 488: [[75, 780]], 489: [[107, 780]], 490: [[79, 808],, { 772: 492 }], 491: [[111, 808],, { 772: 493 }], 492: [[490, 772]], 493: [[491, 772]], 494: [[439, 780]], 495: [[658, 780]], 496: [[106, 780]], 497: [[68, 90], 256], 498: [[68, 122], 256], 499: [[100, 122], 256], 500: [[71, 769]], 501: [[103, 769]], 504: [[78, 768]], 505: [[110, 768]], 506: [[197, 769]], 507: [[229, 769]], 508: [[198, 769]], 509: [[230, 769]], 510: [[216, 769]], 511: [[248, 769]], 66045: [, 220] }, - 512: { 512: [[65, 783]], 513: [[97, 783]], 514: [[65, 785]], 515: [[97, 785]], 516: [[69, 783]], 517: [[101, 783]], 518: [[69, 785]], 519: [[101, 785]], 520: [[73, 783]], 521: [[105, 783]], 522: [[73, 785]], 523: [[105, 785]], 524: [[79, 783]], 525: [[111, 783]], 526: [[79, 785]], 527: [[111, 785]], 528: [[82, 783]], 529: [[114, 783]], 530: [[82, 785]], 531: [[114, 785]], 532: [[85, 783]], 533: [[117, 783]], 534: [[85, 785]], 535: [[117, 785]], 536: [[83, 806]], 537: [[115, 806]], 538: [[84, 806]], 539: [[116, 806]], 542: [[72, 780]], 543: [[104, 780]], 550: [[65, 775],, { 772: 480 }], 551: [[97, 775],, { 772: 481 }], 552: [[69, 807],, { 774: 7708 }], 553: [[101, 807],, { 774: 7709 }], 554: [[214, 772]], 555: [[246, 772]], 556: [[213, 772]], 557: [[245, 772]], 558: [[79, 775],, { 772: 560 }], 559: [[111, 775],, { 772: 561 }], 560: [[558, 772]], 561: [[559, 772]], 562: [[89, 772]], 563: [[121, 772]], 658: [,, { 780: 495 }], 688: [[104], 256], 689: [[614], 256], 690: [[106], 256], 691: [[114], 256], 692: [[633], 256], 693: [[635], 256], 694: [[641], 256], 695: [[119], 256], 696: [[121], 256], 728: [[32, 774], 256], 729: [[32, 775], 256], 730: [[32, 778], 256], 731: [[32, 808], 256], 732: [[32, 771], 256], 733: [[32, 779], 256], 736: [[611], 256], 737: [[108], 256], 738: [[115], 256], 739: [[120], 256], 740: [[661], 256], 66272: [, 220] }, - 768: { 768: [, 230], 769: [, 230], 770: [, 230], 771: [, 230], 772: [, 230], 773: [, 230], 774: [, 230], 775: [, 230], 776: [, 230, { 769: 836 }], 777: [, 230], 778: [, 230], 779: [, 230], 780: [, 230], 781: [, 230], 782: [, 230], 783: [, 230], 784: [, 230], 785: [, 230], 786: [, 230], 787: [, 230], 788: [, 230], 789: [, 232], 790: [, 220], 791: [, 220], 792: [, 220], 793: [, 220], 794: [, 232], 795: [, 216], 796: [, 220], 797: [, 220], 798: [, 220], 799: [, 220], 800: [, 220], 801: [, 202], 802: [, 202], 803: [, 220], 804: [, 220], 805: [, 220], 806: [, 220], 807: [, 202], 808: [, 202], 809: [, 220], 810: [, 220], 811: [, 220], 812: [, 220], 813: [, 220], 814: [, 220], 815: [, 220], 816: [, 220], 817: [, 220], 818: [, 220], 819: [, 220], 820: [, 1], 821: [, 1], 822: [, 1], 823: [, 1], 824: [, 1], 825: [, 220], 826: [, 220], 827: [, 220], 828: [, 220], 829: [, 230], 830: [, 230], 831: [, 230], 832: [[768], 230], 833: [[769], 230], 834: [, 230], 835: [[787], 230], 836: [[776, 769], 230], 837: [, 240], 838: [, 230], 839: [, 220], 840: [, 220], 841: [, 220], 842: [, 230], 843: [, 230], 844: [, 230], 845: [, 220], 846: [, 220], 848: [, 230], 849: [, 230], 850: [, 230], 851: [, 220], 852: [, 220], 853: [, 220], 854: [, 220], 855: [, 230], 856: [, 232], 857: [, 220], 858: [, 220], 859: [, 230], 860: [, 233], 861: [, 234], 862: [, 234], 863: [, 233], 864: [, 234], 865: [, 234], 866: [, 233], 867: [, 230], 868: [, 230], 869: [, 230], 870: [, 230], 871: [, 230], 872: [, 230], 873: [, 230], 874: [, 230], 875: [, 230], 876: [, 230], 877: [, 230], 878: [, 230], 879: [, 230], 884: [[697]], 890: [[32, 837], 256], 894: [[59]], 900: [[32, 769], 256], 901: [[168, 769]], 902: [[913, 769]], 903: [[183]], 904: [[917, 769]], 905: [[919, 769]], 906: [[921, 769]], 908: [[927, 769]], 910: [[933, 769]], 911: [[937, 769]], 912: [[970, 769]], 913: [,, { 768: 8122, 769: 902, 772: 8121, 774: 8120, 787: 7944, 788: 7945, 837: 8124 }], 917: [,, { 768: 8136, 769: 904, 787: 7960, 788: 7961 }], 919: [,, { 768: 8138, 769: 905, 787: 7976, 788: 7977, 837: 8140 }], 921: [,, { 768: 8154, 769: 906, 772: 8153, 774: 8152, 776: 938, 787: 7992, 788: 7993 }], 927: [,, { 768: 8184, 769: 908, 787: 8008, 788: 8009 }], 929: [,, { 788: 8172 }], 933: [,, { 768: 8170, 769: 910, 772: 8169, 774: 8168, 776: 939, 788: 8025 }], 937: [,, { 768: 8186, 769: 911, 787: 8040, 788: 8041, 837: 8188 }], 938: [[921, 776]], 939: [[933, 776]], 940: [[945, 769],, { 837: 8116 }], 941: [[949, 769]], 942: [[951, 769],, { 837: 8132 }], 943: [[953, 769]], 944: [[971, 769]], 945: [,, { 768: 8048, 769: 940, 772: 8113, 774: 8112, 787: 7936, 788: 7937, 834: 8118, 837: 8115 }], 949: [,, { 768: 8050, 769: 941, 787: 7952, 788: 7953 }], 951: [,, { 768: 8052, 769: 942, 787: 7968, 788: 7969, 834: 8134, 837: 8131 }], 953: [,, { 768: 8054, 769: 943, 772: 8145, 774: 8144, 776: 970, 787: 7984, 788: 7985, 834: 8150 }], 959: [,, { 768: 8056, 769: 972, 787: 8000, 788: 8001 }], 961: [,, { 787: 8164, 788: 8165 }], 965: [,, { 768: 8058, 769: 973, 772: 8161, 774: 8160, 776: 971, 787: 8016, 788: 8017, 834: 8166 }], 969: [,, { 768: 8060, 769: 974, 787: 8032, 788: 8033, 834: 8182, 837: 8179 }], 970: [[953, 776],, { 768: 8146, 769: 912, 834: 8151 }], 971: [[965, 776],, { 768: 8162, 769: 944, 834: 8167 }], 972: [[959, 769]], 973: [[965, 769]], 974: [[969, 769],, { 837: 8180 }], 976: [[946], 256], 977: [[952], 256], 978: [[933], 256, { 769: 979, 776: 980 }], 979: [[978, 769]], 980: [[978, 776]], 981: [[966], 256], 982: [[960], 256], 1008: [[954], 256], 1009: [[961], 256], 1010: [[962], 256], 1012: [[920], 256], 1013: [[949], 256], 1017: [[931], 256], 66422: [, 230], 66423: [, 230], 66424: [, 230], 66425: [, 230], 66426: [, 230] }, - 1024: { 1024: [[1045, 768]], 1025: [[1045, 776]], 1027: [[1043, 769]], 1030: [,, { 776: 1031 }], 1031: [[1030, 776]], 1036: [[1050, 769]], 1037: [[1048, 768]], 1038: [[1059, 774]], 1040: [,, { 774: 1232, 776: 1234 }], 1043: [,, { 769: 1027 }], 1045: [,, { 768: 1024, 774: 1238, 776: 1025 }], 1046: [,, { 774: 1217, 776: 1244 }], 1047: [,, { 776: 1246 }], 1048: [,, { 768: 1037, 772: 1250, 774: 1049, 776: 1252 }], 1049: [[1048, 774]], 1050: [,, { 769: 1036 }], 1054: [,, { 776: 1254 }], 1059: [,, { 772: 1262, 774: 1038, 776: 1264, 779: 1266 }], 1063: [,, { 776: 1268 }], 1067: [,, { 776: 1272 }], 1069: [,, { 776: 1260 }], 1072: [,, { 774: 1233, 776: 1235 }], 1075: [,, { 769: 1107 }], 1077: [,, { 768: 1104, 774: 1239, 776: 1105 }], 1078: [,, { 774: 1218, 776: 1245 }], 1079: [,, { 776: 1247 }], 1080: [,, { 768: 1117, 772: 1251, 774: 1081, 776: 1253 }], 1081: [[1080, 774]], 1082: [,, { 769: 1116 }], 1086: [,, { 776: 1255 }], 1091: [,, { 772: 1263, 774: 1118, 776: 1265, 779: 1267 }], 1095: [,, { 776: 1269 }], 1099: [,, { 776: 1273 }], 1101: [,, { 776: 1261 }], 1104: [[1077, 768]], 1105: [[1077, 776]], 1107: [[1075, 769]], 1110: [,, { 776: 1111 }], 1111: [[1110, 776]], 1116: [[1082, 769]], 1117: [[1080, 768]], 1118: [[1091, 774]], 1140: [,, { 783: 1142 }], 1141: [,, { 783: 1143 }], 1142: [[1140, 783]], 1143: [[1141, 783]], 1155: [, 230], 1156: [, 230], 1157: [, 230], 1158: [, 230], 1159: [, 230], 1217: [[1046, 774]], 1218: [[1078, 774]], 1232: [[1040, 774]], 1233: [[1072, 774]], 1234: [[1040, 776]], 1235: [[1072, 776]], 1238: [[1045, 774]], 1239: [[1077, 774]], 1240: [,, { 776: 1242 }], 1241: [,, { 776: 1243 }], 1242: [[1240, 776]], 1243: [[1241, 776]], 1244: [[1046, 776]], 1245: [[1078, 776]], 1246: [[1047, 776]], 1247: [[1079, 776]], 1250: [[1048, 772]], 1251: [[1080, 772]], 1252: [[1048, 776]], 1253: [[1080, 776]], 1254: [[1054, 776]], 1255: [[1086, 776]], 1256: [,, { 776: 1258 }], 1257: [,, { 776: 1259 }], 1258: [[1256, 776]], 1259: [[1257, 776]], 1260: [[1069, 776]], 1261: [[1101, 776]], 1262: [[1059, 772]], 1263: [[1091, 772]], 1264: [[1059, 776]], 1265: [[1091, 776]], 1266: [[1059, 779]], 1267: [[1091, 779]], 1268: [[1063, 776]], 1269: [[1095, 776]], 1272: [[1067, 776]], 1273: [[1099, 776]] }, - 1280: { 1415: [[1381, 1410], 256], 1425: [, 220], 1426: [, 230], 1427: [, 230], 1428: [, 230], 1429: [, 230], 1430: [, 220], 1431: [, 230], 1432: [, 230], 1433: [, 230], 1434: [, 222], 1435: [, 220], 1436: [, 230], 1437: [, 230], 1438: [, 230], 1439: [, 230], 1440: [, 230], 1441: [, 230], 1442: [, 220], 1443: [, 220], 1444: [, 220], 1445: [, 220], 1446: [, 220], 1447: [, 220], 1448: [, 230], 1449: [, 230], 1450: [, 220], 1451: [, 230], 1452: [, 230], 1453: [, 222], 1454: [, 228], 1455: [, 230], 1456: [, 10], 1457: [, 11], 1458: [, 12], 1459: [, 13], 1460: [, 14], 1461: [, 15], 1462: [, 16], 1463: [, 17], 1464: [, 18], 1465: [, 19], 1466: [, 19], 1467: [, 20], 1468: [, 21], 1469: [, 22], 1471: [, 23], 1473: [, 24], 1474: [, 25], 1476: [, 230], 1477: [, 220], 1479: [, 18] }, - 1536: { 1552: [, 230], 1553: [, 230], 1554: [, 230], 1555: [, 230], 1556: [, 230], 1557: [, 230], 1558: [, 230], 1559: [, 230], 1560: [, 30], 1561: [, 31], 1562: [, 32], 1570: [[1575, 1619]], 1571: [[1575, 1620]], 1572: [[1608, 1620]], 1573: [[1575, 1621]], 1574: [[1610, 1620]], 1575: [,, { 1619: 1570, 1620: 1571, 1621: 1573 }], 1608: [,, { 1620: 1572 }], 1610: [,, { 1620: 1574 }], 1611: [, 27], 1612: [, 28], 1613: [, 29], 1614: [, 30], 1615: [, 31], 1616: [, 32], 1617: [, 33], 1618: [, 34], 1619: [, 230], 1620: [, 230], 1621: [, 220], 1622: [, 220], 1623: [, 230], 1624: [, 230], 1625: [, 230], 1626: [, 230], 1627: [, 230], 1628: [, 220], 1629: [, 230], 1630: [, 230], 1631: [, 220], 1648: [, 35], 1653: [[1575, 1652], 256], 1654: [[1608, 1652], 256], 1655: [[1735, 1652], 256], 1656: [[1610, 1652], 256], 1728: [[1749, 1620]], 1729: [,, { 1620: 1730 }], 1730: [[1729, 1620]], 1746: [,, { 1620: 1747 }], 1747: [[1746, 1620]], 1749: [,, { 1620: 1728 }], 1750: [, 230], 1751: [, 230], 1752: [, 230], 1753: [, 230], 1754: [, 230], 1755: [, 230], 1756: [, 230], 1759: [, 230], 1760: [, 230], 1761: [, 230], 1762: [, 230], 1763: [, 220], 1764: [, 230], 1767: [, 230], 1768: [, 230], 1770: [, 220], 1771: [, 230], 1772: [, 230], 1773: [, 220] }, - 1792: { 1809: [, 36], 1840: [, 230], 1841: [, 220], 1842: [, 230], 1843: [, 230], 1844: [, 220], 1845: [, 230], 1846: [, 230], 1847: [, 220], 1848: [, 220], 1849: [, 220], 1850: [, 230], 1851: [, 220], 1852: [, 220], 1853: [, 230], 1854: [, 220], 1855: [, 230], 1856: [, 230], 1857: [, 230], 1858: [, 220], 1859: [, 230], 1860: [, 220], 1861: [, 230], 1862: [, 220], 1863: [, 230], 1864: [, 220], 1865: [, 230], 1866: [, 230], 2027: [, 230], 2028: [, 230], 2029: [, 230], 2030: [, 230], 2031: [, 230], 2032: [, 230], 2033: [, 230], 2034: [, 220], 2035: [, 230] }, - 2048: { 2070: [, 230], 2071: [, 230], 2072: [, 230], 2073: [, 230], 2075: [, 230], 2076: [, 230], 2077: [, 230], 2078: [, 230], 2079: [, 230], 2080: [, 230], 2081: [, 230], 2082: [, 230], 2083: [, 230], 2085: [, 230], 2086: [, 230], 2087: [, 230], 2089: [, 230], 2090: [, 230], 2091: [, 230], 2092: [, 230], 2093: [, 230], 2137: [, 220], 2138: [, 220], 2139: [, 220], 2276: [, 230], 2277: [, 230], 2278: [, 220], 2279: [, 230], 2280: [, 230], 2281: [, 220], 2282: [, 230], 2283: [, 230], 2284: [, 230], 2285: [, 220], 2286: [, 220], 2287: [, 220], 2288: [, 27], 2289: [, 28], 2290: [, 29], 2291: [, 230], 2292: [, 230], 2293: [, 230], 2294: [, 220], 2295: [, 230], 2296: [, 230], 2297: [, 220], 2298: [, 220], 2299: [, 230], 2300: [, 230], 2301: [, 230], 2302: [, 230], 2303: [, 230] }, - 2304: { 2344: [,, { 2364: 2345 }], 2345: [[2344, 2364]], 2352: [,, { 2364: 2353 }], 2353: [[2352, 2364]], 2355: [,, { 2364: 2356 }], 2356: [[2355, 2364]], 2364: [, 7], 2381: [, 9], 2385: [, 230], 2386: [, 220], 2387: [, 230], 2388: [, 230], 2392: [[2325, 2364], 512], 2393: [[2326, 2364], 512], 2394: [[2327, 2364], 512], 2395: [[2332, 2364], 512], 2396: [[2337, 2364], 512], 2397: [[2338, 2364], 512], 2398: [[2347, 2364], 512], 2399: [[2351, 2364], 512], 2492: [, 7], 2503: [,, { 2494: 2507, 2519: 2508 }], 2507: [[2503, 2494]], 2508: [[2503, 2519]], 2509: [, 9], 2524: [[2465, 2492], 512], 2525: [[2466, 2492], 512], 2527: [[2479, 2492], 512] }, - 2560: { 2611: [[2610, 2620], 512], 2614: [[2616, 2620], 512], 2620: [, 7], 2637: [, 9], 2649: [[2582, 2620], 512], 2650: [[2583, 2620], 512], 2651: [[2588, 2620], 512], 2654: [[2603, 2620], 512], 2748: [, 7], 2765: [, 9], 68109: [, 220], 68111: [, 230], 68152: [, 230], 68153: [, 1], 68154: [, 220], 68159: [, 9], 68325: [, 230], 68326: [, 220] }, - 2816: { 2876: [, 7], 2887: [,, { 2878: 2891, 2902: 2888, 2903: 2892 }], 2888: [[2887, 2902]], 2891: [[2887, 2878]], 2892: [[2887, 2903]], 2893: [, 9], 2908: [[2849, 2876], 512], 2909: [[2850, 2876], 512], 2962: [,, { 3031: 2964 }], 2964: [[2962, 3031]], 3014: [,, { 3006: 3018, 3031: 3020 }], 3015: [,, { 3006: 3019 }], 3018: [[3014, 3006]], 3019: [[3015, 3006]], 3020: [[3014, 3031]], 3021: [, 9] }, - 3072: { 3142: [,, { 3158: 3144 }], 3144: [[3142, 3158]], 3149: [, 9], 3157: [, 84], 3158: [, 91], 3260: [, 7], 3263: [,, { 3285: 3264 }], 3264: [[3263, 3285]], 3270: [,, { 3266: 3274, 3285: 3271, 3286: 3272 }], 3271: [[3270, 3285]], 3272: [[3270, 3286]], 3274: [[3270, 3266],, { 3285: 3275 }], 3275: [[3274, 3285]], 3277: [, 9] }, - 3328: { 3398: [,, { 3390: 3402, 3415: 3404 }], 3399: [,, { 3390: 3403 }], 3402: [[3398, 3390]], 3403: [[3399, 3390]], 3404: [[3398, 3415]], 3405: [, 9], 3530: [, 9], 3545: [,, { 3530: 3546, 3535: 3548, 3551: 3550 }], 3546: [[3545, 3530]], 3548: [[3545, 3535],, { 3530: 3549 }], 3549: [[3548, 3530]], 3550: [[3545, 3551]] }, - 3584: { 3635: [[3661, 3634], 256], 3640: [, 103], 3641: [, 103], 3642: [, 9], 3656: [, 107], 3657: [, 107], 3658: [, 107], 3659: [, 107], 3763: [[3789, 3762], 256], 3768: [, 118], 3769: [, 118], 3784: [, 122], 3785: [, 122], 3786: [, 122], 3787: [, 122], 3804: [[3755, 3737], 256], 3805: [[3755, 3745], 256] }, - 3840: { 3852: [[3851], 256], 3864: [, 220], 3865: [, 220], 3893: [, 220], 3895: [, 220], 3897: [, 216], 3907: [[3906, 4023], 512], 3917: [[3916, 4023], 512], 3922: [[3921, 4023], 512], 3927: [[3926, 4023], 512], 3932: [[3931, 4023], 512], 3945: [[3904, 4021], 512], 3953: [, 129], 3954: [, 130], 3955: [[3953, 3954], 512], 3956: [, 132], 3957: [[3953, 3956], 512], 3958: [[4018, 3968], 512], 3959: [[4018, 3969], 256], 3960: [[4019, 3968], 512], 3961: [[4019, 3969], 256], 3962: [, 130], 3963: [, 130], 3964: [, 130], 3965: [, 130], 3968: [, 130], 3969: [[3953, 3968], 512], 3970: [, 230], 3971: [, 230], 3972: [, 9], 3974: [, 230], 3975: [, 230], 3987: [[3986, 4023], 512], 3997: [[3996, 4023], 512], 4002: [[4001, 4023], 512], 4007: [[4006, 4023], 512], 4012: [[4011, 4023], 512], 4025: [[3984, 4021], 512], 4038: [, 220] }, - 4096: { 4133: [,, { 4142: 4134 }], 4134: [[4133, 4142]], 4151: [, 7], 4153: [, 9], 4154: [, 9], 4237: [, 220], 4348: [[4316], 256], 69702: [, 9], 69759: [, 9], 69785: [,, { 69818: 69786 }], 69786: [[69785, 69818]], 69787: [,, { 69818: 69788 }], 69788: [[69787, 69818]], 69797: [,, { 69818: 69803 }], 69803: [[69797, 69818]], 69817: [, 9], 69818: [, 7] }, - 4352: { 69888: [, 230], 69889: [, 230], 69890: [, 230], 69934: [[69937, 69927]], 69935: [[69938, 69927]], 69937: [,, { 69927: 69934 }], 69938: [,, { 69927: 69935 }], 69939: [, 9], 69940: [, 9], 70003: [, 7], 70080: [, 9] }, - 4608: { 70197: [, 9], 70198: [, 7], 70377: [, 7], 70378: [, 9] }, - 4864: { 4957: [, 230], 4958: [, 230], 4959: [, 230], 70460: [, 7], 70471: [,, { 70462: 70475, 70487: 70476 }], 70475: [[70471, 70462]], 70476: [[70471, 70487]], 70477: [, 9], 70502: [, 230], 70503: [, 230], 70504: [, 230], 70505: [, 230], 70506: [, 230], 70507: [, 230], 70508: [, 230], 70512: [, 230], 70513: [, 230], 70514: [, 230], 70515: [, 230], 70516: [, 230] }, - 5120: { 70841: [,, { 70832: 70844, 70842: 70843, 70845: 70846 }], 70843: [[70841, 70842]], 70844: [[70841, 70832]], 70846: [[70841, 70845]], 70850: [, 9], 70851: [, 7] }, - 5376: { 71096: [,, { 71087: 71098 }], 71097: [,, { 71087: 71099 }], 71098: [[71096, 71087]], 71099: [[71097, 71087]], 71103: [, 9], 71104: [, 7] }, - 5632: { 71231: [, 9], 71350: [, 9], 71351: [, 7] }, - 5888: { 5908: [, 9], 5940: [, 9], 6098: [, 9], 6109: [, 230] }, - 6144: { 6313: [, 228] }, - 6400: { 6457: [, 222], 6458: [, 230], 6459: [, 220] }, - 6656: { 6679: [, 230], 6680: [, 220], 6752: [, 9], 6773: [, 230], 6774: [, 230], 6775: [, 230], 6776: [, 230], 6777: [, 230], 6778: [, 230], 6779: [, 230], 6780: [, 230], 6783: [, 220], 6832: [, 230], 6833: [, 230], 6834: [, 230], 6835: [, 230], 6836: [, 230], 6837: [, 220], 6838: [, 220], 6839: [, 220], 6840: [, 220], 6841: [, 220], 6842: [, 220], 6843: [, 230], 6844: [, 230], 6845: [, 220] }, - 6912: { 6917: [,, { 6965: 6918 }], 6918: [[6917, 6965]], 6919: [,, { 6965: 6920 }], 6920: [[6919, 6965]], 6921: [,, { 6965: 6922 }], 6922: [[6921, 6965]], 6923: [,, { 6965: 6924 }], 6924: [[6923, 6965]], 6925: [,, { 6965: 6926 }], 6926: [[6925, 6965]], 6929: [,, { 6965: 6930 }], 6930: [[6929, 6965]], 6964: [, 7], 6970: [,, { 6965: 6971 }], 6971: [[6970, 6965]], 6972: [,, { 6965: 6973 }], 6973: [[6972, 6965]], 6974: [,, { 6965: 6976 }], 6975: [,, { 6965: 6977 }], 6976: [[6974, 6965]], 6977: [[6975, 6965]], 6978: [,, { 6965: 6979 }], 6979: [[6978, 6965]], 6980: [, 9], 7019: [, 230], 7020: [, 220], 7021: [, 230], 7022: [, 230], 7023: [, 230], 7024: [, 230], 7025: [, 230], 7026: [, 230], 7027: [, 230], 7082: [, 9], 7083: [, 9], 7142: [, 7], 7154: [, 9], 7155: [, 9] }, - 7168: { 7223: [, 7], 7376: [, 230], 7377: [, 230], 7378: [, 230], 7380: [, 1], 7381: [, 220], 7382: [, 220], 7383: [, 220], 7384: [, 220], 7385: [, 220], 7386: [, 230], 7387: [, 230], 7388: [, 220], 7389: [, 220], 7390: [, 220], 7391: [, 220], 7392: [, 230], 7394: [, 1], 7395: [, 1], 7396: [, 1], 7397: [, 1], 7398: [, 1], 7399: [, 1], 7400: [, 1], 7405: [, 220], 7412: [, 230], 7416: [, 230], 7417: [, 230] }, - 7424: { 7468: [[65], 256], 7469: [[198], 256], 7470: [[66], 256], 7472: [[68], 256], 7473: [[69], 256], 7474: [[398], 256], 7475: [[71], 256], 7476: [[72], 256], 7477: [[73], 256], 7478: [[74], 256], 7479: [[75], 256], 7480: [[76], 256], 7481: [[77], 256], 7482: [[78], 256], 7484: [[79], 256], 7485: [[546], 256], 7486: [[80], 256], 7487: [[82], 256], 7488: [[84], 256], 7489: [[85], 256], 7490: [[87], 256], 7491: [[97], 256], 7492: [[592], 256], 7493: [[593], 256], 7494: [[7426], 256], 7495: [[98], 256], 7496: [[100], 256], 7497: [[101], 256], 7498: [[601], 256], 7499: [[603], 256], 7500: [[604], 256], 7501: [[103], 256], 7503: [[107], 256], 7504: [[109], 256], 7505: [[331], 256], 7506: [[111], 256], 7507: [[596], 256], 7508: [[7446], 256], 7509: [[7447], 256], 7510: [[112], 256], 7511: [[116], 256], 7512: [[117], 256], 7513: [[7453], 256], 7514: [[623], 256], 7515: [[118], 256], 7516: [[7461], 256], 7517: [[946], 256], 7518: [[947], 256], 7519: [[948], 256], 7520: [[966], 256], 7521: [[967], 256], 7522: [[105], 256], 7523: [[114], 256], 7524: [[117], 256], 7525: [[118], 256], 7526: [[946], 256], 7527: [[947], 256], 7528: [[961], 256], 7529: [[966], 256], 7530: [[967], 256], 7544: [[1085], 256], 7579: [[594], 256], 7580: [[99], 256], 7581: [[597], 256], 7582: [[240], 256], 7583: [[604], 256], 7584: [[102], 256], 7585: [[607], 256], 7586: [[609], 256], 7587: [[613], 256], 7588: [[616], 256], 7589: [[617], 256], 7590: [[618], 256], 7591: [[7547], 256], 7592: [[669], 256], 7593: [[621], 256], 7594: [[7557], 256], 7595: [[671], 256], 7596: [[625], 256], 7597: [[624], 256], 7598: [[626], 256], 7599: [[627], 256], 7600: [[628], 256], 7601: [[629], 256], 7602: [[632], 256], 7603: [[642], 256], 7604: [[643], 256], 7605: [[427], 256], 7606: [[649], 256], 7607: [[650], 256], 7608: [[7452], 256], 7609: [[651], 256], 7610: [[652], 256], 7611: [[122], 256], 7612: [[656], 256], 7613: [[657], 256], 7614: [[658], 256], 7615: [[952], 256], 7616: [, 230], 7617: [, 230], 7618: [, 220], 7619: [, 230], 7620: [, 230], 7621: [, 230], 7622: [, 230], 7623: [, 230], 7624: [, 230], 7625: [, 230], 7626: [, 220], 7627: [, 230], 7628: [, 230], 7629: [, 234], 7630: [, 214], 7631: [, 220], 7632: [, 202], 7633: [, 230], 7634: [, 230], 7635: [, 230], 7636: [, 230], 7637: [, 230], 7638: [, 230], 7639: [, 230], 7640: [, 230], 7641: [, 230], 7642: [, 230], 7643: [, 230], 7644: [, 230], 7645: [, 230], 7646: [, 230], 7647: [, 230], 7648: [, 230], 7649: [, 230], 7650: [, 230], 7651: [, 230], 7652: [, 230], 7653: [, 230], 7654: [, 230], 7655: [, 230], 7656: [, 230], 7657: [, 230], 7658: [, 230], 7659: [, 230], 7660: [, 230], 7661: [, 230], 7662: [, 230], 7663: [, 230], 7664: [, 230], 7665: [, 230], 7666: [, 230], 7667: [, 230], 7668: [, 230], 7669: [, 230], 7676: [, 233], 7677: [, 220], 7678: [, 230], 7679: [, 220] }, - 7680: { 7680: [[65, 805]], 7681: [[97, 805]], 7682: [[66, 775]], 7683: [[98, 775]], 7684: [[66, 803]], 7685: [[98, 803]], 7686: [[66, 817]], 7687: [[98, 817]], 7688: [[199, 769]], 7689: [[231, 769]], 7690: [[68, 775]], 7691: [[100, 775]], 7692: [[68, 803]], 7693: [[100, 803]], 7694: [[68, 817]], 7695: [[100, 817]], 7696: [[68, 807]], 7697: [[100, 807]], 7698: [[68, 813]], 7699: [[100, 813]], 7700: [[274, 768]], 7701: [[275, 768]], 7702: [[274, 769]], 7703: [[275, 769]], 7704: [[69, 813]], 7705: [[101, 813]], 7706: [[69, 816]], 7707: [[101, 816]], 7708: [[552, 774]], 7709: [[553, 774]], 7710: [[70, 775]], 7711: [[102, 775]], 7712: [[71, 772]], 7713: [[103, 772]], 7714: [[72, 775]], 7715: [[104, 775]], 7716: [[72, 803]], 7717: [[104, 803]], 7718: [[72, 776]], 7719: [[104, 776]], 7720: [[72, 807]], 7721: [[104, 807]], 7722: [[72, 814]], 7723: [[104, 814]], 7724: [[73, 816]], 7725: [[105, 816]], 7726: [[207, 769]], 7727: [[239, 769]], 7728: [[75, 769]], 7729: [[107, 769]], 7730: [[75, 803]], 7731: [[107, 803]], 7732: [[75, 817]], 7733: [[107, 817]], 7734: [[76, 803],, { 772: 7736 }], 7735: [[108, 803],, { 772: 7737 }], 7736: [[7734, 772]], 7737: [[7735, 772]], 7738: [[76, 817]], 7739: [[108, 817]], 7740: [[76, 813]], 7741: [[108, 813]], 7742: [[77, 769]], 7743: [[109, 769]], 7744: [[77, 775]], 7745: [[109, 775]], 7746: [[77, 803]], 7747: [[109, 803]], 7748: [[78, 775]], 7749: [[110, 775]], 7750: [[78, 803]], 7751: [[110, 803]], 7752: [[78, 817]], 7753: [[110, 817]], 7754: [[78, 813]], 7755: [[110, 813]], 7756: [[213, 769]], 7757: [[245, 769]], 7758: [[213, 776]], 7759: [[245, 776]], 7760: [[332, 768]], 7761: [[333, 768]], 7762: [[332, 769]], 7763: [[333, 769]], 7764: [[80, 769]], 7765: [[112, 769]], 7766: [[80, 775]], 7767: [[112, 775]], 7768: [[82, 775]], 7769: [[114, 775]], 7770: [[82, 803],, { 772: 7772 }], 7771: [[114, 803],, { 772: 7773 }], 7772: [[7770, 772]], 7773: [[7771, 772]], 7774: [[82, 817]], 7775: [[114, 817]], 7776: [[83, 775]], 7777: [[115, 775]], 7778: [[83, 803],, { 775: 7784 }], 7779: [[115, 803],, { 775: 7785 }], 7780: [[346, 775]], 7781: [[347, 775]], 7782: [[352, 775]], 7783: [[353, 775]], 7784: [[7778, 775]], 7785: [[7779, 775]], 7786: [[84, 775]], 7787: [[116, 775]], 7788: [[84, 803]], 7789: [[116, 803]], 7790: [[84, 817]], 7791: [[116, 817]], 7792: [[84, 813]], 7793: [[116, 813]], 7794: [[85, 804]], 7795: [[117, 804]], 7796: [[85, 816]], 7797: [[117, 816]], 7798: [[85, 813]], 7799: [[117, 813]], 7800: [[360, 769]], 7801: [[361, 769]], 7802: [[362, 776]], 7803: [[363, 776]], 7804: [[86, 771]], 7805: [[118, 771]], 7806: [[86, 803]], 7807: [[118, 803]], 7808: [[87, 768]], 7809: [[119, 768]], 7810: [[87, 769]], 7811: [[119, 769]], 7812: [[87, 776]], 7813: [[119, 776]], 7814: [[87, 775]], 7815: [[119, 775]], 7816: [[87, 803]], 7817: [[119, 803]], 7818: [[88, 775]], 7819: [[120, 775]], 7820: [[88, 776]], 7821: [[120, 776]], 7822: [[89, 775]], 7823: [[121, 775]], 7824: [[90, 770]], 7825: [[122, 770]], 7826: [[90, 803]], 7827: [[122, 803]], 7828: [[90, 817]], 7829: [[122, 817]], 7830: [[104, 817]], 7831: [[116, 776]], 7832: [[119, 778]], 7833: [[121, 778]], 7834: [[97, 702], 256], 7835: [[383, 775]], 7840: [[65, 803],, { 770: 7852, 774: 7862 }], 7841: [[97, 803],, { 770: 7853, 774: 7863 }], 7842: [[65, 777]], 7843: [[97, 777]], 7844: [[194, 769]], 7845: [[226, 769]], 7846: [[194, 768]], 7847: [[226, 768]], 7848: [[194, 777]], 7849: [[226, 777]], 7850: [[194, 771]], 7851: [[226, 771]], 7852: [[7840, 770]], 7853: [[7841, 770]], 7854: [[258, 769]], 7855: [[259, 769]], 7856: [[258, 768]], 7857: [[259, 768]], 7858: [[258, 777]], 7859: [[259, 777]], 7860: [[258, 771]], 7861: [[259, 771]], 7862: [[7840, 774]], 7863: [[7841, 774]], 7864: [[69, 803],, { 770: 7878 }], 7865: [[101, 803],, { 770: 7879 }], 7866: [[69, 777]], 7867: [[101, 777]], 7868: [[69, 771]], 7869: [[101, 771]], 7870: [[202, 769]], 7871: [[234, 769]], 7872: [[202, 768]], 7873: [[234, 768]], 7874: [[202, 777]], 7875: [[234, 777]], 7876: [[202, 771]], 7877: [[234, 771]], 7878: [[7864, 770]], 7879: [[7865, 770]], 7880: [[73, 777]], 7881: [[105, 777]], 7882: [[73, 803]], 7883: [[105, 803]], 7884: [[79, 803],, { 770: 7896 }], 7885: [[111, 803],, { 770: 7897 }], 7886: [[79, 777]], 7887: [[111, 777]], 7888: [[212, 769]], 7889: [[244, 769]], 7890: [[212, 768]], 7891: [[244, 768]], 7892: [[212, 777]], 7893: [[244, 777]], 7894: [[212, 771]], 7895: [[244, 771]], 7896: [[7884, 770]], 7897: [[7885, 770]], 7898: [[416, 769]], 7899: [[417, 769]], 7900: [[416, 768]], 7901: [[417, 768]], 7902: [[416, 777]], 7903: [[417, 777]], 7904: [[416, 771]], 7905: [[417, 771]], 7906: [[416, 803]], 7907: [[417, 803]], 7908: [[85, 803]], 7909: [[117, 803]], 7910: [[85, 777]], 7911: [[117, 777]], 7912: [[431, 769]], 7913: [[432, 769]], 7914: [[431, 768]], 7915: [[432, 768]], 7916: [[431, 777]], 7917: [[432, 777]], 7918: [[431, 771]], 7919: [[432, 771]], 7920: [[431, 803]], 7921: [[432, 803]], 7922: [[89, 768]], 7923: [[121, 768]], 7924: [[89, 803]], 7925: [[121, 803]], 7926: [[89, 777]], 7927: [[121, 777]], 7928: [[89, 771]], 7929: [[121, 771]] }, - 7936: { 7936: [[945, 787],, { 768: 7938, 769: 7940, 834: 7942, 837: 8064 }], 7937: [[945, 788],, { 768: 7939, 769: 7941, 834: 7943, 837: 8065 }], 7938: [[7936, 768],, { 837: 8066 }], 7939: [[7937, 768],, { 837: 8067 }], 7940: [[7936, 769],, { 837: 8068 }], 7941: [[7937, 769],, { 837: 8069 }], 7942: [[7936, 834],, { 837: 8070 }], 7943: [[7937, 834],, { 837: 8071 }], 7944: [[913, 787],, { 768: 7946, 769: 7948, 834: 7950, 837: 8072 }], 7945: [[913, 788],, { 768: 7947, 769: 7949, 834: 7951, 837: 8073 }], 7946: [[7944, 768],, { 837: 8074 }], 7947: [[7945, 768],, { 837: 8075 }], 7948: [[7944, 769],, { 837: 8076 }], 7949: [[7945, 769],, { 837: 8077 }], 7950: [[7944, 834],, { 837: 8078 }], 7951: [[7945, 834],, { 837: 8079 }], 7952: [[949, 787],, { 768: 7954, 769: 7956 }], 7953: [[949, 788],, { 768: 7955, 769: 7957 }], 7954: [[7952, 768]], 7955: [[7953, 768]], 7956: [[7952, 769]], 7957: [[7953, 769]], 7960: [[917, 787],, { 768: 7962, 769: 7964 }], 7961: [[917, 788],, { 768: 7963, 769: 7965 }], 7962: [[7960, 768]], 7963: [[7961, 768]], 7964: [[7960, 769]], 7965: [[7961, 769]], 7968: [[951, 787],, { 768: 7970, 769: 7972, 834: 7974, 837: 8080 }], 7969: [[951, 788],, { 768: 7971, 769: 7973, 834: 7975, 837: 8081 }], 7970: [[7968, 768],, { 837: 8082 }], 7971: [[7969, 768],, { 837: 8083 }], 7972: [[7968, 769],, { 837: 8084 }], 7973: [[7969, 769],, { 837: 8085 }], 7974: [[7968, 834],, { 837: 8086 }], 7975: [[7969, 834],, { 837: 8087 }], 7976: [[919, 787],, { 768: 7978, 769: 7980, 834: 7982, 837: 8088 }], 7977: [[919, 788],, { 768: 7979, 769: 7981, 834: 7983, 837: 8089 }], 7978: [[7976, 768],, { 837: 8090 }], 7979: [[7977, 768],, { 837: 8091 }], 7980: [[7976, 769],, { 837: 8092 }], 7981: [[7977, 769],, { 837: 8093 }], 7982: [[7976, 834],, { 837: 8094 }], 7983: [[7977, 834],, { 837: 8095 }], 7984: [[953, 787],, { 768: 7986, 769: 7988, 834: 7990 }], 7985: [[953, 788],, { 768: 7987, 769: 7989, 834: 7991 }], 7986: [[7984, 768]], 7987: [[7985, 768]], 7988: [[7984, 769]], 7989: [[7985, 769]], 7990: [[7984, 834]], 7991: [[7985, 834]], 7992: [[921, 787],, { 768: 7994, 769: 7996, 834: 7998 }], 7993: [[921, 788],, { 768: 7995, 769: 7997, 834: 7999 }], 7994: [[7992, 768]], 7995: [[7993, 768]], 7996: [[7992, 769]], 7997: [[7993, 769]], 7998: [[7992, 834]], 7999: [[7993, 834]], 8000: [[959, 787],, { 768: 8002, 769: 8004 }], 8001: [[959, 788],, { 768: 8003, 769: 8005 }], 8002: [[8000, 768]], 8003: [[8001, 768]], 8004: [[8000, 769]], 8005: [[8001, 769]], 8008: [[927, 787],, { 768: 8010, 769: 8012 }], 8009: [[927, 788],, { 768: 8011, 769: 8013 }], 8010: [[8008, 768]], 8011: [[8009, 768]], 8012: [[8008, 769]], 8013: [[8009, 769]], 8016: [[965, 787],, { 768: 8018, 769: 8020, 834: 8022 }], 8017: [[965, 788],, { 768: 8019, 769: 8021, 834: 8023 }], 8018: [[8016, 768]], 8019: [[8017, 768]], 8020: [[8016, 769]], 8021: [[8017, 769]], 8022: [[8016, 834]], 8023: [[8017, 834]], 8025: [[933, 788],, { 768: 8027, 769: 8029, 834: 8031 }], 8027: [[8025, 768]], 8029: [[8025, 769]], 8031: [[8025, 834]], 8032: [[969, 787],, { 768: 8034, 769: 8036, 834: 8038, 837: 8096 }], 8033: [[969, 788],, { 768: 8035, 769: 8037, 834: 8039, 837: 8097 }], 8034: [[8032, 768],, { 837: 8098 }], 8035: [[8033, 768],, { 837: 8099 }], 8036: [[8032, 769],, { 837: 8100 }], 8037: [[8033, 769],, { 837: 8101 }], 8038: [[8032, 834],, { 837: 8102 }], 8039: [[8033, 834],, { 837: 8103 }], 8040: [[937, 787],, { 768: 8042, 769: 8044, 834: 8046, 837: 8104 }], 8041: [[937, 788],, { 768: 8043, 769: 8045, 834: 8047, 837: 8105 }], 8042: [[8040, 768],, { 837: 8106 }], 8043: [[8041, 768],, { 837: 8107 }], 8044: [[8040, 769],, { 837: 8108 }], 8045: [[8041, 769],, { 837: 8109 }], 8046: [[8040, 834],, { 837: 8110 }], 8047: [[8041, 834],, { 837: 8111 }], 8048: [[945, 768],, { 837: 8114 }], 8049: [[940]], 8050: [[949, 768]], 8051: [[941]], 8052: [[951, 768],, { 837: 8130 }], 8053: [[942]], 8054: [[953, 768]], 8055: [[943]], 8056: [[959, 768]], 8057: [[972]], 8058: [[965, 768]], 8059: [[973]], 8060: [[969, 768],, { 837: 8178 }], 8061: [[974]], 8064: [[7936, 837]], 8065: [[7937, 837]], 8066: [[7938, 837]], 8067: [[7939, 837]], 8068: [[7940, 837]], 8069: [[7941, 837]], 8070: [[7942, 837]], 8071: [[7943, 837]], 8072: [[7944, 837]], 8073: [[7945, 837]], 8074: [[7946, 837]], 8075: [[7947, 837]], 8076: [[7948, 837]], 8077: [[7949, 837]], 8078: [[7950, 837]], 8079: [[7951, 837]], 8080: [[7968, 837]], 8081: [[7969, 837]], 8082: [[7970, 837]], 8083: [[7971, 837]], 8084: [[7972, 837]], 8085: [[7973, 837]], 8086: [[7974, 837]], 8087: [[7975, 837]], 8088: [[7976, 837]], 8089: [[7977, 837]], 8090: [[7978, 837]], 8091: [[7979, 837]], 8092: [[7980, 837]], 8093: [[7981, 837]], 8094: [[7982, 837]], 8095: [[7983, 837]], 8096: [[8032, 837]], 8097: [[8033, 837]], 8098: [[8034, 837]], 8099: [[8035, 837]], 8100: [[8036, 837]], 8101: [[8037, 837]], 8102: [[8038, 837]], 8103: [[8039, 837]], 8104: [[8040, 837]], 8105: [[8041, 837]], 8106: [[8042, 837]], 8107: [[8043, 837]], 8108: [[8044, 837]], 8109: [[8045, 837]], 8110: [[8046, 837]], 8111: [[8047, 837]], 8112: [[945, 774]], 8113: [[945, 772]], 8114: [[8048, 837]], 8115: [[945, 837]], 8116: [[940, 837]], 8118: [[945, 834],, { 837: 8119 }], 8119: [[8118, 837]], 8120: [[913, 774]], 8121: [[913, 772]], 8122: [[913, 768]], 8123: [[902]], 8124: [[913, 837]], 8125: [[32, 787], 256], 8126: [[953]], 8127: [[32, 787], 256, { 768: 8141, 769: 8142, 834: 8143 }], 8128: [[32, 834], 256], 8129: [[168, 834]], 8130: [[8052, 837]], 8131: [[951, 837]], 8132: [[942, 837]], 8134: [[951, 834],, { 837: 8135 }], 8135: [[8134, 837]], 8136: [[917, 768]], 8137: [[904]], 8138: [[919, 768]], 8139: [[905]], 8140: [[919, 837]], 8141: [[8127, 768]], 8142: [[8127, 769]], 8143: [[8127, 834]], 8144: [[953, 774]], 8145: [[953, 772]], 8146: [[970, 768]], 8147: [[912]], 8150: [[953, 834]], 8151: [[970, 834]], 8152: [[921, 774]], 8153: [[921, 772]], 8154: [[921, 768]], 8155: [[906]], 8157: [[8190, 768]], 8158: [[8190, 769]], 8159: [[8190, 834]], 8160: [[965, 774]], 8161: [[965, 772]], 8162: [[971, 768]], 8163: [[944]], 8164: [[961, 787]], 8165: [[961, 788]], 8166: [[965, 834]], 8167: [[971, 834]], 8168: [[933, 774]], 8169: [[933, 772]], 8170: [[933, 768]], 8171: [[910]], 8172: [[929, 788]], 8173: [[168, 768]], 8174: [[901]], 8175: [[96]], 8178: [[8060, 837]], 8179: [[969, 837]], 8180: [[974, 837]], 8182: [[969, 834],, { 837: 8183 }], 8183: [[8182, 837]], 8184: [[927, 768]], 8185: [[908]], 8186: [[937, 768]], 8187: [[911]], 8188: [[937, 837]], 8189: [[180]], 8190: [[32, 788], 256, { 768: 8157, 769: 8158, 834: 8159 }] }, - 8192: { 8192: [[8194]], 8193: [[8195]], 8194: [[32], 256], 8195: [[32], 256], 8196: [[32], 256], 8197: [[32], 256], 8198: [[32], 256], 8199: [[32], 256], 8200: [[32], 256], 8201: [[32], 256], 8202: [[32], 256], 8209: [[8208], 256], 8215: [[32, 819], 256], 8228: [[46], 256], 8229: [[46, 46], 256], 8230: [[46, 46, 46], 256], 8239: [[32], 256], 8243: [[8242, 8242], 256], 8244: [[8242, 8242, 8242], 256], 8246: [[8245, 8245], 256], 8247: [[8245, 8245, 8245], 256], 8252: [[33, 33], 256], 8254: [[32, 773], 256], 8263: [[63, 63], 256], 8264: [[63, 33], 256], 8265: [[33, 63], 256], 8279: [[8242, 8242, 8242, 8242], 256], 8287: [[32], 256], 8304: [[48], 256], 8305: [[105], 256], 8308: [[52], 256], 8309: [[53], 256], 8310: [[54], 256], 8311: [[55], 256], 8312: [[56], 256], 8313: [[57], 256], 8314: [[43], 256], 8315: [[8722], 256], 8316: [[61], 256], 8317: [[40], 256], 8318: [[41], 256], 8319: [[110], 256], 8320: [[48], 256], 8321: [[49], 256], 8322: [[50], 256], 8323: [[51], 256], 8324: [[52], 256], 8325: [[53], 256], 8326: [[54], 256], 8327: [[55], 256], 8328: [[56], 256], 8329: [[57], 256], 8330: [[43], 256], 8331: [[8722], 256], 8332: [[61], 256], 8333: [[40], 256], 8334: [[41], 256], 8336: [[97], 256], 8337: [[101], 256], 8338: [[111], 256], 8339: [[120], 256], 8340: [[601], 256], 8341: [[104], 256], 8342: [[107], 256], 8343: [[108], 256], 8344: [[109], 256], 8345: [[110], 256], 8346: [[112], 256], 8347: [[115], 256], 8348: [[116], 256], 8360: [[82, 115], 256], 8400: [, 230], 8401: [, 230], 8402: [, 1], 8403: [, 1], 8404: [, 230], 8405: [, 230], 8406: [, 230], 8407: [, 230], 8408: [, 1], 8409: [, 1], 8410: [, 1], 8411: [, 230], 8412: [, 230], 8417: [, 230], 8421: [, 1], 8422: [, 1], 8423: [, 230], 8424: [, 220], 8425: [, 230], 8426: [, 1], 8427: [, 1], 8428: [, 220], 8429: [, 220], 8430: [, 220], 8431: [, 220], 8432: [, 230] }, - 8448: { 8448: [[97, 47, 99], 256], 8449: [[97, 47, 115], 256], 8450: [[67], 256], 8451: [[176, 67], 256], 8453: [[99, 47, 111], 256], 8454: [[99, 47, 117], 256], 8455: [[400], 256], 8457: [[176, 70], 256], 8458: [[103], 256], 8459: [[72], 256], 8460: [[72], 256], 8461: [[72], 256], 8462: [[104], 256], 8463: [[295], 256], 8464: [[73], 256], 8465: [[73], 256], 8466: [[76], 256], 8467: [[108], 256], 8469: [[78], 256], 8470: [[78, 111], 256], 8473: [[80], 256], 8474: [[81], 256], 8475: [[82], 256], 8476: [[82], 256], 8477: [[82], 256], 8480: [[83, 77], 256], 8481: [[84, 69, 76], 256], 8482: [[84, 77], 256], 8484: [[90], 256], 8486: [[937]], 8488: [[90], 256], 8490: [[75]], 8491: [[197]], 8492: [[66], 256], 8493: [[67], 256], 8495: [[101], 256], 8496: [[69], 256], 8497: [[70], 256], 8499: [[77], 256], 8500: [[111], 256], 8501: [[1488], 256], 8502: [[1489], 256], 8503: [[1490], 256], 8504: [[1491], 256], 8505: [[105], 256], 8507: [[70, 65, 88], 256], 8508: [[960], 256], 8509: [[947], 256], 8510: [[915], 256], 8511: [[928], 256], 8512: [[8721], 256], 8517: [[68], 256], 8518: [[100], 256], 8519: [[101], 256], 8520: [[105], 256], 8521: [[106], 256], 8528: [[49, 8260, 55], 256], 8529: [[49, 8260, 57], 256], 8530: [[49, 8260, 49, 48], 256], 8531: [[49, 8260, 51], 256], 8532: [[50, 8260, 51], 256], 8533: [[49, 8260, 53], 256], 8534: [[50, 8260, 53], 256], 8535: [[51, 8260, 53], 256], 8536: [[52, 8260, 53], 256], 8537: [[49, 8260, 54], 256], 8538: [[53, 8260, 54], 256], 8539: [[49, 8260, 56], 256], 8540: [[51, 8260, 56], 256], 8541: [[53, 8260, 56], 256], 8542: [[55, 8260, 56], 256], 8543: [[49, 8260], 256], 8544: [[73], 256], 8545: [[73, 73], 256], 8546: [[73, 73, 73], 256], 8547: [[73, 86], 256], 8548: [[86], 256], 8549: [[86, 73], 256], 8550: [[86, 73, 73], 256], 8551: [[86, 73, 73, 73], 256], 8552: [[73, 88], 256], 8553: [[88], 256], 8554: [[88, 73], 256], 8555: [[88, 73, 73], 256], 8556: [[76], 256], 8557: [[67], 256], 8558: [[68], 256], 8559: [[77], 256], 8560: [[105], 256], 8561: [[105, 105], 256], 8562: [[105, 105, 105], 256], 8563: [[105, 118], 256], 8564: [[118], 256], 8565: [[118, 105], 256], 8566: [[118, 105, 105], 256], 8567: [[118, 105, 105, 105], 256], 8568: [[105, 120], 256], 8569: [[120], 256], 8570: [[120, 105], 256], 8571: [[120, 105, 105], 256], 8572: [[108], 256], 8573: [[99], 256], 8574: [[100], 256], 8575: [[109], 256], 8585: [[48, 8260, 51], 256], 8592: [,, { 824: 8602 }], 8594: [,, { 824: 8603 }], 8596: [,, { 824: 8622 }], 8602: [[8592, 824]], 8603: [[8594, 824]], 8622: [[8596, 824]], 8653: [[8656, 824]], 8654: [[8660, 824]], 8655: [[8658, 824]], 8656: [,, { 824: 8653 }], 8658: [,, { 824: 8655 }], 8660: [,, { 824: 8654 }] }, - 8704: { 8707: [,, { 824: 8708 }], 8708: [[8707, 824]], 8712: [,, { 824: 8713 }], 8713: [[8712, 824]], 8715: [,, { 824: 8716 }], 8716: [[8715, 824]], 8739: [,, { 824: 8740 }], 8740: [[8739, 824]], 8741: [,, { 824: 8742 }], 8742: [[8741, 824]], 8748: [[8747, 8747], 256], 8749: [[8747, 8747, 8747], 256], 8751: [[8750, 8750], 256], 8752: [[8750, 8750, 8750], 256], 8764: [,, { 824: 8769 }], 8769: [[8764, 824]], 8771: [,, { 824: 8772 }], 8772: [[8771, 824]], 8773: [,, { 824: 8775 }], 8775: [[8773, 824]], 8776: [,, { 824: 8777 }], 8777: [[8776, 824]], 8781: [,, { 824: 8813 }], 8800: [[61, 824]], 8801: [,, { 824: 8802 }], 8802: [[8801, 824]], 8804: [,, { 824: 8816 }], 8805: [,, { 824: 8817 }], 8813: [[8781, 824]], 8814: [[60, 824]], 8815: [[62, 824]], 8816: [[8804, 824]], 8817: [[8805, 824]], 8818: [,, { 824: 8820 }], 8819: [,, { 824: 8821 }], 8820: [[8818, 824]], 8821: [[8819, 824]], 8822: [,, { 824: 8824 }], 8823: [,, { 824: 8825 }], 8824: [[8822, 824]], 8825: [[8823, 824]], 8826: [,, { 824: 8832 }], 8827: [,, { 824: 8833 }], 8828: [,, { 824: 8928 }], 8829: [,, { 824: 8929 }], 8832: [[8826, 824]], 8833: [[8827, 824]], 8834: [,, { 824: 8836 }], 8835: [,, { 824: 8837 }], 8836: [[8834, 824]], 8837: [[8835, 824]], 8838: [,, { 824: 8840 }], 8839: [,, { 824: 8841 }], 8840: [[8838, 824]], 8841: [[8839, 824]], 8849: [,, { 824: 8930 }], 8850: [,, { 824: 8931 }], 8866: [,, { 824: 8876 }], 8872: [,, { 824: 8877 }], 8873: [,, { 824: 8878 }], 8875: [,, { 824: 8879 }], 8876: [[8866, 824]], 8877: [[8872, 824]], 8878: [[8873, 824]], 8879: [[8875, 824]], 8882: [,, { 824: 8938 }], 8883: [,, { 824: 8939 }], 8884: [,, { 824: 8940 }], 8885: [,, { 824: 8941 }], 8928: [[8828, 824]], 8929: [[8829, 824]], 8930: [[8849, 824]], 8931: [[8850, 824]], 8938: [[8882, 824]], 8939: [[8883, 824]], 8940: [[8884, 824]], 8941: [[8885, 824]] }, - 8960: { 9001: [[12296]], 9002: [[12297]] }, - 9216: { 9312: [[49], 256], 9313: [[50], 256], 9314: [[51], 256], 9315: [[52], 256], 9316: [[53], 256], 9317: [[54], 256], 9318: [[55], 256], 9319: [[56], 256], 9320: [[57], 256], 9321: [[49, 48], 256], 9322: [[49, 49], 256], 9323: [[49, 50], 256], 9324: [[49, 51], 256], 9325: [[49, 52], 256], 9326: [[49, 53], 256], 9327: [[49, 54], 256], 9328: [[49, 55], 256], 9329: [[49, 56], 256], 9330: [[49, 57], 256], 9331: [[50, 48], 256], 9332: [[40, 49, 41], 256], 9333: [[40, 50, 41], 256], 9334: [[40, 51, 41], 256], 9335: [[40, 52, 41], 256], 9336: [[40, 53, 41], 256], 9337: [[40, 54, 41], 256], 9338: [[40, 55, 41], 256], 9339: [[40, 56, 41], 256], 9340: [[40, 57, 41], 256], 9341: [[40, 49, 48, 41], 256], 9342: [[40, 49, 49, 41], 256], 9343: [[40, 49, 50, 41], 256], 9344: [[40, 49, 51, 41], 256], 9345: [[40, 49, 52, 41], 256], 9346: [[40, 49, 53, 41], 256], 9347: [[40, 49, 54, 41], 256], 9348: [[40, 49, 55, 41], 256], 9349: [[40, 49, 56, 41], 256], 9350: [[40, 49, 57, 41], 256], 9351: [[40, 50, 48, 41], 256], 9352: [[49, 46], 256], 9353: [[50, 46], 256], 9354: [[51, 46], 256], 9355: [[52, 46], 256], 9356: [[53, 46], 256], 9357: [[54, 46], 256], 9358: [[55, 46], 256], 9359: [[56, 46], 256], 9360: [[57, 46], 256], 9361: [[49, 48, 46], 256], 9362: [[49, 49, 46], 256], 9363: [[49, 50, 46], 256], 9364: [[49, 51, 46], 256], 9365: [[49, 52, 46], 256], 9366: [[49, 53, 46], 256], 9367: [[49, 54, 46], 256], 9368: [[49, 55, 46], 256], 9369: [[49, 56, 46], 256], 9370: [[49, 57, 46], 256], 9371: [[50, 48, 46], 256], 9372: [[40, 97, 41], 256], 9373: [[40, 98, 41], 256], 9374: [[40, 99, 41], 256], 9375: [[40, 100, 41], 256], 9376: [[40, 101, 41], 256], 9377: [[40, 102, 41], 256], 9378: [[40, 103, 41], 256], 9379: [[40, 104, 41], 256], 9380: [[40, 105, 41], 256], 9381: [[40, 106, 41], 256], 9382: [[40, 107, 41], 256], 9383: [[40, 108, 41], 256], 9384: [[40, 109, 41], 256], 9385: [[40, 110, 41], 256], 9386: [[40, 111, 41], 256], 9387: [[40, 112, 41], 256], 9388: [[40, 113, 41], 256], 9389: [[40, 114, 41], 256], 9390: [[40, 115, 41], 256], 9391: [[40, 116, 41], 256], 9392: [[40, 117, 41], 256], 9393: [[40, 118, 41], 256], 9394: [[40, 119, 41], 256], 9395: [[40, 120, 41], 256], 9396: [[40, 121, 41], 256], 9397: [[40, 122, 41], 256], 9398: [[65], 256], 9399: [[66], 256], 9400: [[67], 256], 9401: [[68], 256], 9402: [[69], 256], 9403: [[70], 256], 9404: [[71], 256], 9405: [[72], 256], 9406: [[73], 256], 9407: [[74], 256], 9408: [[75], 256], 9409: [[76], 256], 9410: [[77], 256], 9411: [[78], 256], 9412: [[79], 256], 9413: [[80], 256], 9414: [[81], 256], 9415: [[82], 256], 9416: [[83], 256], 9417: [[84], 256], 9418: [[85], 256], 9419: [[86], 256], 9420: [[87], 256], 9421: [[88], 256], 9422: [[89], 256], 9423: [[90], 256], 9424: [[97], 256], 9425: [[98], 256], 9426: [[99], 256], 9427: [[100], 256], 9428: [[101], 256], 9429: [[102], 256], 9430: [[103], 256], 9431: [[104], 256], 9432: [[105], 256], 9433: [[106], 256], 9434: [[107], 256], 9435: [[108], 256], 9436: [[109], 256], 9437: [[110], 256], 9438: [[111], 256], 9439: [[112], 256], 9440: [[113], 256], 9441: [[114], 256], 9442: [[115], 256], 9443: [[116], 256], 9444: [[117], 256], 9445: [[118], 256], 9446: [[119], 256], 9447: [[120], 256], 9448: [[121], 256], 9449: [[122], 256], 9450: [[48], 256] }, - 10752: { 10764: [[8747, 8747, 8747, 8747], 256], 10868: [[58, 58, 61], 256], 10869: [[61, 61], 256], 10870: [[61, 61, 61], 256], 10972: [[10973, 824], 512] }, - 11264: { 11388: [[106], 256], 11389: [[86], 256], 11503: [, 230], 11504: [, 230], 11505: [, 230] }, - 11520: { 11631: [[11617], 256], 11647: [, 9], 11744: [, 230], 11745: [, 230], 11746: [, 230], 11747: [, 230], 11748: [, 230], 11749: [, 230], 11750: [, 230], 11751: [, 230], 11752: [, 230], 11753: [, 230], 11754: [, 230], 11755: [, 230], 11756: [, 230], 11757: [, 230], 11758: [, 230], 11759: [, 230], 11760: [, 230], 11761: [, 230], 11762: [, 230], 11763: [, 230], 11764: [, 230], 11765: [, 230], 11766: [, 230], 11767: [, 230], 11768: [, 230], 11769: [, 230], 11770: [, 230], 11771: [, 230], 11772: [, 230], 11773: [, 230], 11774: [, 230], 11775: [, 230] }, - 11776: { 11935: [[27597], 256], 12019: [[40863], 256] }, - 12032: { 12032: [[19968], 256], 12033: [[20008], 256], 12034: [[20022], 256], 12035: [[20031], 256], 12036: [[20057], 256], 12037: [[20101], 256], 12038: [[20108], 256], 12039: [[20128], 256], 12040: [[20154], 256], 12041: [[20799], 256], 12042: [[20837], 256], 12043: [[20843], 256], 12044: [[20866], 256], 12045: [[20886], 256], 12046: [[20907], 256], 12047: [[20960], 256], 12048: [[20981], 256], 12049: [[20992], 256], 12050: [[21147], 256], 12051: [[21241], 256], 12052: [[21269], 256], 12053: [[21274], 256], 12054: [[21304], 256], 12055: [[21313], 256], 12056: [[21340], 256], 12057: [[21353], 256], 12058: [[21378], 256], 12059: [[21430], 256], 12060: [[21448], 256], 12061: [[21475], 256], 12062: [[22231], 256], 12063: [[22303], 256], 12064: [[22763], 256], 12065: [[22786], 256], 12066: [[22794], 256], 12067: [[22805], 256], 12068: [[22823], 256], 12069: [[22899], 256], 12070: [[23376], 256], 12071: [[23424], 256], 12072: [[23544], 256], 12073: [[23567], 256], 12074: [[23586], 256], 12075: [[23608], 256], 12076: [[23662], 256], 12077: [[23665], 256], 12078: [[24027], 256], 12079: [[24037], 256], 12080: [[24049], 256], 12081: [[24062], 256], 12082: [[24178], 256], 12083: [[24186], 256], 12084: [[24191], 256], 12085: [[24308], 256], 12086: [[24318], 256], 12087: [[24331], 256], 12088: [[24339], 256], 12089: [[24400], 256], 12090: [[24417], 256], 12091: [[24435], 256], 12092: [[24515], 256], 12093: [[25096], 256], 12094: [[25142], 256], 12095: [[25163], 256], 12096: [[25903], 256], 12097: [[25908], 256], 12098: [[25991], 256], 12099: [[26007], 256], 12100: [[26020], 256], 12101: [[26041], 256], 12102: [[26080], 256], 12103: [[26085], 256], 12104: [[26352], 256], 12105: [[26376], 256], 12106: [[26408], 256], 12107: [[27424], 256], 12108: [[27490], 256], 12109: [[27513], 256], 12110: [[27571], 256], 12111: [[27595], 256], 12112: [[27604], 256], 12113: [[27611], 256], 12114: [[27663], 256], 12115: [[27668], 256], 12116: [[27700], 256], 12117: [[28779], 256], 12118: [[29226], 256], 12119: [[29238], 256], 12120: [[29243], 256], 12121: [[29247], 256], 12122: [[29255], 256], 12123: [[29273], 256], 12124: [[29275], 256], 12125: [[29356], 256], 12126: [[29572], 256], 12127: [[29577], 256], 12128: [[29916], 256], 12129: [[29926], 256], 12130: [[29976], 256], 12131: [[29983], 256], 12132: [[29992], 256], 12133: [[30000], 256], 12134: [[30091], 256], 12135: [[30098], 256], 12136: [[30326], 256], 12137: [[30333], 256], 12138: [[30382], 256], 12139: [[30399], 256], 12140: [[30446], 256], 12141: [[30683], 256], 12142: [[30690], 256], 12143: [[30707], 256], 12144: [[31034], 256], 12145: [[31160], 256], 12146: [[31166], 256], 12147: [[31348], 256], 12148: [[31435], 256], 12149: [[31481], 256], 12150: [[31859], 256], 12151: [[31992], 256], 12152: [[32566], 256], 12153: [[32593], 256], 12154: [[32650], 256], 12155: [[32701], 256], 12156: [[32769], 256], 12157: [[32780], 256], 12158: [[32786], 256], 12159: [[32819], 256], 12160: [[32895], 256], 12161: [[32905], 256], 12162: [[33251], 256], 12163: [[33258], 256], 12164: [[33267], 256], 12165: [[33276], 256], 12166: [[33292], 256], 12167: [[33307], 256], 12168: [[33311], 256], 12169: [[33390], 256], 12170: [[33394], 256], 12171: [[33400], 256], 12172: [[34381], 256], 12173: [[34411], 256], 12174: [[34880], 256], 12175: [[34892], 256], 12176: [[34915], 256], 12177: [[35198], 256], 12178: [[35211], 256], 12179: [[35282], 256], 12180: [[35328], 256], 12181: [[35895], 256], 12182: [[35910], 256], 12183: [[35925], 256], 12184: [[35960], 256], 12185: [[35997], 256], 12186: [[36196], 256], 12187: [[36208], 256], 12188: [[36275], 256], 12189: [[36523], 256], 12190: [[36554], 256], 12191: [[36763], 256], 12192: [[36784], 256], 12193: [[36789], 256], 12194: [[37009], 256], 12195: [[37193], 256], 12196: [[37318], 256], 12197: [[37324], 256], 12198: [[37329], 256], 12199: [[38263], 256], 12200: [[38272], 256], 12201: [[38428], 256], 12202: [[38582], 256], 12203: [[38585], 256], 12204: [[38632], 256], 12205: [[38737], 256], 12206: [[38750], 256], 12207: [[38754], 256], 12208: [[38761], 256], 12209: [[38859], 256], 12210: [[38893], 256], 12211: [[38899], 256], 12212: [[38913], 256], 12213: [[39080], 256], 12214: [[39131], 256], 12215: [[39135], 256], 12216: [[39318], 256], 12217: [[39321], 256], 12218: [[39340], 256], 12219: [[39592], 256], 12220: [[39640], 256], 12221: [[39647], 256], 12222: [[39717], 256], 12223: [[39727], 256], 12224: [[39730], 256], 12225: [[39740], 256], 12226: [[39770], 256], 12227: [[40165], 256], 12228: [[40565], 256], 12229: [[40575], 256], 12230: [[40613], 256], 12231: [[40635], 256], 12232: [[40643], 256], 12233: [[40653], 256], 12234: [[40657], 256], 12235: [[40697], 256], 12236: [[40701], 256], 12237: [[40718], 256], 12238: [[40723], 256], 12239: [[40736], 256], 12240: [[40763], 256], 12241: [[40778], 256], 12242: [[40786], 256], 12243: [[40845], 256], 12244: [[40860], 256], 12245: [[40864], 256] }, - 12288: { 12288: [[32], 256], 12330: [, 218], 12331: [, 228], 12332: [, 232], 12333: [, 222], 12334: [, 224], 12335: [, 224], 12342: [[12306], 256], 12344: [[21313], 256], 12345: [[21316], 256], 12346: [[21317], 256], 12358: [,, { 12441: 12436 }], 12363: [,, { 12441: 12364 }], 12364: [[12363, 12441]], 12365: [,, { 12441: 12366 }], 12366: [[12365, 12441]], 12367: [,, { 12441: 12368 }], 12368: [[12367, 12441]], 12369: [,, { 12441: 12370 }], 12370: [[12369, 12441]], 12371: [,, { 12441: 12372 }], 12372: [[12371, 12441]], 12373: [,, { 12441: 12374 }], 12374: [[12373, 12441]], 12375: [,, { 12441: 12376 }], 12376: [[12375, 12441]], 12377: [,, { 12441: 12378 }], 12378: [[12377, 12441]], 12379: [,, { 12441: 12380 }], 12380: [[12379, 12441]], 12381: [,, { 12441: 12382 }], 12382: [[12381, 12441]], 12383: [,, { 12441: 12384 }], 12384: [[12383, 12441]], 12385: [,, { 12441: 12386 }], 12386: [[12385, 12441]], 12388: [,, { 12441: 12389 }], 12389: [[12388, 12441]], 12390: [,, { 12441: 12391 }], 12391: [[12390, 12441]], 12392: [,, { 12441: 12393 }], 12393: [[12392, 12441]], 12399: [,, { 12441: 12400, 12442: 12401 }], 12400: [[12399, 12441]], 12401: [[12399, 12442]], 12402: [,, { 12441: 12403, 12442: 12404 }], 12403: [[12402, 12441]], 12404: [[12402, 12442]], 12405: [,, { 12441: 12406, 12442: 12407 }], 12406: [[12405, 12441]], 12407: [[12405, 12442]], 12408: [,, { 12441: 12409, 12442: 12410 }], 12409: [[12408, 12441]], 12410: [[12408, 12442]], 12411: [,, { 12441: 12412, 12442: 12413 }], 12412: [[12411, 12441]], 12413: [[12411, 12442]], 12436: [[12358, 12441]], 12441: [, 8], 12442: [, 8], 12443: [[32, 12441], 256], 12444: [[32, 12442], 256], 12445: [,, { 12441: 12446 }], 12446: [[12445, 12441]], 12447: [[12424, 12426], 256], 12454: [,, { 12441: 12532 }], 12459: [,, { 12441: 12460 }], 12460: [[12459, 12441]], 12461: [,, { 12441: 12462 }], 12462: [[12461, 12441]], 12463: [,, { 12441: 12464 }], 12464: [[12463, 12441]], 12465: [,, { 12441: 12466 }], 12466: [[12465, 12441]], 12467: [,, { 12441: 12468 }], 12468: [[12467, 12441]], 12469: [,, { 12441: 12470 }], 12470: [[12469, 12441]], 12471: [,, { 12441: 12472 }], 12472: [[12471, 12441]], 12473: [,, { 12441: 12474 }], 12474: [[12473, 12441]], 12475: [,, { 12441: 12476 }], 12476: [[12475, 12441]], 12477: [,, { 12441: 12478 }], 12478: [[12477, 12441]], 12479: [,, { 12441: 12480 }], 12480: [[12479, 12441]], 12481: [,, { 12441: 12482 }], 12482: [[12481, 12441]], 12484: [,, { 12441: 12485 }], 12485: [[12484, 12441]], 12486: [,, { 12441: 12487 }], 12487: [[12486, 12441]], 12488: [,, { 12441: 12489 }], 12489: [[12488, 12441]], 12495: [,, { 12441: 12496, 12442: 12497 }], 12496: [[12495, 12441]], 12497: [[12495, 12442]], 12498: [,, { 12441: 12499, 12442: 12500 }], 12499: [[12498, 12441]], 12500: [[12498, 12442]], 12501: [,, { 12441: 12502, 12442: 12503 }], 12502: [[12501, 12441]], 12503: [[12501, 12442]], 12504: [,, { 12441: 12505, 12442: 12506 }], 12505: [[12504, 12441]], 12506: [[12504, 12442]], 12507: [,, { 12441: 12508, 12442: 12509 }], 12508: [[12507, 12441]], 12509: [[12507, 12442]], 12527: [,, { 12441: 12535 }], 12528: [,, { 12441: 12536 }], 12529: [,, { 12441: 12537 }], 12530: [,, { 12441: 12538 }], 12532: [[12454, 12441]], 12535: [[12527, 12441]], 12536: [[12528, 12441]], 12537: [[12529, 12441]], 12538: [[12530, 12441]], 12541: [,, { 12441: 12542 }], 12542: [[12541, 12441]], 12543: [[12467, 12488], 256] }, - 12544: { 12593: [[4352], 256], 12594: [[4353], 256], 12595: [[4522], 256], 12596: [[4354], 256], 12597: [[4524], 256], 12598: [[4525], 256], 12599: [[4355], 256], 12600: [[4356], 256], 12601: [[4357], 256], 12602: [[4528], 256], 12603: [[4529], 256], 12604: [[4530], 256], 12605: [[4531], 256], 12606: [[4532], 256], 12607: [[4533], 256], 12608: [[4378], 256], 12609: [[4358], 256], 12610: [[4359], 256], 12611: [[4360], 256], 12612: [[4385], 256], 12613: [[4361], 256], 12614: [[4362], 256], 12615: [[4363], 256], 12616: [[4364], 256], 12617: [[4365], 256], 12618: [[4366], 256], 12619: [[4367], 256], 12620: [[4368], 256], 12621: [[4369], 256], 12622: [[4370], 256], 12623: [[4449], 256], 12624: [[4450], 256], 12625: [[4451], 256], 12626: [[4452], 256], 12627: [[4453], 256], 12628: [[4454], 256], 12629: [[4455], 256], 12630: [[4456], 256], 12631: [[4457], 256], 12632: [[4458], 256], 12633: [[4459], 256], 12634: [[4460], 256], 12635: [[4461], 256], 12636: [[4462], 256], 12637: [[4463], 256], 12638: [[4464], 256], 12639: [[4465], 256], 12640: [[4466], 256], 12641: [[4467], 256], 12642: [[4468], 256], 12643: [[4469], 256], 12644: [[4448], 256], 12645: [[4372], 256], 12646: [[4373], 256], 12647: [[4551], 256], 12648: [[4552], 256], 12649: [[4556], 256], 12650: [[4558], 256], 12651: [[4563], 256], 12652: [[4567], 256], 12653: [[4569], 256], 12654: [[4380], 256], 12655: [[4573], 256], 12656: [[4575], 256], 12657: [[4381], 256], 12658: [[4382], 256], 12659: [[4384], 256], 12660: [[4386], 256], 12661: [[4387], 256], 12662: [[4391], 256], 12663: [[4393], 256], 12664: [[4395], 256], 12665: [[4396], 256], 12666: [[4397], 256], 12667: [[4398], 256], 12668: [[4399], 256], 12669: [[4402], 256], 12670: [[4406], 256], 12671: [[4416], 256], 12672: [[4423], 256], 12673: [[4428], 256], 12674: [[4593], 256], 12675: [[4594], 256], 12676: [[4439], 256], 12677: [[4440], 256], 12678: [[4441], 256], 12679: [[4484], 256], 12680: [[4485], 256], 12681: [[4488], 256], 12682: [[4497], 256], 12683: [[4498], 256], 12684: [[4500], 256], 12685: [[4510], 256], 12686: [[4513], 256], 12690: [[19968], 256], 12691: [[20108], 256], 12692: [[19977], 256], 12693: [[22235], 256], 12694: [[19978], 256], 12695: [[20013], 256], 12696: [[19979], 256], 12697: [[30002], 256], 12698: [[20057], 256], 12699: [[19993], 256], 12700: [[19969], 256], 12701: [[22825], 256], 12702: [[22320], 256], 12703: [[20154], 256] }, - 12800: { 12800: [[40, 4352, 41], 256], 12801: [[40, 4354, 41], 256], 12802: [[40, 4355, 41], 256], 12803: [[40, 4357, 41], 256], 12804: [[40, 4358, 41], 256], 12805: [[40, 4359, 41], 256], 12806: [[40, 4361, 41], 256], 12807: [[40, 4363, 41], 256], 12808: [[40, 4364, 41], 256], 12809: [[40, 4366, 41], 256], 12810: [[40, 4367, 41], 256], 12811: [[40, 4368, 41], 256], 12812: [[40, 4369, 41], 256], 12813: [[40, 4370, 41], 256], 12814: [[40, 4352, 4449, 41], 256], 12815: [[40, 4354, 4449, 41], 256], 12816: [[40, 4355, 4449, 41], 256], 12817: [[40, 4357, 4449, 41], 256], 12818: [[40, 4358, 4449, 41], 256], 12819: [[40, 4359, 4449, 41], 256], 12820: [[40, 4361, 4449, 41], 256], 12821: [[40, 4363, 4449, 41], 256], 12822: [[40, 4364, 4449, 41], 256], 12823: [[40, 4366, 4449, 41], 256], 12824: [[40, 4367, 4449, 41], 256], 12825: [[40, 4368, 4449, 41], 256], 12826: [[40, 4369, 4449, 41], 256], 12827: [[40, 4370, 4449, 41], 256], 12828: [[40, 4364, 4462, 41], 256], 12829: [[40, 4363, 4457, 4364, 4453, 4523, 41], 256], 12830: [[40, 4363, 4457, 4370, 4462, 41], 256], 12832: [[40, 19968, 41], 256], 12833: [[40, 20108, 41], 256], 12834: [[40, 19977, 41], 256], 12835: [[40, 22235, 41], 256], 12836: [[40, 20116, 41], 256], 12837: [[40, 20845, 41], 256], 12838: [[40, 19971, 41], 256], 12839: [[40, 20843, 41], 256], 12840: [[40, 20061, 41], 256], 12841: [[40, 21313, 41], 256], 12842: [[40, 26376, 41], 256], 12843: [[40, 28779, 41], 256], 12844: [[40, 27700, 41], 256], 12845: [[40, 26408, 41], 256], 12846: [[40, 37329, 41], 256], 12847: [[40, 22303, 41], 256], 12848: [[40, 26085, 41], 256], 12849: [[40, 26666, 41], 256], 12850: [[40, 26377, 41], 256], 12851: [[40, 31038, 41], 256], 12852: [[40, 21517, 41], 256], 12853: [[40, 29305, 41], 256], 12854: [[40, 36001, 41], 256], 12855: [[40, 31069, 41], 256], 12856: [[40, 21172, 41], 256], 12857: [[40, 20195, 41], 256], 12858: [[40, 21628, 41], 256], 12859: [[40, 23398, 41], 256], 12860: [[40, 30435, 41], 256], 12861: [[40, 20225, 41], 256], 12862: [[40, 36039, 41], 256], 12863: [[40, 21332, 41], 256], 12864: [[40, 31085, 41], 256], 12865: [[40, 20241, 41], 256], 12866: [[40, 33258, 41], 256], 12867: [[40, 33267, 41], 256], 12868: [[21839], 256], 12869: [[24188], 256], 12870: [[25991], 256], 12871: [[31631], 256], 12880: [[80, 84, 69], 256], 12881: [[50, 49], 256], 12882: [[50, 50], 256], 12883: [[50, 51], 256], 12884: [[50, 52], 256], 12885: [[50, 53], 256], 12886: [[50, 54], 256], 12887: [[50, 55], 256], 12888: [[50, 56], 256], 12889: [[50, 57], 256], 12890: [[51, 48], 256], 12891: [[51, 49], 256], 12892: [[51, 50], 256], 12893: [[51, 51], 256], 12894: [[51, 52], 256], 12895: [[51, 53], 256], 12896: [[4352], 256], 12897: [[4354], 256], 12898: [[4355], 256], 12899: [[4357], 256], 12900: [[4358], 256], 12901: [[4359], 256], 12902: [[4361], 256], 12903: [[4363], 256], 12904: [[4364], 256], 12905: [[4366], 256], 12906: [[4367], 256], 12907: [[4368], 256], 12908: [[4369], 256], 12909: [[4370], 256], 12910: [[4352, 4449], 256], 12911: [[4354, 4449], 256], 12912: [[4355, 4449], 256], 12913: [[4357, 4449], 256], 12914: [[4358, 4449], 256], 12915: [[4359, 4449], 256], 12916: [[4361, 4449], 256], 12917: [[4363, 4449], 256], 12918: [[4364, 4449], 256], 12919: [[4366, 4449], 256], 12920: [[4367, 4449], 256], 12921: [[4368, 4449], 256], 12922: [[4369, 4449], 256], 12923: [[4370, 4449], 256], 12924: [[4366, 4449, 4535, 4352, 4457], 256], 12925: [[4364, 4462, 4363, 4468], 256], 12926: [[4363, 4462], 256], 12928: [[19968], 256], 12929: [[20108], 256], 12930: [[19977], 256], 12931: [[22235], 256], 12932: [[20116], 256], 12933: [[20845], 256], 12934: [[19971], 256], 12935: [[20843], 256], 12936: [[20061], 256], 12937: [[21313], 256], 12938: [[26376], 256], 12939: [[28779], 256], 12940: [[27700], 256], 12941: [[26408], 256], 12942: [[37329], 256], 12943: [[22303], 256], 12944: [[26085], 256], 12945: [[26666], 256], 12946: [[26377], 256], 12947: [[31038], 256], 12948: [[21517], 256], 12949: [[29305], 256], 12950: [[36001], 256], 12951: [[31069], 256], 12952: [[21172], 256], 12953: [[31192], 256], 12954: [[30007], 256], 12955: [[22899], 256], 12956: [[36969], 256], 12957: [[20778], 256], 12958: [[21360], 256], 12959: [[27880], 256], 12960: [[38917], 256], 12961: [[20241], 256], 12962: [[20889], 256], 12963: [[27491], 256], 12964: [[19978], 256], 12965: [[20013], 256], 12966: [[19979], 256], 12967: [[24038], 256], 12968: [[21491], 256], 12969: [[21307], 256], 12970: [[23447], 256], 12971: [[23398], 256], 12972: [[30435], 256], 12973: [[20225], 256], 12974: [[36039], 256], 12975: [[21332], 256], 12976: [[22812], 256], 12977: [[51, 54], 256], 12978: [[51, 55], 256], 12979: [[51, 56], 256], 12980: [[51, 57], 256], 12981: [[52, 48], 256], 12982: [[52, 49], 256], 12983: [[52, 50], 256], 12984: [[52, 51], 256], 12985: [[52, 52], 256], 12986: [[52, 53], 256], 12987: [[52, 54], 256], 12988: [[52, 55], 256], 12989: [[52, 56], 256], 12990: [[52, 57], 256], 12991: [[53, 48], 256], 12992: [[49, 26376], 256], 12993: [[50, 26376], 256], 12994: [[51, 26376], 256], 12995: [[52, 26376], 256], 12996: [[53, 26376], 256], 12997: [[54, 26376], 256], 12998: [[55, 26376], 256], 12999: [[56, 26376], 256], 13000: [[57, 26376], 256], 13001: [[49, 48, 26376], 256], 13002: [[49, 49, 26376], 256], 13003: [[49, 50, 26376], 256], 13004: [[72, 103], 256], 13005: [[101, 114, 103], 256], 13006: [[101, 86], 256], 13007: [[76, 84, 68], 256], 13008: [[12450], 256], 13009: [[12452], 256], 13010: [[12454], 256], 13011: [[12456], 256], 13012: [[12458], 256], 13013: [[12459], 256], 13014: [[12461], 256], 13015: [[12463], 256], 13016: [[12465], 256], 13017: [[12467], 256], 13018: [[12469], 256], 13019: [[12471], 256], 13020: [[12473], 256], 13021: [[12475], 256], 13022: [[12477], 256], 13023: [[12479], 256], 13024: [[12481], 256], 13025: [[12484], 256], 13026: [[12486], 256], 13027: [[12488], 256], 13028: [[12490], 256], 13029: [[12491], 256], 13030: [[12492], 256], 13031: [[12493], 256], 13032: [[12494], 256], 13033: [[12495], 256], 13034: [[12498], 256], 13035: [[12501], 256], 13036: [[12504], 256], 13037: [[12507], 256], 13038: [[12510], 256], 13039: [[12511], 256], 13040: [[12512], 256], 13041: [[12513], 256], 13042: [[12514], 256], 13043: [[12516], 256], 13044: [[12518], 256], 13045: [[12520], 256], 13046: [[12521], 256], 13047: [[12522], 256], 13048: [[12523], 256], 13049: [[12524], 256], 13050: [[12525], 256], 13051: [[12527], 256], 13052: [[12528], 256], 13053: [[12529], 256], 13054: [[12530], 256] }, - 13056: { 13056: [[12450, 12497, 12540, 12488], 256], 13057: [[12450, 12523, 12501, 12449], 256], 13058: [[12450, 12531, 12506, 12450], 256], 13059: [[12450, 12540, 12523], 256], 13060: [[12452, 12491, 12531, 12464], 256], 13061: [[12452, 12531, 12481], 256], 13062: [[12454, 12457, 12531], 256], 13063: [[12456, 12473, 12463, 12540, 12489], 256], 13064: [[12456, 12540, 12459, 12540], 256], 13065: [[12458, 12531, 12473], 256], 13066: [[12458, 12540, 12512], 256], 13067: [[12459, 12452, 12522], 256], 13068: [[12459, 12521, 12483, 12488], 256], 13069: [[12459, 12525, 12522, 12540], 256], 13070: [[12460, 12525, 12531], 256], 13071: [[12460, 12531, 12510], 256], 13072: [[12462, 12460], 256], 13073: [[12462, 12491, 12540], 256], 13074: [[12461, 12517, 12522, 12540], 256], 13075: [[12462, 12523, 12480, 12540], 256], 13076: [[12461, 12525], 256], 13077: [[12461, 12525, 12464, 12521, 12512], 256], 13078: [[12461, 12525, 12513, 12540, 12488, 12523], 256], 13079: [[12461, 12525, 12527, 12483, 12488], 256], 13080: [[12464, 12521, 12512], 256], 13081: [[12464, 12521, 12512, 12488, 12531], 256], 13082: [[12463, 12523, 12476, 12452, 12525], 256], 13083: [[12463, 12525, 12540, 12493], 256], 13084: [[12465, 12540, 12473], 256], 13085: [[12467, 12523, 12490], 256], 13086: [[12467, 12540, 12509], 256], 13087: [[12469, 12452, 12463, 12523], 256], 13088: [[12469, 12531, 12481, 12540, 12512], 256], 13089: [[12471, 12522, 12531, 12464], 256], 13090: [[12475, 12531, 12481], 256], 13091: [[12475, 12531, 12488], 256], 13092: [[12480, 12540, 12473], 256], 13093: [[12487, 12471], 256], 13094: [[12489, 12523], 256], 13095: [[12488, 12531], 256], 13096: [[12490, 12494], 256], 13097: [[12494, 12483, 12488], 256], 13098: [[12495, 12452, 12484], 256], 13099: [[12497, 12540, 12475, 12531, 12488], 256], 13100: [[12497, 12540, 12484], 256], 13101: [[12496, 12540, 12524, 12523], 256], 13102: [[12500, 12450, 12473, 12488, 12523], 256], 13103: [[12500, 12463, 12523], 256], 13104: [[12500, 12467], 256], 13105: [[12499, 12523], 256], 13106: [[12501, 12449, 12521, 12483, 12489], 256], 13107: [[12501, 12451, 12540, 12488], 256], 13108: [[12502, 12483, 12471, 12455, 12523], 256], 13109: [[12501, 12521, 12531], 256], 13110: [[12504, 12463, 12479, 12540, 12523], 256], 13111: [[12506, 12477], 256], 13112: [[12506, 12491, 12498], 256], 13113: [[12504, 12523, 12484], 256], 13114: [[12506, 12531, 12473], 256], 13115: [[12506, 12540, 12472], 256], 13116: [[12505, 12540, 12479], 256], 13117: [[12509, 12452, 12531, 12488], 256], 13118: [[12508, 12523, 12488], 256], 13119: [[12507, 12531], 256], 13120: [[12509, 12531, 12489], 256], 13121: [[12507, 12540, 12523], 256], 13122: [[12507, 12540, 12531], 256], 13123: [[12510, 12452, 12463, 12525], 256], 13124: [[12510, 12452, 12523], 256], 13125: [[12510, 12483, 12495], 256], 13126: [[12510, 12523, 12463], 256], 13127: [[12510, 12531, 12471, 12519, 12531], 256], 13128: [[12511, 12463, 12525, 12531], 256], 13129: [[12511, 12522], 256], 13130: [[12511, 12522, 12496, 12540, 12523], 256], 13131: [[12513, 12460], 256], 13132: [[12513, 12460, 12488, 12531], 256], 13133: [[12513, 12540, 12488, 12523], 256], 13134: [[12516, 12540, 12489], 256], 13135: [[12516, 12540, 12523], 256], 13136: [[12518, 12450, 12531], 256], 13137: [[12522, 12483, 12488, 12523], 256], 13138: [[12522, 12521], 256], 13139: [[12523, 12500, 12540], 256], 13140: [[12523, 12540, 12502, 12523], 256], 13141: [[12524, 12512], 256], 13142: [[12524, 12531, 12488, 12466, 12531], 256], 13143: [[12527, 12483, 12488], 256], 13144: [[48, 28857], 256], 13145: [[49, 28857], 256], 13146: [[50, 28857], 256], 13147: [[51, 28857], 256], 13148: [[52, 28857], 256], 13149: [[53, 28857], 256], 13150: [[54, 28857], 256], 13151: [[55, 28857], 256], 13152: [[56, 28857], 256], 13153: [[57, 28857], 256], 13154: [[49, 48, 28857], 256], 13155: [[49, 49, 28857], 256], 13156: [[49, 50, 28857], 256], 13157: [[49, 51, 28857], 256], 13158: [[49, 52, 28857], 256], 13159: [[49, 53, 28857], 256], 13160: [[49, 54, 28857], 256], 13161: [[49, 55, 28857], 256], 13162: [[49, 56, 28857], 256], 13163: [[49, 57, 28857], 256], 13164: [[50, 48, 28857], 256], 13165: [[50, 49, 28857], 256], 13166: [[50, 50, 28857], 256], 13167: [[50, 51, 28857], 256], 13168: [[50, 52, 28857], 256], 13169: [[104, 80, 97], 256], 13170: [[100, 97], 256], 13171: [[65, 85], 256], 13172: [[98, 97, 114], 256], 13173: [[111, 86], 256], 13174: [[112, 99], 256], 13175: [[100, 109], 256], 13176: [[100, 109, 178], 256], 13177: [[100, 109, 179], 256], 13178: [[73, 85], 256], 13179: [[24179, 25104], 256], 13180: [[26157, 21644], 256], 13181: [[22823, 27491], 256], 13182: [[26126, 27835], 256], 13183: [[26666, 24335, 20250, 31038], 256], 13184: [[112, 65], 256], 13185: [[110, 65], 256], 13186: [[956, 65], 256], 13187: [[109, 65], 256], 13188: [[107, 65], 256], 13189: [[75, 66], 256], 13190: [[77, 66], 256], 13191: [[71, 66], 256], 13192: [[99, 97, 108], 256], 13193: [[107, 99, 97, 108], 256], 13194: [[112, 70], 256], 13195: [[110, 70], 256], 13196: [[956, 70], 256], 13197: [[956, 103], 256], 13198: [[109, 103], 256], 13199: [[107, 103], 256], 13200: [[72, 122], 256], 13201: [[107, 72, 122], 256], 13202: [[77, 72, 122], 256], 13203: [[71, 72, 122], 256], 13204: [[84, 72, 122], 256], 13205: [[956, 8467], 256], 13206: [[109, 8467], 256], 13207: [[100, 8467], 256], 13208: [[107, 8467], 256], 13209: [[102, 109], 256], 13210: [[110, 109], 256], 13211: [[956, 109], 256], 13212: [[109, 109], 256], 13213: [[99, 109], 256], 13214: [[107, 109], 256], 13215: [[109, 109, 178], 256], 13216: [[99, 109, 178], 256], 13217: [[109, 178], 256], 13218: [[107, 109, 178], 256], 13219: [[109, 109, 179], 256], 13220: [[99, 109, 179], 256], 13221: [[109, 179], 256], 13222: [[107, 109, 179], 256], 13223: [[109, 8725, 115], 256], 13224: [[109, 8725, 115, 178], 256], 13225: [[80, 97], 256], 13226: [[107, 80, 97], 256], 13227: [[77, 80, 97], 256], 13228: [[71, 80, 97], 256], 13229: [[114, 97, 100], 256], 13230: [[114, 97, 100, 8725, 115], 256], 13231: [[114, 97, 100, 8725, 115, 178], 256], 13232: [[112, 115], 256], 13233: [[110, 115], 256], 13234: [[956, 115], 256], 13235: [[109, 115], 256], 13236: [[112, 86], 256], 13237: [[110, 86], 256], 13238: [[956, 86], 256], 13239: [[109, 86], 256], 13240: [[107, 86], 256], 13241: [[77, 86], 256], 13242: [[112, 87], 256], 13243: [[110, 87], 256], 13244: [[956, 87], 256], 13245: [[109, 87], 256], 13246: [[107, 87], 256], 13247: [[77, 87], 256], 13248: [[107, 937], 256], 13249: [[77, 937], 256], 13250: [[97, 46, 109, 46], 256], 13251: [[66, 113], 256], 13252: [[99, 99], 256], 13253: [[99, 100], 256], 13254: [[67, 8725, 107, 103], 256], 13255: [[67, 111, 46], 256], 13256: [[100, 66], 256], 13257: [[71, 121], 256], 13258: [[104, 97], 256], 13259: [[72, 80], 256], 13260: [[105, 110], 256], 13261: [[75, 75], 256], 13262: [[75, 77], 256], 13263: [[107, 116], 256], 13264: [[108, 109], 256], 13265: [[108, 110], 256], 13266: [[108, 111, 103], 256], 13267: [[108, 120], 256], 13268: [[109, 98], 256], 13269: [[109, 105, 108], 256], 13270: [[109, 111, 108], 256], 13271: [[80, 72], 256], 13272: [[112, 46, 109, 46], 256], 13273: [[80, 80, 77], 256], 13274: [[80, 82], 256], 13275: [[115, 114], 256], 13276: [[83, 118], 256], 13277: [[87, 98], 256], 13278: [[86, 8725, 109], 256], 13279: [[65, 8725, 109], 256], 13280: [[49, 26085], 256], 13281: [[50, 26085], 256], 13282: [[51, 26085], 256], 13283: [[52, 26085], 256], 13284: [[53, 26085], 256], 13285: [[54, 26085], 256], 13286: [[55, 26085], 256], 13287: [[56, 26085], 256], 13288: [[57, 26085], 256], 13289: [[49, 48, 26085], 256], 13290: [[49, 49, 26085], 256], 13291: [[49, 50, 26085], 256], 13292: [[49, 51, 26085], 256], 13293: [[49, 52, 26085], 256], 13294: [[49, 53, 26085], 256], 13295: [[49, 54, 26085], 256], 13296: [[49, 55, 26085], 256], 13297: [[49, 56, 26085], 256], 13298: [[49, 57, 26085], 256], 13299: [[50, 48, 26085], 256], 13300: [[50, 49, 26085], 256], 13301: [[50, 50, 26085], 256], 13302: [[50, 51, 26085], 256], 13303: [[50, 52, 26085], 256], 13304: [[50, 53, 26085], 256], 13305: [[50, 54, 26085], 256], 13306: [[50, 55, 26085], 256], 13307: [[50, 56, 26085], 256], 13308: [[50, 57, 26085], 256], 13309: [[51, 48, 26085], 256], 13310: [[51, 49, 26085], 256], 13311: [[103, 97, 108], 256] }, - 27136: { 92912: [, 1], 92913: [, 1], 92914: [, 1], 92915: [, 1], 92916: [, 1] }, - 27392: { 92976: [, 230], 92977: [, 230], 92978: [, 230], 92979: [, 230], 92980: [, 230], 92981: [, 230], 92982: [, 230] }, - 42496: { 42607: [, 230], 42612: [, 230], 42613: [, 230], 42614: [, 230], 42615: [, 230], 42616: [, 230], 42617: [, 230], 42618: [, 230], 42619: [, 230], 42620: [, 230], 42621: [, 230], 42652: [[1098], 256], 42653: [[1100], 256], 42655: [, 230], 42736: [, 230], 42737: [, 230] }, - 42752: { 42864: [[42863], 256], 43000: [[294], 256], 43001: [[339], 256] }, - 43008: { 43014: [, 9], 43204: [, 9], 43232: [, 230], 43233: [, 230], 43234: [, 230], 43235: [, 230], 43236: [, 230], 43237: [, 230], 43238: [, 230], 43239: [, 230], 43240: [, 230], 43241: [, 230], 43242: [, 230], 43243: [, 230], 43244: [, 230], 43245: [, 230], 43246: [, 230], 43247: [, 230], 43248: [, 230], 43249: [, 230] }, - 43264: { 43307: [, 220], 43308: [, 220], 43309: [, 220], 43347: [, 9], 43443: [, 7], 43456: [, 9] }, - 43520: { 43696: [, 230], 43698: [, 230], 43699: [, 230], 43700: [, 220], 43703: [, 230], 43704: [, 230], 43710: [, 230], 43711: [, 230], 43713: [, 230], 43766: [, 9] }, - 43776: { 43868: [[42791], 256], 43869: [[43831], 256], 43870: [[619], 256], 43871: [[43858], 256], 44013: [, 9] }, - 48128: { 113822: [, 1] }, - 53504: { 119134: [[119127, 119141], 512], 119135: [[119128, 119141], 512], 119136: [[119135, 119150], 512], 119137: [[119135, 119151], 512], 119138: [[119135, 119152], 512], 119139: [[119135, 119153], 512], 119140: [[119135, 119154], 512], 119141: [, 216], 119142: [, 216], 119143: [, 1], 119144: [, 1], 119145: [, 1], 119149: [, 226], 119150: [, 216], 119151: [, 216], 119152: [, 216], 119153: [, 216], 119154: [, 216], 119163: [, 220], 119164: [, 220], 119165: [, 220], 119166: [, 220], 119167: [, 220], 119168: [, 220], 119169: [, 220], 119170: [, 220], 119173: [, 230], 119174: [, 230], 119175: [, 230], 119176: [, 230], 119177: [, 230], 119178: [, 220], 119179: [, 220], 119210: [, 230], 119211: [, 230], 119212: [, 230], 119213: [, 230], 119227: [[119225, 119141], 512], 119228: [[119226, 119141], 512], 119229: [[119227, 119150], 512], 119230: [[119228, 119150], 512], 119231: [[119227, 119151], 512], 119232: [[119228, 119151], 512] }, - 53760: { 119362: [, 230], 119363: [, 230], 119364: [, 230] }, - 54272: { 119808: [[65], 256], 119809: [[66], 256], 119810: [[67], 256], 119811: [[68], 256], 119812: [[69], 256], 119813: [[70], 256], 119814: [[71], 256], 119815: [[72], 256], 119816: [[73], 256], 119817: [[74], 256], 119818: [[75], 256], 119819: [[76], 256], 119820: [[77], 256], 119821: [[78], 256], 119822: [[79], 256], 119823: [[80], 256], 119824: [[81], 256], 119825: [[82], 256], 119826: [[83], 256], 119827: [[84], 256], 119828: [[85], 256], 119829: [[86], 256], 119830: [[87], 256], 119831: [[88], 256], 119832: [[89], 256], 119833: [[90], 256], 119834: [[97], 256], 119835: [[98], 256], 119836: [[99], 256], 119837: [[100], 256], 119838: [[101], 256], 119839: [[102], 256], 119840: [[103], 256], 119841: [[104], 256], 119842: [[105], 256], 119843: [[106], 256], 119844: [[107], 256], 119845: [[108], 256], 119846: [[109], 256], 119847: [[110], 256], 119848: [[111], 256], 119849: [[112], 256], 119850: [[113], 256], 119851: [[114], 256], 119852: [[115], 256], 119853: [[116], 256], 119854: [[117], 256], 119855: [[118], 256], 119856: [[119], 256], 119857: [[120], 256], 119858: [[121], 256], 119859: [[122], 256], 119860: [[65], 256], 119861: [[66], 256], 119862: [[67], 256], 119863: [[68], 256], 119864: [[69], 256], 119865: [[70], 256], 119866: [[71], 256], 119867: [[72], 256], 119868: [[73], 256], 119869: [[74], 256], 119870: [[75], 256], 119871: [[76], 256], 119872: [[77], 256], 119873: [[78], 256], 119874: [[79], 256], 119875: [[80], 256], 119876: [[81], 256], 119877: [[82], 256], 119878: [[83], 256], 119879: [[84], 256], 119880: [[85], 256], 119881: [[86], 256], 119882: [[87], 256], 119883: [[88], 256], 119884: [[89], 256], 119885: [[90], 256], 119886: [[97], 256], 119887: [[98], 256], 119888: [[99], 256], 119889: [[100], 256], 119890: [[101], 256], 119891: [[102], 256], 119892: [[103], 256], 119894: [[105], 256], 119895: [[106], 256], 119896: [[107], 256], 119897: [[108], 256], 119898: [[109], 256], 119899: [[110], 256], 119900: [[111], 256], 119901: [[112], 256], 119902: [[113], 256], 119903: [[114], 256], 119904: [[115], 256], 119905: [[116], 256], 119906: [[117], 256], 119907: [[118], 256], 119908: [[119], 256], 119909: [[120], 256], 119910: [[121], 256], 119911: [[122], 256], 119912: [[65], 256], 119913: [[66], 256], 119914: [[67], 256], 119915: [[68], 256], 119916: [[69], 256], 119917: [[70], 256], 119918: [[71], 256], 119919: [[72], 256], 119920: [[73], 256], 119921: [[74], 256], 119922: [[75], 256], 119923: [[76], 256], 119924: [[77], 256], 119925: [[78], 256], 119926: [[79], 256], 119927: [[80], 256], 119928: [[81], 256], 119929: [[82], 256], 119930: [[83], 256], 119931: [[84], 256], 119932: [[85], 256], 119933: [[86], 256], 119934: [[87], 256], 119935: [[88], 256], 119936: [[89], 256], 119937: [[90], 256], 119938: [[97], 256], 119939: [[98], 256], 119940: [[99], 256], 119941: [[100], 256], 119942: [[101], 256], 119943: [[102], 256], 119944: [[103], 256], 119945: [[104], 256], 119946: [[105], 256], 119947: [[106], 256], 119948: [[107], 256], 119949: [[108], 256], 119950: [[109], 256], 119951: [[110], 256], 119952: [[111], 256], 119953: [[112], 256], 119954: [[113], 256], 119955: [[114], 256], 119956: [[115], 256], 119957: [[116], 256], 119958: [[117], 256], 119959: [[118], 256], 119960: [[119], 256], 119961: [[120], 256], 119962: [[121], 256], 119963: [[122], 256], 119964: [[65], 256], 119966: [[67], 256], 119967: [[68], 256], 119970: [[71], 256], 119973: [[74], 256], 119974: [[75], 256], 119977: [[78], 256], 119978: [[79], 256], 119979: [[80], 256], 119980: [[81], 256], 119982: [[83], 256], 119983: [[84], 256], 119984: [[85], 256], 119985: [[86], 256], 119986: [[87], 256], 119987: [[88], 256], 119988: [[89], 256], 119989: [[90], 256], 119990: [[97], 256], 119991: [[98], 256], 119992: [[99], 256], 119993: [[100], 256], 119995: [[102], 256], 119997: [[104], 256], 119998: [[105], 256], 119999: [[106], 256], 120000: [[107], 256], 120001: [[108], 256], 120002: [[109], 256], 120003: [[110], 256], 120005: [[112], 256], 120006: [[113], 256], 120007: [[114], 256], 120008: [[115], 256], 120009: [[116], 256], 120010: [[117], 256], 120011: [[118], 256], 120012: [[119], 256], 120013: [[120], 256], 120014: [[121], 256], 120015: [[122], 256], 120016: [[65], 256], 120017: [[66], 256], 120018: [[67], 256], 120019: [[68], 256], 120020: [[69], 256], 120021: [[70], 256], 120022: [[71], 256], 120023: [[72], 256], 120024: [[73], 256], 120025: [[74], 256], 120026: [[75], 256], 120027: [[76], 256], 120028: [[77], 256], 120029: [[78], 256], 120030: [[79], 256], 120031: [[80], 256], 120032: [[81], 256], 120033: [[82], 256], 120034: [[83], 256], 120035: [[84], 256], 120036: [[85], 256], 120037: [[86], 256], 120038: [[87], 256], 120039: [[88], 256], 120040: [[89], 256], 120041: [[90], 256], 120042: [[97], 256], 120043: [[98], 256], 120044: [[99], 256], 120045: [[100], 256], 120046: [[101], 256], 120047: [[102], 256], 120048: [[103], 256], 120049: [[104], 256], 120050: [[105], 256], 120051: [[106], 256], 120052: [[107], 256], 120053: [[108], 256], 120054: [[109], 256], 120055: [[110], 256], 120056: [[111], 256], 120057: [[112], 256], 120058: [[113], 256], 120059: [[114], 256], 120060: [[115], 256], 120061: [[116], 256], 120062: [[117], 256], 120063: [[118], 256] }, - 54528: { 120064: [[119], 256], 120065: [[120], 256], 120066: [[121], 256], 120067: [[122], 256], 120068: [[65], 256], 120069: [[66], 256], 120071: [[68], 256], 120072: [[69], 256], 120073: [[70], 256], 120074: [[71], 256], 120077: [[74], 256], 120078: [[75], 256], 120079: [[76], 256], 120080: [[77], 256], 120081: [[78], 256], 120082: [[79], 256], 120083: [[80], 256], 120084: [[81], 256], 120086: [[83], 256], 120087: [[84], 256], 120088: [[85], 256], 120089: [[86], 256], 120090: [[87], 256], 120091: [[88], 256], 120092: [[89], 256], 120094: [[97], 256], 120095: [[98], 256], 120096: [[99], 256], 120097: [[100], 256], 120098: [[101], 256], 120099: [[102], 256], 120100: [[103], 256], 120101: [[104], 256], 120102: [[105], 256], 120103: [[106], 256], 120104: [[107], 256], 120105: [[108], 256], 120106: [[109], 256], 120107: [[110], 256], 120108: [[111], 256], 120109: [[112], 256], 120110: [[113], 256], 120111: [[114], 256], 120112: [[115], 256], 120113: [[116], 256], 120114: [[117], 256], 120115: [[118], 256], 120116: [[119], 256], 120117: [[120], 256], 120118: [[121], 256], 120119: [[122], 256], 120120: [[65], 256], 120121: [[66], 256], 120123: [[68], 256], 120124: [[69], 256], 120125: [[70], 256], 120126: [[71], 256], 120128: [[73], 256], 120129: [[74], 256], 120130: [[75], 256], 120131: [[76], 256], 120132: [[77], 256], 120134: [[79], 256], 120138: [[83], 256], 120139: [[84], 256], 120140: [[85], 256], 120141: [[86], 256], 120142: [[87], 256], 120143: [[88], 256], 120144: [[89], 256], 120146: [[97], 256], 120147: [[98], 256], 120148: [[99], 256], 120149: [[100], 256], 120150: [[101], 256], 120151: [[102], 256], 120152: [[103], 256], 120153: [[104], 256], 120154: [[105], 256], 120155: [[106], 256], 120156: [[107], 256], 120157: [[108], 256], 120158: [[109], 256], 120159: [[110], 256], 120160: [[111], 256], 120161: [[112], 256], 120162: [[113], 256], 120163: [[114], 256], 120164: [[115], 256], 120165: [[116], 256], 120166: [[117], 256], 120167: [[118], 256], 120168: [[119], 256], 120169: [[120], 256], 120170: [[121], 256], 120171: [[122], 256], 120172: [[65], 256], 120173: [[66], 256], 120174: [[67], 256], 120175: [[68], 256], 120176: [[69], 256], 120177: [[70], 256], 120178: [[71], 256], 120179: [[72], 256], 120180: [[73], 256], 120181: [[74], 256], 120182: [[75], 256], 120183: [[76], 256], 120184: [[77], 256], 120185: [[78], 256], 120186: [[79], 256], 120187: [[80], 256], 120188: [[81], 256], 120189: [[82], 256], 120190: [[83], 256], 120191: [[84], 256], 120192: [[85], 256], 120193: [[86], 256], 120194: [[87], 256], 120195: [[88], 256], 120196: [[89], 256], 120197: [[90], 256], 120198: [[97], 256], 120199: [[98], 256], 120200: [[99], 256], 120201: [[100], 256], 120202: [[101], 256], 120203: [[102], 256], 120204: [[103], 256], 120205: [[104], 256], 120206: [[105], 256], 120207: [[106], 256], 120208: [[107], 256], 120209: [[108], 256], 120210: [[109], 256], 120211: [[110], 256], 120212: [[111], 256], 120213: [[112], 256], 120214: [[113], 256], 120215: [[114], 256], 120216: [[115], 256], 120217: [[116], 256], 120218: [[117], 256], 120219: [[118], 256], 120220: [[119], 256], 120221: [[120], 256], 120222: [[121], 256], 120223: [[122], 256], 120224: [[65], 256], 120225: [[66], 256], 120226: [[67], 256], 120227: [[68], 256], 120228: [[69], 256], 120229: [[70], 256], 120230: [[71], 256], 120231: [[72], 256], 120232: [[73], 256], 120233: [[74], 256], 120234: [[75], 256], 120235: [[76], 256], 120236: [[77], 256], 120237: [[78], 256], 120238: [[79], 256], 120239: [[80], 256], 120240: [[81], 256], 120241: [[82], 256], 120242: [[83], 256], 120243: [[84], 256], 120244: [[85], 256], 120245: [[86], 256], 120246: [[87], 256], 120247: [[88], 256], 120248: [[89], 256], 120249: [[90], 256], 120250: [[97], 256], 120251: [[98], 256], 120252: [[99], 256], 120253: [[100], 256], 120254: [[101], 256], 120255: [[102], 256], 120256: [[103], 256], 120257: [[104], 256], 120258: [[105], 256], 120259: [[106], 256], 120260: [[107], 256], 120261: [[108], 256], 120262: [[109], 256], 120263: [[110], 256], 120264: [[111], 256], 120265: [[112], 256], 120266: [[113], 256], 120267: [[114], 256], 120268: [[115], 256], 120269: [[116], 256], 120270: [[117], 256], 120271: [[118], 256], 120272: [[119], 256], 120273: [[120], 256], 120274: [[121], 256], 120275: [[122], 256], 120276: [[65], 256], 120277: [[66], 256], 120278: [[67], 256], 120279: [[68], 256], 120280: [[69], 256], 120281: [[70], 256], 120282: [[71], 256], 120283: [[72], 256], 120284: [[73], 256], 120285: [[74], 256], 120286: [[75], 256], 120287: [[76], 256], 120288: [[77], 256], 120289: [[78], 256], 120290: [[79], 256], 120291: [[80], 256], 120292: [[81], 256], 120293: [[82], 256], 120294: [[83], 256], 120295: [[84], 256], 120296: [[85], 256], 120297: [[86], 256], 120298: [[87], 256], 120299: [[88], 256], 120300: [[89], 256], 120301: [[90], 256], 120302: [[97], 256], 120303: [[98], 256], 120304: [[99], 256], 120305: [[100], 256], 120306: [[101], 256], 120307: [[102], 256], 120308: [[103], 256], 120309: [[104], 256], 120310: [[105], 256], 120311: [[106], 256], 120312: [[107], 256], 120313: [[108], 256], 120314: [[109], 256], 120315: [[110], 256], 120316: [[111], 256], 120317: [[112], 256], 120318: [[113], 256], 120319: [[114], 256] }, - 54784: { 120320: [[115], 256], 120321: [[116], 256], 120322: [[117], 256], 120323: [[118], 256], 120324: [[119], 256], 120325: [[120], 256], 120326: [[121], 256], 120327: [[122], 256], 120328: [[65], 256], 120329: [[66], 256], 120330: [[67], 256], 120331: [[68], 256], 120332: [[69], 256], 120333: [[70], 256], 120334: [[71], 256], 120335: [[72], 256], 120336: [[73], 256], 120337: [[74], 256], 120338: [[75], 256], 120339: [[76], 256], 120340: [[77], 256], 120341: [[78], 256], 120342: [[79], 256], 120343: [[80], 256], 120344: [[81], 256], 120345: [[82], 256], 120346: [[83], 256], 120347: [[84], 256], 120348: [[85], 256], 120349: [[86], 256], 120350: [[87], 256], 120351: [[88], 256], 120352: [[89], 256], 120353: [[90], 256], 120354: [[97], 256], 120355: [[98], 256], 120356: [[99], 256], 120357: [[100], 256], 120358: [[101], 256], 120359: [[102], 256], 120360: [[103], 256], 120361: [[104], 256], 120362: [[105], 256], 120363: [[106], 256], 120364: [[107], 256], 120365: [[108], 256], 120366: [[109], 256], 120367: [[110], 256], 120368: [[111], 256], 120369: [[112], 256], 120370: [[113], 256], 120371: [[114], 256], 120372: [[115], 256], 120373: [[116], 256], 120374: [[117], 256], 120375: [[118], 256], 120376: [[119], 256], 120377: [[120], 256], 120378: [[121], 256], 120379: [[122], 256], 120380: [[65], 256], 120381: [[66], 256], 120382: [[67], 256], 120383: [[68], 256], 120384: [[69], 256], 120385: [[70], 256], 120386: [[71], 256], 120387: [[72], 256], 120388: [[73], 256], 120389: [[74], 256], 120390: [[75], 256], 120391: [[76], 256], 120392: [[77], 256], 120393: [[78], 256], 120394: [[79], 256], 120395: [[80], 256], 120396: [[81], 256], 120397: [[82], 256], 120398: [[83], 256], 120399: [[84], 256], 120400: [[85], 256], 120401: [[86], 256], 120402: [[87], 256], 120403: [[88], 256], 120404: [[89], 256], 120405: [[90], 256], 120406: [[97], 256], 120407: [[98], 256], 120408: [[99], 256], 120409: [[100], 256], 120410: [[101], 256], 120411: [[102], 256], 120412: [[103], 256], 120413: [[104], 256], 120414: [[105], 256], 120415: [[106], 256], 120416: [[107], 256], 120417: [[108], 256], 120418: [[109], 256], 120419: [[110], 256], 120420: [[111], 256], 120421: [[112], 256], 120422: [[113], 256], 120423: [[114], 256], 120424: [[115], 256], 120425: [[116], 256], 120426: [[117], 256], 120427: [[118], 256], 120428: [[119], 256], 120429: [[120], 256], 120430: [[121], 256], 120431: [[122], 256], 120432: [[65], 256], 120433: [[66], 256], 120434: [[67], 256], 120435: [[68], 256], 120436: [[69], 256], 120437: [[70], 256], 120438: [[71], 256], 120439: [[72], 256], 120440: [[73], 256], 120441: [[74], 256], 120442: [[75], 256], 120443: [[76], 256], 120444: [[77], 256], 120445: [[78], 256], 120446: [[79], 256], 120447: [[80], 256], 120448: [[81], 256], 120449: [[82], 256], 120450: [[83], 256], 120451: [[84], 256], 120452: [[85], 256], 120453: [[86], 256], 120454: [[87], 256], 120455: [[88], 256], 120456: [[89], 256], 120457: [[90], 256], 120458: [[97], 256], 120459: [[98], 256], 120460: [[99], 256], 120461: [[100], 256], 120462: [[101], 256], 120463: [[102], 256], 120464: [[103], 256], 120465: [[104], 256], 120466: [[105], 256], 120467: [[106], 256], 120468: [[107], 256], 120469: [[108], 256], 120470: [[109], 256], 120471: [[110], 256], 120472: [[111], 256], 120473: [[112], 256], 120474: [[113], 256], 120475: [[114], 256], 120476: [[115], 256], 120477: [[116], 256], 120478: [[117], 256], 120479: [[118], 256], 120480: [[119], 256], 120481: [[120], 256], 120482: [[121], 256], 120483: [[122], 256], 120484: [[305], 256], 120485: [[567], 256], 120488: [[913], 256], 120489: [[914], 256], 120490: [[915], 256], 120491: [[916], 256], 120492: [[917], 256], 120493: [[918], 256], 120494: [[919], 256], 120495: [[920], 256], 120496: [[921], 256], 120497: [[922], 256], 120498: [[923], 256], 120499: [[924], 256], 120500: [[925], 256], 120501: [[926], 256], 120502: [[927], 256], 120503: [[928], 256], 120504: [[929], 256], 120505: [[1012], 256], 120506: [[931], 256], 120507: [[932], 256], 120508: [[933], 256], 120509: [[934], 256], 120510: [[935], 256], 120511: [[936], 256], 120512: [[937], 256], 120513: [[8711], 256], 120514: [[945], 256], 120515: [[946], 256], 120516: [[947], 256], 120517: [[948], 256], 120518: [[949], 256], 120519: [[950], 256], 120520: [[951], 256], 120521: [[952], 256], 120522: [[953], 256], 120523: [[954], 256], 120524: [[955], 256], 120525: [[956], 256], 120526: [[957], 256], 120527: [[958], 256], 120528: [[959], 256], 120529: [[960], 256], 120530: [[961], 256], 120531: [[962], 256], 120532: [[963], 256], 120533: [[964], 256], 120534: [[965], 256], 120535: [[966], 256], 120536: [[967], 256], 120537: [[968], 256], 120538: [[969], 256], 120539: [[8706], 256], 120540: [[1013], 256], 120541: [[977], 256], 120542: [[1008], 256], 120543: [[981], 256], 120544: [[1009], 256], 120545: [[982], 256], 120546: [[913], 256], 120547: [[914], 256], 120548: [[915], 256], 120549: [[916], 256], 120550: [[917], 256], 120551: [[918], 256], 120552: [[919], 256], 120553: [[920], 256], 120554: [[921], 256], 120555: [[922], 256], 120556: [[923], 256], 120557: [[924], 256], 120558: [[925], 256], 120559: [[926], 256], 120560: [[927], 256], 120561: [[928], 256], 120562: [[929], 256], 120563: [[1012], 256], 120564: [[931], 256], 120565: [[932], 256], 120566: [[933], 256], 120567: [[934], 256], 120568: [[935], 256], 120569: [[936], 256], 120570: [[937], 256], 120571: [[8711], 256], 120572: [[945], 256], 120573: [[946], 256], 120574: [[947], 256], 120575: [[948], 256] }, - 55040: { 120576: [[949], 256], 120577: [[950], 256], 120578: [[951], 256], 120579: [[952], 256], 120580: [[953], 256], 120581: [[954], 256], 120582: [[955], 256], 120583: [[956], 256], 120584: [[957], 256], 120585: [[958], 256], 120586: [[959], 256], 120587: [[960], 256], 120588: [[961], 256], 120589: [[962], 256], 120590: [[963], 256], 120591: [[964], 256], 120592: [[965], 256], 120593: [[966], 256], 120594: [[967], 256], 120595: [[968], 256], 120596: [[969], 256], 120597: [[8706], 256], 120598: [[1013], 256], 120599: [[977], 256], 120600: [[1008], 256], 120601: [[981], 256], 120602: [[1009], 256], 120603: [[982], 256], 120604: [[913], 256], 120605: [[914], 256], 120606: [[915], 256], 120607: [[916], 256], 120608: [[917], 256], 120609: [[918], 256], 120610: [[919], 256], 120611: [[920], 256], 120612: [[921], 256], 120613: [[922], 256], 120614: [[923], 256], 120615: [[924], 256], 120616: [[925], 256], 120617: [[926], 256], 120618: [[927], 256], 120619: [[928], 256], 120620: [[929], 256], 120621: [[1012], 256], 120622: [[931], 256], 120623: [[932], 256], 120624: [[933], 256], 120625: [[934], 256], 120626: [[935], 256], 120627: [[936], 256], 120628: [[937], 256], 120629: [[8711], 256], 120630: [[945], 256], 120631: [[946], 256], 120632: [[947], 256], 120633: [[948], 256], 120634: [[949], 256], 120635: [[950], 256], 120636: [[951], 256], 120637: [[952], 256], 120638: [[953], 256], 120639: [[954], 256], 120640: [[955], 256], 120641: [[956], 256], 120642: [[957], 256], 120643: [[958], 256], 120644: [[959], 256], 120645: [[960], 256], 120646: [[961], 256], 120647: [[962], 256], 120648: [[963], 256], 120649: [[964], 256], 120650: [[965], 256], 120651: [[966], 256], 120652: [[967], 256], 120653: [[968], 256], 120654: [[969], 256], 120655: [[8706], 256], 120656: [[1013], 256], 120657: [[977], 256], 120658: [[1008], 256], 120659: [[981], 256], 120660: [[1009], 256], 120661: [[982], 256], 120662: [[913], 256], 120663: [[914], 256], 120664: [[915], 256], 120665: [[916], 256], 120666: [[917], 256], 120667: [[918], 256], 120668: [[919], 256], 120669: [[920], 256], 120670: [[921], 256], 120671: [[922], 256], 120672: [[923], 256], 120673: [[924], 256], 120674: [[925], 256], 120675: [[926], 256], 120676: [[927], 256], 120677: [[928], 256], 120678: [[929], 256], 120679: [[1012], 256], 120680: [[931], 256], 120681: [[932], 256], 120682: [[933], 256], 120683: [[934], 256], 120684: [[935], 256], 120685: [[936], 256], 120686: [[937], 256], 120687: [[8711], 256], 120688: [[945], 256], 120689: [[946], 256], 120690: [[947], 256], 120691: [[948], 256], 120692: [[949], 256], 120693: [[950], 256], 120694: [[951], 256], 120695: [[952], 256], 120696: [[953], 256], 120697: [[954], 256], 120698: [[955], 256], 120699: [[956], 256], 120700: [[957], 256], 120701: [[958], 256], 120702: [[959], 256], 120703: [[960], 256], 120704: [[961], 256], 120705: [[962], 256], 120706: [[963], 256], 120707: [[964], 256], 120708: [[965], 256], 120709: [[966], 256], 120710: [[967], 256], 120711: [[968], 256], 120712: [[969], 256], 120713: [[8706], 256], 120714: [[1013], 256], 120715: [[977], 256], 120716: [[1008], 256], 120717: [[981], 256], 120718: [[1009], 256], 120719: [[982], 256], 120720: [[913], 256], 120721: [[914], 256], 120722: [[915], 256], 120723: [[916], 256], 120724: [[917], 256], 120725: [[918], 256], 120726: [[919], 256], 120727: [[920], 256], 120728: [[921], 256], 120729: [[922], 256], 120730: [[923], 256], 120731: [[924], 256], 120732: [[925], 256], 120733: [[926], 256], 120734: [[927], 256], 120735: [[928], 256], 120736: [[929], 256], 120737: [[1012], 256], 120738: [[931], 256], 120739: [[932], 256], 120740: [[933], 256], 120741: [[934], 256], 120742: [[935], 256], 120743: [[936], 256], 120744: [[937], 256], 120745: [[8711], 256], 120746: [[945], 256], 120747: [[946], 256], 120748: [[947], 256], 120749: [[948], 256], 120750: [[949], 256], 120751: [[950], 256], 120752: [[951], 256], 120753: [[952], 256], 120754: [[953], 256], 120755: [[954], 256], 120756: [[955], 256], 120757: [[956], 256], 120758: [[957], 256], 120759: [[958], 256], 120760: [[959], 256], 120761: [[960], 256], 120762: [[961], 256], 120763: [[962], 256], 120764: [[963], 256], 120765: [[964], 256], 120766: [[965], 256], 120767: [[966], 256], 120768: [[967], 256], 120769: [[968], 256], 120770: [[969], 256], 120771: [[8706], 256], 120772: [[1013], 256], 120773: [[977], 256], 120774: [[1008], 256], 120775: [[981], 256], 120776: [[1009], 256], 120777: [[982], 256], 120778: [[988], 256], 120779: [[989], 256], 120782: [[48], 256], 120783: [[49], 256], 120784: [[50], 256], 120785: [[51], 256], 120786: [[52], 256], 120787: [[53], 256], 120788: [[54], 256], 120789: [[55], 256], 120790: [[56], 256], 120791: [[57], 256], 120792: [[48], 256], 120793: [[49], 256], 120794: [[50], 256], 120795: [[51], 256], 120796: [[52], 256], 120797: [[53], 256], 120798: [[54], 256], 120799: [[55], 256], 120800: [[56], 256], 120801: [[57], 256], 120802: [[48], 256], 120803: [[49], 256], 120804: [[50], 256], 120805: [[51], 256], 120806: [[52], 256], 120807: [[53], 256], 120808: [[54], 256], 120809: [[55], 256], 120810: [[56], 256], 120811: [[57], 256], 120812: [[48], 256], 120813: [[49], 256], 120814: [[50], 256], 120815: [[51], 256], 120816: [[52], 256], 120817: [[53], 256], 120818: [[54], 256], 120819: [[55], 256], 120820: [[56], 256], 120821: [[57], 256], 120822: [[48], 256], 120823: [[49], 256], 120824: [[50], 256], 120825: [[51], 256], 120826: [[52], 256], 120827: [[53], 256], 120828: [[54], 256], 120829: [[55], 256], 120830: [[56], 256], 120831: [[57], 256] }, - 59392: { 125136: [, 220], 125137: [, 220], 125138: [, 220], 125139: [, 220], 125140: [, 220], 125141: [, 220], 125142: [, 220] }, - 60928: { 126464: [[1575], 256], 126465: [[1576], 256], 126466: [[1580], 256], 126467: [[1583], 256], 126469: [[1608], 256], 126470: [[1586], 256], 126471: [[1581], 256], 126472: [[1591], 256], 126473: [[1610], 256], 126474: [[1603], 256], 126475: [[1604], 256], 126476: [[1605], 256], 126477: [[1606], 256], 126478: [[1587], 256], 126479: [[1593], 256], 126480: [[1601], 256], 126481: [[1589], 256], 126482: [[1602], 256], 126483: [[1585], 256], 126484: [[1588], 256], 126485: [[1578], 256], 126486: [[1579], 256], 126487: [[1582], 256], 126488: [[1584], 256], 126489: [[1590], 256], 126490: [[1592], 256], 126491: [[1594], 256], 126492: [[1646], 256], 126493: [[1722], 256], 126494: [[1697], 256], 126495: [[1647], 256], 126497: [[1576], 256], 126498: [[1580], 256], 126500: [[1607], 256], 126503: [[1581], 256], 126505: [[1610], 256], 126506: [[1603], 256], 126507: [[1604], 256], 126508: [[1605], 256], 126509: [[1606], 256], 126510: [[1587], 256], 126511: [[1593], 256], 126512: [[1601], 256], 126513: [[1589], 256], 126514: [[1602], 256], 126516: [[1588], 256], 126517: [[1578], 256], 126518: [[1579], 256], 126519: [[1582], 256], 126521: [[1590], 256], 126523: [[1594], 256], 126530: [[1580], 256], 126535: [[1581], 256], 126537: [[1610], 256], 126539: [[1604], 256], 126541: [[1606], 256], 126542: [[1587], 256], 126543: [[1593], 256], 126545: [[1589], 256], 126546: [[1602], 256], 126548: [[1588], 256], 126551: [[1582], 256], 126553: [[1590], 256], 126555: [[1594], 256], 126557: [[1722], 256], 126559: [[1647], 256], 126561: [[1576], 256], 126562: [[1580], 256], 126564: [[1607], 256], 126567: [[1581], 256], 126568: [[1591], 256], 126569: [[1610], 256], 126570: [[1603], 256], 126572: [[1605], 256], 126573: [[1606], 256], 126574: [[1587], 256], 126575: [[1593], 256], 126576: [[1601], 256], 126577: [[1589], 256], 126578: [[1602], 256], 126580: [[1588], 256], 126581: [[1578], 256], 126582: [[1579], 256], 126583: [[1582], 256], 126585: [[1590], 256], 126586: [[1592], 256], 126587: [[1594], 256], 126588: [[1646], 256], 126590: [[1697], 256], 126592: [[1575], 256], 126593: [[1576], 256], 126594: [[1580], 256], 126595: [[1583], 256], 126596: [[1607], 256], 126597: [[1608], 256], 126598: [[1586], 256], 126599: [[1581], 256], 126600: [[1591], 256], 126601: [[1610], 256], 126603: [[1604], 256], 126604: [[1605], 256], 126605: [[1606], 256], 126606: [[1587], 256], 126607: [[1593], 256], 126608: [[1601], 256], 126609: [[1589], 256], 126610: [[1602], 256], 126611: [[1585], 256], 126612: [[1588], 256], 126613: [[1578], 256], 126614: [[1579], 256], 126615: [[1582], 256], 126616: [[1584], 256], 126617: [[1590], 256], 126618: [[1592], 256], 126619: [[1594], 256], 126625: [[1576], 256], 126626: [[1580], 256], 126627: [[1583], 256], 126629: [[1608], 256], 126630: [[1586], 256], 126631: [[1581], 256], 126632: [[1591], 256], 126633: [[1610], 256], 126635: [[1604], 256], 126636: [[1605], 256], 126637: [[1606], 256], 126638: [[1587], 256], 126639: [[1593], 256], 126640: [[1601], 256], 126641: [[1589], 256], 126642: [[1602], 256], 126643: [[1585], 256], 126644: [[1588], 256], 126645: [[1578], 256], 126646: [[1579], 256], 126647: [[1582], 256], 126648: [[1584], 256], 126649: [[1590], 256], 126650: [[1592], 256], 126651: [[1594], 256] }, - 61696: { 127232: [[48, 46], 256], 127233: [[48, 44], 256], 127234: [[49, 44], 256], 127235: [[50, 44], 256], 127236: [[51, 44], 256], 127237: [[52, 44], 256], 127238: [[53, 44], 256], 127239: [[54, 44], 256], 127240: [[55, 44], 256], 127241: [[56, 44], 256], 127242: [[57, 44], 256], 127248: [[40, 65, 41], 256], 127249: [[40, 66, 41], 256], 127250: [[40, 67, 41], 256], 127251: [[40, 68, 41], 256], 127252: [[40, 69, 41], 256], 127253: [[40, 70, 41], 256], 127254: [[40, 71, 41], 256], 127255: [[40, 72, 41], 256], 127256: [[40, 73, 41], 256], 127257: [[40, 74, 41], 256], 127258: [[40, 75, 41], 256], 127259: [[40, 76, 41], 256], 127260: [[40, 77, 41], 256], 127261: [[40, 78, 41], 256], 127262: [[40, 79, 41], 256], 127263: [[40, 80, 41], 256], 127264: [[40, 81, 41], 256], 127265: [[40, 82, 41], 256], 127266: [[40, 83, 41], 256], 127267: [[40, 84, 41], 256], 127268: [[40, 85, 41], 256], 127269: [[40, 86, 41], 256], 127270: [[40, 87, 41], 256], 127271: [[40, 88, 41], 256], 127272: [[40, 89, 41], 256], 127273: [[40, 90, 41], 256], 127274: [[12308, 83, 12309], 256], 127275: [[67], 256], 127276: [[82], 256], 127277: [[67, 68], 256], 127278: [[87, 90], 256], 127280: [[65], 256], 127281: [[66], 256], 127282: [[67], 256], 127283: [[68], 256], 127284: [[69], 256], 127285: [[70], 256], 127286: [[71], 256], 127287: [[72], 256], 127288: [[73], 256], 127289: [[74], 256], 127290: [[75], 256], 127291: [[76], 256], 127292: [[77], 256], 127293: [[78], 256], 127294: [[79], 256], 127295: [[80], 256], 127296: [[81], 256], 127297: [[82], 256], 127298: [[83], 256], 127299: [[84], 256], 127300: [[85], 256], 127301: [[86], 256], 127302: [[87], 256], 127303: [[88], 256], 127304: [[89], 256], 127305: [[90], 256], 127306: [[72, 86], 256], 127307: [[77, 86], 256], 127308: [[83, 68], 256], 127309: [[83, 83], 256], 127310: [[80, 80, 86], 256], 127311: [[87, 67], 256], 127338: [[77, 67], 256], 127339: [[77, 68], 256], 127376: [[68, 74], 256] }, - 61952: { 127488: [[12411, 12363], 256], 127489: [[12467, 12467], 256], 127490: [[12469], 256], 127504: [[25163], 256], 127505: [[23383], 256], 127506: [[21452], 256], 127507: [[12487], 256], 127508: [[20108], 256], 127509: [[22810], 256], 127510: [[35299], 256], 127511: [[22825], 256], 127512: [[20132], 256], 127513: [[26144], 256], 127514: [[28961], 256], 127515: [[26009], 256], 127516: [[21069], 256], 127517: [[24460], 256], 127518: [[20877], 256], 127519: [[26032], 256], 127520: [[21021], 256], 127521: [[32066], 256], 127522: [[29983], 256], 127523: [[36009], 256], 127524: [[22768], 256], 127525: [[21561], 256], 127526: [[28436], 256], 127527: [[25237], 256], 127528: [[25429], 256], 127529: [[19968], 256], 127530: [[19977], 256], 127531: [[36938], 256], 127532: [[24038], 256], 127533: [[20013], 256], 127534: [[21491], 256], 127535: [[25351], 256], 127536: [[36208], 256], 127537: [[25171], 256], 127538: [[31105], 256], 127539: [[31354], 256], 127540: [[21512], 256], 127541: [[28288], 256], 127542: [[26377], 256], 127543: [[26376], 256], 127544: [[30003], 256], 127545: [[21106], 256], 127546: [[21942], 256], 127552: [[12308, 26412, 12309], 256], 127553: [[12308, 19977, 12309], 256], 127554: [[12308, 20108, 12309], 256], 127555: [[12308, 23433, 12309], 256], 127556: [[12308, 28857, 12309], 256], 127557: [[12308, 25171, 12309], 256], 127558: [[12308, 30423, 12309], 256], 127559: [[12308, 21213, 12309], 256], 127560: [[12308, 25943, 12309], 256], 127568: [[24471], 256], 127569: [[21487], 256] }, - 63488: { 194560: [[20029]], 194561: [[20024]], 194562: [[20033]], 194563: [[131362]], 194564: [[20320]], 194565: [[20398]], 194566: [[20411]], 194567: [[20482]], 194568: [[20602]], 194569: [[20633]], 194570: [[20711]], 194571: [[20687]], 194572: [[13470]], 194573: [[132666]], 194574: [[20813]], 194575: [[20820]], 194576: [[20836]], 194577: [[20855]], 194578: [[132380]], 194579: [[13497]], 194580: [[20839]], 194581: [[20877]], 194582: [[132427]], 194583: [[20887]], 194584: [[20900]], 194585: [[20172]], 194586: [[20908]], 194587: [[20917]], 194588: [[168415]], 194589: [[20981]], 194590: [[20995]], 194591: [[13535]], 194592: [[21051]], 194593: [[21062]], 194594: [[21106]], 194595: [[21111]], 194596: [[13589]], 194597: [[21191]], 194598: [[21193]], 194599: [[21220]], 194600: [[21242]], 194601: [[21253]], 194602: [[21254]], 194603: [[21271]], 194604: [[21321]], 194605: [[21329]], 194606: [[21338]], 194607: [[21363]], 194608: [[21373]], 194609: [[21375]], 194610: [[21375]], 194611: [[21375]], 194612: [[133676]], 194613: [[28784]], 194614: [[21450]], 194615: [[21471]], 194616: [[133987]], 194617: [[21483]], 194618: [[21489]], 194619: [[21510]], 194620: [[21662]], 194621: [[21560]], 194622: [[21576]], 194623: [[21608]], 194624: [[21666]], 194625: [[21750]], 194626: [[21776]], 194627: [[21843]], 194628: [[21859]], 194629: [[21892]], 194630: [[21892]], 194631: [[21913]], 194632: [[21931]], 194633: [[21939]], 194634: [[21954]], 194635: [[22294]], 194636: [[22022]], 194637: [[22295]], 194638: [[22097]], 194639: [[22132]], 194640: [[20999]], 194641: [[22766]], 194642: [[22478]], 194643: [[22516]], 194644: [[22541]], 194645: [[22411]], 194646: [[22578]], 194647: [[22577]], 194648: [[22700]], 194649: [[136420]], 194650: [[22770]], 194651: [[22775]], 194652: [[22790]], 194653: [[22810]], 194654: [[22818]], 194655: [[22882]], 194656: [[136872]], 194657: [[136938]], 194658: [[23020]], 194659: [[23067]], 194660: [[23079]], 194661: [[23000]], 194662: [[23142]], 194663: [[14062]], 194664: [[14076]], 194665: [[23304]], 194666: [[23358]], 194667: [[23358]], 194668: [[137672]], 194669: [[23491]], 194670: [[23512]], 194671: [[23527]], 194672: [[23539]], 194673: [[138008]], 194674: [[23551]], 194675: [[23558]], 194676: [[24403]], 194677: [[23586]], 194678: [[14209]], 194679: [[23648]], 194680: [[23662]], 194681: [[23744]], 194682: [[23693]], 194683: [[138724]], 194684: [[23875]], 194685: [[138726]], 194686: [[23918]], 194687: [[23915]], 194688: [[23932]], 194689: [[24033]], 194690: [[24034]], 194691: [[14383]], 194692: [[24061]], 194693: [[24104]], 194694: [[24125]], 194695: [[24169]], 194696: [[14434]], 194697: [[139651]], 194698: [[14460]], 194699: [[24240]], 194700: [[24243]], 194701: [[24246]], 194702: [[24266]], 194703: [[172946]], 194704: [[24318]], 194705: [[140081]], 194706: [[140081]], 194707: [[33281]], 194708: [[24354]], 194709: [[24354]], 194710: [[14535]], 194711: [[144056]], 194712: [[156122]], 194713: [[24418]], 194714: [[24427]], 194715: [[14563]], 194716: [[24474]], 194717: [[24525]], 194718: [[24535]], 194719: [[24569]], 194720: [[24705]], 194721: [[14650]], 194722: [[14620]], 194723: [[24724]], 194724: [[141012]], 194725: [[24775]], 194726: [[24904]], 194727: [[24908]], 194728: [[24910]], 194729: [[24908]], 194730: [[24954]], 194731: [[24974]], 194732: [[25010]], 194733: [[24996]], 194734: [[25007]], 194735: [[25054]], 194736: [[25074]], 194737: [[25078]], 194738: [[25104]], 194739: [[25115]], 194740: [[25181]], 194741: [[25265]], 194742: [[25300]], 194743: [[25424]], 194744: [[142092]], 194745: [[25405]], 194746: [[25340]], 194747: [[25448]], 194748: [[25475]], 194749: [[25572]], 194750: [[142321]], 194751: [[25634]], 194752: [[25541]], 194753: [[25513]], 194754: [[14894]], 194755: [[25705]], 194756: [[25726]], 194757: [[25757]], 194758: [[25719]], 194759: [[14956]], 194760: [[25935]], 194761: [[25964]], 194762: [[143370]], 194763: [[26083]], 194764: [[26360]], 194765: [[26185]], 194766: [[15129]], 194767: [[26257]], 194768: [[15112]], 194769: [[15076]], 194770: [[20882]], 194771: [[20885]], 194772: [[26368]], 194773: [[26268]], 194774: [[32941]], 194775: [[17369]], 194776: [[26391]], 194777: [[26395]], 194778: [[26401]], 194779: [[26462]], 194780: [[26451]], 194781: [[144323]], 194782: [[15177]], 194783: [[26618]], 194784: [[26501]], 194785: [[26706]], 194786: [[26757]], 194787: [[144493]], 194788: [[26766]], 194789: [[26655]], 194790: [[26900]], 194791: [[15261]], 194792: [[26946]], 194793: [[27043]], 194794: [[27114]], 194795: [[27304]], 194796: [[145059]], 194797: [[27355]], 194798: [[15384]], 194799: [[27425]], 194800: [[145575]], 194801: [[27476]], 194802: [[15438]], 194803: [[27506]], 194804: [[27551]], 194805: [[27578]], 194806: [[27579]], 194807: [[146061]], 194808: [[138507]], 194809: [[146170]], 194810: [[27726]], 194811: [[146620]], 194812: [[27839]], 194813: [[27853]], 194814: [[27751]], 194815: [[27926]] }, - 63744: { 63744: [[35912]], 63745: [[26356]], 63746: [[36554]], 63747: [[36040]], 63748: [[28369]], 63749: [[20018]], 63750: [[21477]], 63751: [[40860]], 63752: [[40860]], 63753: [[22865]], 63754: [[37329]], 63755: [[21895]], 63756: [[22856]], 63757: [[25078]], 63758: [[30313]], 63759: [[32645]], 63760: [[34367]], 63761: [[34746]], 63762: [[35064]], 63763: [[37007]], 63764: [[27138]], 63765: [[27931]], 63766: [[28889]], 63767: [[29662]], 63768: [[33853]], 63769: [[37226]], 63770: [[39409]], 63771: [[20098]], 63772: [[21365]], 63773: [[27396]], 63774: [[29211]], 63775: [[34349]], 63776: [[40478]], 63777: [[23888]], 63778: [[28651]], 63779: [[34253]], 63780: [[35172]], 63781: [[25289]], 63782: [[33240]], 63783: [[34847]], 63784: [[24266]], 63785: [[26391]], 63786: [[28010]], 63787: [[29436]], 63788: [[37070]], 63789: [[20358]], 63790: [[20919]], 63791: [[21214]], 63792: [[25796]], 63793: [[27347]], 63794: [[29200]], 63795: [[30439]], 63796: [[32769]], 63797: [[34310]], 63798: [[34396]], 63799: [[36335]], 63800: [[38706]], 63801: [[39791]], 63802: [[40442]], 63803: [[30860]], 63804: [[31103]], 63805: [[32160]], 63806: [[33737]], 63807: [[37636]], 63808: [[40575]], 63809: [[35542]], 63810: [[22751]], 63811: [[24324]], 63812: [[31840]], 63813: [[32894]], 63814: [[29282]], 63815: [[30922]], 63816: [[36034]], 63817: [[38647]], 63818: [[22744]], 63819: [[23650]], 63820: [[27155]], 63821: [[28122]], 63822: [[28431]], 63823: [[32047]], 63824: [[32311]], 63825: [[38475]], 63826: [[21202]], 63827: [[32907]], 63828: [[20956]], 63829: [[20940]], 63830: [[31260]], 63831: [[32190]], 63832: [[33777]], 63833: [[38517]], 63834: [[35712]], 63835: [[25295]], 63836: [[27138]], 63837: [[35582]], 63838: [[20025]], 63839: [[23527]], 63840: [[24594]], 63841: [[29575]], 63842: [[30064]], 63843: [[21271]], 63844: [[30971]], 63845: [[20415]], 63846: [[24489]], 63847: [[19981]], 63848: [[27852]], 63849: [[25976]], 63850: [[32034]], 63851: [[21443]], 63852: [[22622]], 63853: [[30465]], 63854: [[33865]], 63855: [[35498]], 63856: [[27578]], 63857: [[36784]], 63858: [[27784]], 63859: [[25342]], 63860: [[33509]], 63861: [[25504]], 63862: [[30053]], 63863: [[20142]], 63864: [[20841]], 63865: [[20937]], 63866: [[26753]], 63867: [[31975]], 63868: [[33391]], 63869: [[35538]], 63870: [[37327]], 63871: [[21237]], 63872: [[21570]], 63873: [[22899]], 63874: [[24300]], 63875: [[26053]], 63876: [[28670]], 63877: [[31018]], 63878: [[38317]], 63879: [[39530]], 63880: [[40599]], 63881: [[40654]], 63882: [[21147]], 63883: [[26310]], 63884: [[27511]], 63885: [[36706]], 63886: [[24180]], 63887: [[24976]], 63888: [[25088]], 63889: [[25754]], 63890: [[28451]], 63891: [[29001]], 63892: [[29833]], 63893: [[31178]], 63894: [[32244]], 63895: [[32879]], 63896: [[36646]], 63897: [[34030]], 63898: [[36899]], 63899: [[37706]], 63900: [[21015]], 63901: [[21155]], 63902: [[21693]], 63903: [[28872]], 63904: [[35010]], 63905: [[35498]], 63906: [[24265]], 63907: [[24565]], 63908: [[25467]], 63909: [[27566]], 63910: [[31806]], 63911: [[29557]], 63912: [[20196]], 63913: [[22265]], 63914: [[23527]], 63915: [[23994]], 63916: [[24604]], 63917: [[29618]], 63918: [[29801]], 63919: [[32666]], 63920: [[32838]], 63921: [[37428]], 63922: [[38646]], 63923: [[38728]], 63924: [[38936]], 63925: [[20363]], 63926: [[31150]], 63927: [[37300]], 63928: [[38584]], 63929: [[24801]], 63930: [[20102]], 63931: [[20698]], 63932: [[23534]], 63933: [[23615]], 63934: [[26009]], 63935: [[27138]], 63936: [[29134]], 63937: [[30274]], 63938: [[34044]], 63939: [[36988]], 63940: [[40845]], 63941: [[26248]], 63942: [[38446]], 63943: [[21129]], 63944: [[26491]], 63945: [[26611]], 63946: [[27969]], 63947: [[28316]], 63948: [[29705]], 63949: [[30041]], 63950: [[30827]], 63951: [[32016]], 63952: [[39006]], 63953: [[20845]], 63954: [[25134]], 63955: [[38520]], 63956: [[20523]], 63957: [[23833]], 63958: [[28138]], 63959: [[36650]], 63960: [[24459]], 63961: [[24900]], 63962: [[26647]], 63963: [[29575]], 63964: [[38534]], 63965: [[21033]], 63966: [[21519]], 63967: [[23653]], 63968: [[26131]], 63969: [[26446]], 63970: [[26792]], 63971: [[27877]], 63972: [[29702]], 63973: [[30178]], 63974: [[32633]], 63975: [[35023]], 63976: [[35041]], 63977: [[37324]], 63978: [[38626]], 63979: [[21311]], 63980: [[28346]], 63981: [[21533]], 63982: [[29136]], 63983: [[29848]], 63984: [[34298]], 63985: [[38563]], 63986: [[40023]], 63987: [[40607]], 63988: [[26519]], 63989: [[28107]], 63990: [[33256]], 63991: [[31435]], 63992: [[31520]], 63993: [[31890]], 63994: [[29376]], 63995: [[28825]], 63996: [[35672]], 63997: [[20160]], 63998: [[33590]], 63999: [[21050]], 194816: [[27966]], 194817: [[28023]], 194818: [[27969]], 194819: [[28009]], 194820: [[28024]], 194821: [[28037]], 194822: [[146718]], 194823: [[27956]], 194824: [[28207]], 194825: [[28270]], 194826: [[15667]], 194827: [[28363]], 194828: [[28359]], 194829: [[147153]], 194830: [[28153]], 194831: [[28526]], 194832: [[147294]], 194833: [[147342]], 194834: [[28614]], 194835: [[28729]], 194836: [[28702]], 194837: [[28699]], 194838: [[15766]], 194839: [[28746]], 194840: [[28797]], 194841: [[28791]], 194842: [[28845]], 194843: [[132389]], 194844: [[28997]], 194845: [[148067]], 194846: [[29084]], 194847: [[148395]], 194848: [[29224]], 194849: [[29237]], 194850: [[29264]], 194851: [[149000]], 194852: [[29312]], 194853: [[29333]], 194854: [[149301]], 194855: [[149524]], 194856: [[29562]], 194857: [[29579]], 194858: [[16044]], 194859: [[29605]], 194860: [[16056]], 194861: [[16056]], 194862: [[29767]], 194863: [[29788]], 194864: [[29809]], 194865: [[29829]], 194866: [[29898]], 194867: [[16155]], 194868: [[29988]], 194869: [[150582]], 194870: [[30014]], 194871: [[150674]], 194872: [[30064]], 194873: [[139679]], 194874: [[30224]], 194875: [[151457]], 194876: [[151480]], 194877: [[151620]], 194878: [[16380]], 194879: [[16392]], 194880: [[30452]], 194881: [[151795]], 194882: [[151794]], 194883: [[151833]], 194884: [[151859]], 194885: [[30494]], 194886: [[30495]], 194887: [[30495]], 194888: [[30538]], 194889: [[16441]], 194890: [[30603]], 194891: [[16454]], 194892: [[16534]], 194893: [[152605]], 194894: [[30798]], 194895: [[30860]], 194896: [[30924]], 194897: [[16611]], 194898: [[153126]], 194899: [[31062]], 194900: [[153242]], 194901: [[153285]], 194902: [[31119]], 194903: [[31211]], 194904: [[16687]], 194905: [[31296]], 194906: [[31306]], 194907: [[31311]], 194908: [[153980]], 194909: [[154279]], 194910: [[154279]], 194911: [[31470]], 194912: [[16898]], 194913: [[154539]], 194914: [[31686]], 194915: [[31689]], 194916: [[16935]], 194917: [[154752]], 194918: [[31954]], 194919: [[17056]], 194920: [[31976]], 194921: [[31971]], 194922: [[32000]], 194923: [[155526]], 194924: [[32099]], 194925: [[17153]], 194926: [[32199]], 194927: [[32258]], 194928: [[32325]], 194929: [[17204]], 194930: [[156200]], 194931: [[156231]], 194932: [[17241]], 194933: [[156377]], 194934: [[32634]], 194935: [[156478]], 194936: [[32661]], 194937: [[32762]], 194938: [[32773]], 194939: [[156890]], 194940: [[156963]], 194941: [[32864]], 194942: [[157096]], 194943: [[32880]], 194944: [[144223]], 194945: [[17365]], 194946: [[32946]], 194947: [[33027]], 194948: [[17419]], 194949: [[33086]], 194950: [[23221]], 194951: [[157607]], 194952: [[157621]], 194953: [[144275]], 194954: [[144284]], 194955: [[33281]], 194956: [[33284]], 194957: [[36766]], 194958: [[17515]], 194959: [[33425]], 194960: [[33419]], 194961: [[33437]], 194962: [[21171]], 194963: [[33457]], 194964: [[33459]], 194965: [[33469]], 194966: [[33510]], 194967: [[158524]], 194968: [[33509]], 194969: [[33565]], 194970: [[33635]], 194971: [[33709]], 194972: [[33571]], 194973: [[33725]], 194974: [[33767]], 194975: [[33879]], 194976: [[33619]], 194977: [[33738]], 194978: [[33740]], 194979: [[33756]], 194980: [[158774]], 194981: [[159083]], 194982: [[158933]], 194983: [[17707]], 194984: [[34033]], 194985: [[34035]], 194986: [[34070]], 194987: [[160714]], 194988: [[34148]], 194989: [[159532]], 194990: [[17757]], 194991: [[17761]], 194992: [[159665]], 194993: [[159954]], 194994: [[17771]], 194995: [[34384]], 194996: [[34396]], 194997: [[34407]], 194998: [[34409]], 194999: [[34473]], 195000: [[34440]], 195001: [[34574]], 195002: [[34530]], 195003: [[34681]], 195004: [[34600]], 195005: [[34667]], 195006: [[34694]], 195007: [[17879]], 195008: [[34785]], 195009: [[34817]], 195010: [[17913]], 195011: [[34912]], 195012: [[34915]], 195013: [[161383]], 195014: [[35031]], 195015: [[35038]], 195016: [[17973]], 195017: [[35066]], 195018: [[13499]], 195019: [[161966]], 195020: [[162150]], 195021: [[18110]], 195022: [[18119]], 195023: [[35488]], 195024: [[35565]], 195025: [[35722]], 195026: [[35925]], 195027: [[162984]], 195028: [[36011]], 195029: [[36033]], 195030: [[36123]], 195031: [[36215]], 195032: [[163631]], 195033: [[133124]], 195034: [[36299]], 195035: [[36284]], 195036: [[36336]], 195037: [[133342]], 195038: [[36564]], 195039: [[36664]], 195040: [[165330]], 195041: [[165357]], 195042: [[37012]], 195043: [[37105]], 195044: [[37137]], 195045: [[165678]], 195046: [[37147]], 195047: [[37432]], 195048: [[37591]], 195049: [[37592]], 195050: [[37500]], 195051: [[37881]], 195052: [[37909]], 195053: [[166906]], 195054: [[38283]], 195055: [[18837]], 195056: [[38327]], 195057: [[167287]], 195058: [[18918]], 195059: [[38595]], 195060: [[23986]], 195061: [[38691]], 195062: [[168261]], 195063: [[168474]], 195064: [[19054]], 195065: [[19062]], 195066: [[38880]], 195067: [[168970]], 195068: [[19122]], 195069: [[169110]], 195070: [[38923]], 195071: [[38923]] }, - 64000: { 64000: [[20999]], 64001: [[24230]], 64002: [[25299]], 64003: [[31958]], 64004: [[23429]], 64005: [[27934]], 64006: [[26292]], 64007: [[36667]], 64008: [[34892]], 64009: [[38477]], 64010: [[35211]], 64011: [[24275]], 64012: [[20800]], 64013: [[21952]], 64016: [[22618]], 64018: [[26228]], 64021: [[20958]], 64022: [[29482]], 64023: [[30410]], 64024: [[31036]], 64025: [[31070]], 64026: [[31077]], 64027: [[31119]], 64028: [[38742]], 64029: [[31934]], 64030: [[32701]], 64032: [[34322]], 64034: [[35576]], 64037: [[36920]], 64038: [[37117]], 64042: [[39151]], 64043: [[39164]], 64044: [[39208]], 64045: [[40372]], 64046: [[37086]], 64047: [[38583]], 64048: [[20398]], 64049: [[20711]], 64050: [[20813]], 64051: [[21193]], 64052: [[21220]], 64053: [[21329]], 64054: [[21917]], 64055: [[22022]], 64056: [[22120]], 64057: [[22592]], 64058: [[22696]], 64059: [[23652]], 64060: [[23662]], 64061: [[24724]], 64062: [[24936]], 64063: [[24974]], 64064: [[25074]], 64065: [[25935]], 64066: [[26082]], 64067: [[26257]], 64068: [[26757]], 64069: [[28023]], 64070: [[28186]], 64071: [[28450]], 64072: [[29038]], 64073: [[29227]], 64074: [[29730]], 64075: [[30865]], 64076: [[31038]], 64077: [[31049]], 64078: [[31048]], 64079: [[31056]], 64080: [[31062]], 64081: [[31069]], 64082: [[31117]], 64083: [[31118]], 64084: [[31296]], 64085: [[31361]], 64086: [[31680]], 64087: [[32244]], 64088: [[32265]], 64089: [[32321]], 64090: [[32626]], 64091: [[32773]], 64092: [[33261]], 64093: [[33401]], 64094: [[33401]], 64095: [[33879]], 64096: [[35088]], 64097: [[35222]], 64098: [[35585]], 64099: [[35641]], 64100: [[36051]], 64101: [[36104]], 64102: [[36790]], 64103: [[36920]], 64104: [[38627]], 64105: [[38911]], 64106: [[38971]], 64107: [[24693]], 64108: [[148206]], 64109: [[33304]], 64112: [[20006]], 64113: [[20917]], 64114: [[20840]], 64115: [[20352]], 64116: [[20805]], 64117: [[20864]], 64118: [[21191]], 64119: [[21242]], 64120: [[21917]], 64121: [[21845]], 64122: [[21913]], 64123: [[21986]], 64124: [[22618]], 64125: [[22707]], 64126: [[22852]], 64127: [[22868]], 64128: [[23138]], 64129: [[23336]], 64130: [[24274]], 64131: [[24281]], 64132: [[24425]], 64133: [[24493]], 64134: [[24792]], 64135: [[24910]], 64136: [[24840]], 64137: [[24974]], 64138: [[24928]], 64139: [[25074]], 64140: [[25140]], 64141: [[25540]], 64142: [[25628]], 64143: [[25682]], 64144: [[25942]], 64145: [[26228]], 64146: [[26391]], 64147: [[26395]], 64148: [[26454]], 64149: [[27513]], 64150: [[27578]], 64151: [[27969]], 64152: [[28379]], 64153: [[28363]], 64154: [[28450]], 64155: [[28702]], 64156: [[29038]], 64157: [[30631]], 64158: [[29237]], 64159: [[29359]], 64160: [[29482]], 64161: [[29809]], 64162: [[29958]], 64163: [[30011]], 64164: [[30237]], 64165: [[30239]], 64166: [[30410]], 64167: [[30427]], 64168: [[30452]], 64169: [[30538]], 64170: [[30528]], 64171: [[30924]], 64172: [[31409]], 64173: [[31680]], 64174: [[31867]], 64175: [[32091]], 64176: [[32244]], 64177: [[32574]], 64178: [[32773]], 64179: [[33618]], 64180: [[33775]], 64181: [[34681]], 64182: [[35137]], 64183: [[35206]], 64184: [[35222]], 64185: [[35519]], 64186: [[35576]], 64187: [[35531]], 64188: [[35585]], 64189: [[35582]], 64190: [[35565]], 64191: [[35641]], 64192: [[35722]], 64193: [[36104]], 64194: [[36664]], 64195: [[36978]], 64196: [[37273]], 64197: [[37494]], 64198: [[38524]], 64199: [[38627]], 64200: [[38742]], 64201: [[38875]], 64202: [[38911]], 64203: [[38923]], 64204: [[38971]], 64205: [[39698]], 64206: [[40860]], 64207: [[141386]], 64208: [[141380]], 64209: [[144341]], 64210: [[15261]], 64211: [[16408]], 64212: [[16441]], 64213: [[152137]], 64214: [[154832]], 64215: [[163539]], 64216: [[40771]], 64217: [[40846]], 195072: [[38953]], 195073: [[169398]], 195074: [[39138]], 195075: [[19251]], 195076: [[39209]], 195077: [[39335]], 195078: [[39362]], 195079: [[39422]], 195080: [[19406]], 195081: [[170800]], 195082: [[39698]], 195083: [[40000]], 195084: [[40189]], 195085: [[19662]], 195086: [[19693]], 195087: [[40295]], 195088: [[172238]], 195089: [[19704]], 195090: [[172293]], 195091: [[172558]], 195092: [[172689]], 195093: [[40635]], 195094: [[19798]], 195095: [[40697]], 195096: [[40702]], 195097: [[40709]], 195098: [[40719]], 195099: [[40726]], 195100: [[40763]], 195101: [[173568]] }, - 64256: { 64256: [[102, 102], 256], 64257: [[102, 105], 256], 64258: [[102, 108], 256], 64259: [[102, 102, 105], 256], 64260: [[102, 102, 108], 256], 64261: [[383, 116], 256], 64262: [[115, 116], 256], 64275: [[1396, 1398], 256], 64276: [[1396, 1381], 256], 64277: [[1396, 1387], 256], 64278: [[1406, 1398], 256], 64279: [[1396, 1389], 256], 64285: [[1497, 1460], 512], 64286: [, 26], 64287: [[1522, 1463], 512], 64288: [[1506], 256], 64289: [[1488], 256], 64290: [[1491], 256], 64291: [[1492], 256], 64292: [[1499], 256], 64293: [[1500], 256], 64294: [[1501], 256], 64295: [[1512], 256], 64296: [[1514], 256], 64297: [[43], 256], 64298: [[1513, 1473], 512], 64299: [[1513, 1474], 512], 64300: [[64329, 1473], 512], 64301: [[64329, 1474], 512], 64302: [[1488, 1463], 512], 64303: [[1488, 1464], 512], 64304: [[1488, 1468], 512], 64305: [[1489, 1468], 512], 64306: [[1490, 1468], 512], 64307: [[1491, 1468], 512], 64308: [[1492, 1468], 512], 64309: [[1493, 1468], 512], 64310: [[1494, 1468], 512], 64312: [[1496, 1468], 512], 64313: [[1497, 1468], 512], 64314: [[1498, 1468], 512], 64315: [[1499, 1468], 512], 64316: [[1500, 1468], 512], 64318: [[1502, 1468], 512], 64320: [[1504, 1468], 512], 64321: [[1505, 1468], 512], 64323: [[1507, 1468], 512], 64324: [[1508, 1468], 512], 64326: [[1510, 1468], 512], 64327: [[1511, 1468], 512], 64328: [[1512, 1468], 512], 64329: [[1513, 1468], 512], 64330: [[1514, 1468], 512], 64331: [[1493, 1465], 512], 64332: [[1489, 1471], 512], 64333: [[1499, 1471], 512], 64334: [[1508, 1471], 512], 64335: [[1488, 1500], 256], 64336: [[1649], 256], 64337: [[1649], 256], 64338: [[1659], 256], 64339: [[1659], 256], 64340: [[1659], 256], 64341: [[1659], 256], 64342: [[1662], 256], 64343: [[1662], 256], 64344: [[1662], 256], 64345: [[1662], 256], 64346: [[1664], 256], 64347: [[1664], 256], 64348: [[1664], 256], 64349: [[1664], 256], 64350: [[1658], 256], 64351: [[1658], 256], 64352: [[1658], 256], 64353: [[1658], 256], 64354: [[1663], 256], 64355: [[1663], 256], 64356: [[1663], 256], 64357: [[1663], 256], 64358: [[1657], 256], 64359: [[1657], 256], 64360: [[1657], 256], 64361: [[1657], 256], 64362: [[1700], 256], 64363: [[1700], 256], 64364: [[1700], 256], 64365: [[1700], 256], 64366: [[1702], 256], 64367: [[1702], 256], 64368: [[1702], 256], 64369: [[1702], 256], 64370: [[1668], 256], 64371: [[1668], 256], 64372: [[1668], 256], 64373: [[1668], 256], 64374: [[1667], 256], 64375: [[1667], 256], 64376: [[1667], 256], 64377: [[1667], 256], 64378: [[1670], 256], 64379: [[1670], 256], 64380: [[1670], 256], 64381: [[1670], 256], 64382: [[1671], 256], 64383: [[1671], 256], 64384: [[1671], 256], 64385: [[1671], 256], 64386: [[1677], 256], 64387: [[1677], 256], 64388: [[1676], 256], 64389: [[1676], 256], 64390: [[1678], 256], 64391: [[1678], 256], 64392: [[1672], 256], 64393: [[1672], 256], 64394: [[1688], 256], 64395: [[1688], 256], 64396: [[1681], 256], 64397: [[1681], 256], 64398: [[1705], 256], 64399: [[1705], 256], 64400: [[1705], 256], 64401: [[1705], 256], 64402: [[1711], 256], 64403: [[1711], 256], 64404: [[1711], 256], 64405: [[1711], 256], 64406: [[1715], 256], 64407: [[1715], 256], 64408: [[1715], 256], 64409: [[1715], 256], 64410: [[1713], 256], 64411: [[1713], 256], 64412: [[1713], 256], 64413: [[1713], 256], 64414: [[1722], 256], 64415: [[1722], 256], 64416: [[1723], 256], 64417: [[1723], 256], 64418: [[1723], 256], 64419: [[1723], 256], 64420: [[1728], 256], 64421: [[1728], 256], 64422: [[1729], 256], 64423: [[1729], 256], 64424: [[1729], 256], 64425: [[1729], 256], 64426: [[1726], 256], 64427: [[1726], 256], 64428: [[1726], 256], 64429: [[1726], 256], 64430: [[1746], 256], 64431: [[1746], 256], 64432: [[1747], 256], 64433: [[1747], 256], 64467: [[1709], 256], 64468: [[1709], 256], 64469: [[1709], 256], 64470: [[1709], 256], 64471: [[1735], 256], 64472: [[1735], 256], 64473: [[1734], 256], 64474: [[1734], 256], 64475: [[1736], 256], 64476: [[1736], 256], 64477: [[1655], 256], 64478: [[1739], 256], 64479: [[1739], 256], 64480: [[1733], 256], 64481: [[1733], 256], 64482: [[1737], 256], 64483: [[1737], 256], 64484: [[1744], 256], 64485: [[1744], 256], 64486: [[1744], 256], 64487: [[1744], 256], 64488: [[1609], 256], 64489: [[1609], 256], 64490: [[1574, 1575], 256], 64491: [[1574, 1575], 256], 64492: [[1574, 1749], 256], 64493: [[1574, 1749], 256], 64494: [[1574, 1608], 256], 64495: [[1574, 1608], 256], 64496: [[1574, 1735], 256], 64497: [[1574, 1735], 256], 64498: [[1574, 1734], 256], 64499: [[1574, 1734], 256], 64500: [[1574, 1736], 256], 64501: [[1574, 1736], 256], 64502: [[1574, 1744], 256], 64503: [[1574, 1744], 256], 64504: [[1574, 1744], 256], 64505: [[1574, 1609], 256], 64506: [[1574, 1609], 256], 64507: [[1574, 1609], 256], 64508: [[1740], 256], 64509: [[1740], 256], 64510: [[1740], 256], 64511: [[1740], 256] }, - 64512: { 64512: [[1574, 1580], 256], 64513: [[1574, 1581], 256], 64514: [[1574, 1605], 256], 64515: [[1574, 1609], 256], 64516: [[1574, 1610], 256], 64517: [[1576, 1580], 256], 64518: [[1576, 1581], 256], 64519: [[1576, 1582], 256], 64520: [[1576, 1605], 256], 64521: [[1576, 1609], 256], 64522: [[1576, 1610], 256], 64523: [[1578, 1580], 256], 64524: [[1578, 1581], 256], 64525: [[1578, 1582], 256], 64526: [[1578, 1605], 256], 64527: [[1578, 1609], 256], 64528: [[1578, 1610], 256], 64529: [[1579, 1580], 256], 64530: [[1579, 1605], 256], 64531: [[1579, 1609], 256], 64532: [[1579, 1610], 256], 64533: [[1580, 1581], 256], 64534: [[1580, 1605], 256], 64535: [[1581, 1580], 256], 64536: [[1581, 1605], 256], 64537: [[1582, 1580], 256], 64538: [[1582, 1581], 256], 64539: [[1582, 1605], 256], 64540: [[1587, 1580], 256], 64541: [[1587, 1581], 256], 64542: [[1587, 1582], 256], 64543: [[1587, 1605], 256], 64544: [[1589, 1581], 256], 64545: [[1589, 1605], 256], 64546: [[1590, 1580], 256], 64547: [[1590, 1581], 256], 64548: [[1590, 1582], 256], 64549: [[1590, 1605], 256], 64550: [[1591, 1581], 256], 64551: [[1591, 1605], 256], 64552: [[1592, 1605], 256], 64553: [[1593, 1580], 256], 64554: [[1593, 1605], 256], 64555: [[1594, 1580], 256], 64556: [[1594, 1605], 256], 64557: [[1601, 1580], 256], 64558: [[1601, 1581], 256], 64559: [[1601, 1582], 256], 64560: [[1601, 1605], 256], 64561: [[1601, 1609], 256], 64562: [[1601, 1610], 256], 64563: [[1602, 1581], 256], 64564: [[1602, 1605], 256], 64565: [[1602, 1609], 256], 64566: [[1602, 1610], 256], 64567: [[1603, 1575], 256], 64568: [[1603, 1580], 256], 64569: [[1603, 1581], 256], 64570: [[1603, 1582], 256], 64571: [[1603, 1604], 256], 64572: [[1603, 1605], 256], 64573: [[1603, 1609], 256], 64574: [[1603, 1610], 256], 64575: [[1604, 1580], 256], 64576: [[1604, 1581], 256], 64577: [[1604, 1582], 256], 64578: [[1604, 1605], 256], 64579: [[1604, 1609], 256], 64580: [[1604, 1610], 256], 64581: [[1605, 1580], 256], 64582: [[1605, 1581], 256], 64583: [[1605, 1582], 256], 64584: [[1605, 1605], 256], 64585: [[1605, 1609], 256], 64586: [[1605, 1610], 256], 64587: [[1606, 1580], 256], 64588: [[1606, 1581], 256], 64589: [[1606, 1582], 256], 64590: [[1606, 1605], 256], 64591: [[1606, 1609], 256], 64592: [[1606, 1610], 256], 64593: [[1607, 1580], 256], 64594: [[1607, 1605], 256], 64595: [[1607, 1609], 256], 64596: [[1607, 1610], 256], 64597: [[1610, 1580], 256], 64598: [[1610, 1581], 256], 64599: [[1610, 1582], 256], 64600: [[1610, 1605], 256], 64601: [[1610, 1609], 256], 64602: [[1610, 1610], 256], 64603: [[1584, 1648], 256], 64604: [[1585, 1648], 256], 64605: [[1609, 1648], 256], 64606: [[32, 1612, 1617], 256], 64607: [[32, 1613, 1617], 256], 64608: [[32, 1614, 1617], 256], 64609: [[32, 1615, 1617], 256], 64610: [[32, 1616, 1617], 256], 64611: [[32, 1617, 1648], 256], 64612: [[1574, 1585], 256], 64613: [[1574, 1586], 256], 64614: [[1574, 1605], 256], 64615: [[1574, 1606], 256], 64616: [[1574, 1609], 256], 64617: [[1574, 1610], 256], 64618: [[1576, 1585], 256], 64619: [[1576, 1586], 256], 64620: [[1576, 1605], 256], 64621: [[1576, 1606], 256], 64622: [[1576, 1609], 256], 64623: [[1576, 1610], 256], 64624: [[1578, 1585], 256], 64625: [[1578, 1586], 256], 64626: [[1578, 1605], 256], 64627: [[1578, 1606], 256], 64628: [[1578, 1609], 256], 64629: [[1578, 1610], 256], 64630: [[1579, 1585], 256], 64631: [[1579, 1586], 256], 64632: [[1579, 1605], 256], 64633: [[1579, 1606], 256], 64634: [[1579, 1609], 256], 64635: [[1579, 1610], 256], 64636: [[1601, 1609], 256], 64637: [[1601, 1610], 256], 64638: [[1602, 1609], 256], 64639: [[1602, 1610], 256], 64640: [[1603, 1575], 256], 64641: [[1603, 1604], 256], 64642: [[1603, 1605], 256], 64643: [[1603, 1609], 256], 64644: [[1603, 1610], 256], 64645: [[1604, 1605], 256], 64646: [[1604, 1609], 256], 64647: [[1604, 1610], 256], 64648: [[1605, 1575], 256], 64649: [[1605, 1605], 256], 64650: [[1606, 1585], 256], 64651: [[1606, 1586], 256], 64652: [[1606, 1605], 256], 64653: [[1606, 1606], 256], 64654: [[1606, 1609], 256], 64655: [[1606, 1610], 256], 64656: [[1609, 1648], 256], 64657: [[1610, 1585], 256], 64658: [[1610, 1586], 256], 64659: [[1610, 1605], 256], 64660: [[1610, 1606], 256], 64661: [[1610, 1609], 256], 64662: [[1610, 1610], 256], 64663: [[1574, 1580], 256], 64664: [[1574, 1581], 256], 64665: [[1574, 1582], 256], 64666: [[1574, 1605], 256], 64667: [[1574, 1607], 256], 64668: [[1576, 1580], 256], 64669: [[1576, 1581], 256], 64670: [[1576, 1582], 256], 64671: [[1576, 1605], 256], 64672: [[1576, 1607], 256], 64673: [[1578, 1580], 256], 64674: [[1578, 1581], 256], 64675: [[1578, 1582], 256], 64676: [[1578, 1605], 256], 64677: [[1578, 1607], 256], 64678: [[1579, 1605], 256], 64679: [[1580, 1581], 256], 64680: [[1580, 1605], 256], 64681: [[1581, 1580], 256], 64682: [[1581, 1605], 256], 64683: [[1582, 1580], 256], 64684: [[1582, 1605], 256], 64685: [[1587, 1580], 256], 64686: [[1587, 1581], 256], 64687: [[1587, 1582], 256], 64688: [[1587, 1605], 256], 64689: [[1589, 1581], 256], 64690: [[1589, 1582], 256], 64691: [[1589, 1605], 256], 64692: [[1590, 1580], 256], 64693: [[1590, 1581], 256], 64694: [[1590, 1582], 256], 64695: [[1590, 1605], 256], 64696: [[1591, 1581], 256], 64697: [[1592, 1605], 256], 64698: [[1593, 1580], 256], 64699: [[1593, 1605], 256], 64700: [[1594, 1580], 256], 64701: [[1594, 1605], 256], 64702: [[1601, 1580], 256], 64703: [[1601, 1581], 256], 64704: [[1601, 1582], 256], 64705: [[1601, 1605], 256], 64706: [[1602, 1581], 256], 64707: [[1602, 1605], 256], 64708: [[1603, 1580], 256], 64709: [[1603, 1581], 256], 64710: [[1603, 1582], 256], 64711: [[1603, 1604], 256], 64712: [[1603, 1605], 256], 64713: [[1604, 1580], 256], 64714: [[1604, 1581], 256], 64715: [[1604, 1582], 256], 64716: [[1604, 1605], 256], 64717: [[1604, 1607], 256], 64718: [[1605, 1580], 256], 64719: [[1605, 1581], 256], 64720: [[1605, 1582], 256], 64721: [[1605, 1605], 256], 64722: [[1606, 1580], 256], 64723: [[1606, 1581], 256], 64724: [[1606, 1582], 256], 64725: [[1606, 1605], 256], 64726: [[1606, 1607], 256], 64727: [[1607, 1580], 256], 64728: [[1607, 1605], 256], 64729: [[1607, 1648], 256], 64730: [[1610, 1580], 256], 64731: [[1610, 1581], 256], 64732: [[1610, 1582], 256], 64733: [[1610, 1605], 256], 64734: [[1610, 1607], 256], 64735: [[1574, 1605], 256], 64736: [[1574, 1607], 256], 64737: [[1576, 1605], 256], 64738: [[1576, 1607], 256], 64739: [[1578, 1605], 256], 64740: [[1578, 1607], 256], 64741: [[1579, 1605], 256], 64742: [[1579, 1607], 256], 64743: [[1587, 1605], 256], 64744: [[1587, 1607], 256], 64745: [[1588, 1605], 256], 64746: [[1588, 1607], 256], 64747: [[1603, 1604], 256], 64748: [[1603, 1605], 256], 64749: [[1604, 1605], 256], 64750: [[1606, 1605], 256], 64751: [[1606, 1607], 256], 64752: [[1610, 1605], 256], 64753: [[1610, 1607], 256], 64754: [[1600, 1614, 1617], 256], 64755: [[1600, 1615, 1617], 256], 64756: [[1600, 1616, 1617], 256], 64757: [[1591, 1609], 256], 64758: [[1591, 1610], 256], 64759: [[1593, 1609], 256], 64760: [[1593, 1610], 256], 64761: [[1594, 1609], 256], 64762: [[1594, 1610], 256], 64763: [[1587, 1609], 256], 64764: [[1587, 1610], 256], 64765: [[1588, 1609], 256], 64766: [[1588, 1610], 256], 64767: [[1581, 1609], 256] }, - 64768: { 64768: [[1581, 1610], 256], 64769: [[1580, 1609], 256], 64770: [[1580, 1610], 256], 64771: [[1582, 1609], 256], 64772: [[1582, 1610], 256], 64773: [[1589, 1609], 256], 64774: [[1589, 1610], 256], 64775: [[1590, 1609], 256], 64776: [[1590, 1610], 256], 64777: [[1588, 1580], 256], 64778: [[1588, 1581], 256], 64779: [[1588, 1582], 256], 64780: [[1588, 1605], 256], 64781: [[1588, 1585], 256], 64782: [[1587, 1585], 256], 64783: [[1589, 1585], 256], 64784: [[1590, 1585], 256], 64785: [[1591, 1609], 256], 64786: [[1591, 1610], 256], 64787: [[1593, 1609], 256], 64788: [[1593, 1610], 256], 64789: [[1594, 1609], 256], 64790: [[1594, 1610], 256], 64791: [[1587, 1609], 256], 64792: [[1587, 1610], 256], 64793: [[1588, 1609], 256], 64794: [[1588, 1610], 256], 64795: [[1581, 1609], 256], 64796: [[1581, 1610], 256], 64797: [[1580, 1609], 256], 64798: [[1580, 1610], 256], 64799: [[1582, 1609], 256], 64800: [[1582, 1610], 256], 64801: [[1589, 1609], 256], 64802: [[1589, 1610], 256], 64803: [[1590, 1609], 256], 64804: [[1590, 1610], 256], 64805: [[1588, 1580], 256], 64806: [[1588, 1581], 256], 64807: [[1588, 1582], 256], 64808: [[1588, 1605], 256], 64809: [[1588, 1585], 256], 64810: [[1587, 1585], 256], 64811: [[1589, 1585], 256], 64812: [[1590, 1585], 256], 64813: [[1588, 1580], 256], 64814: [[1588, 1581], 256], 64815: [[1588, 1582], 256], 64816: [[1588, 1605], 256], 64817: [[1587, 1607], 256], 64818: [[1588, 1607], 256], 64819: [[1591, 1605], 256], 64820: [[1587, 1580], 256], 64821: [[1587, 1581], 256], 64822: [[1587, 1582], 256], 64823: [[1588, 1580], 256], 64824: [[1588, 1581], 256], 64825: [[1588, 1582], 256], 64826: [[1591, 1605], 256], 64827: [[1592, 1605], 256], 64828: [[1575, 1611], 256], 64829: [[1575, 1611], 256], 64848: [[1578, 1580, 1605], 256], 64849: [[1578, 1581, 1580], 256], 64850: [[1578, 1581, 1580], 256], 64851: [[1578, 1581, 1605], 256], 64852: [[1578, 1582, 1605], 256], 64853: [[1578, 1605, 1580], 256], 64854: [[1578, 1605, 1581], 256], 64855: [[1578, 1605, 1582], 256], 64856: [[1580, 1605, 1581], 256], 64857: [[1580, 1605, 1581], 256], 64858: [[1581, 1605, 1610], 256], 64859: [[1581, 1605, 1609], 256], 64860: [[1587, 1581, 1580], 256], 64861: [[1587, 1580, 1581], 256], 64862: [[1587, 1580, 1609], 256], 64863: [[1587, 1605, 1581], 256], 64864: [[1587, 1605, 1581], 256], 64865: [[1587, 1605, 1580], 256], 64866: [[1587, 1605, 1605], 256], 64867: [[1587, 1605, 1605], 256], 64868: [[1589, 1581, 1581], 256], 64869: [[1589, 1581, 1581], 256], 64870: [[1589, 1605, 1605], 256], 64871: [[1588, 1581, 1605], 256], 64872: [[1588, 1581, 1605], 256], 64873: [[1588, 1580, 1610], 256], 64874: [[1588, 1605, 1582], 256], 64875: [[1588, 1605, 1582], 256], 64876: [[1588, 1605, 1605], 256], 64877: [[1588, 1605, 1605], 256], 64878: [[1590, 1581, 1609], 256], 64879: [[1590, 1582, 1605], 256], 64880: [[1590, 1582, 1605], 256], 64881: [[1591, 1605, 1581], 256], 64882: [[1591, 1605, 1581], 256], 64883: [[1591, 1605, 1605], 256], 64884: [[1591, 1605, 1610], 256], 64885: [[1593, 1580, 1605], 256], 64886: [[1593, 1605, 1605], 256], 64887: [[1593, 1605, 1605], 256], 64888: [[1593, 1605, 1609], 256], 64889: [[1594, 1605, 1605], 256], 64890: [[1594, 1605, 1610], 256], 64891: [[1594, 1605, 1609], 256], 64892: [[1601, 1582, 1605], 256], 64893: [[1601, 1582, 1605], 256], 64894: [[1602, 1605, 1581], 256], 64895: [[1602, 1605, 1605], 256], 64896: [[1604, 1581, 1605], 256], 64897: [[1604, 1581, 1610], 256], 64898: [[1604, 1581, 1609], 256], 64899: [[1604, 1580, 1580], 256], 64900: [[1604, 1580, 1580], 256], 64901: [[1604, 1582, 1605], 256], 64902: [[1604, 1582, 1605], 256], 64903: [[1604, 1605, 1581], 256], 64904: [[1604, 1605, 1581], 256], 64905: [[1605, 1581, 1580], 256], 64906: [[1605, 1581, 1605], 256], 64907: [[1605, 1581, 1610], 256], 64908: [[1605, 1580, 1581], 256], 64909: [[1605, 1580, 1605], 256], 64910: [[1605, 1582, 1580], 256], 64911: [[1605, 1582, 1605], 256], 64914: [[1605, 1580, 1582], 256], 64915: [[1607, 1605, 1580], 256], 64916: [[1607, 1605, 1605], 256], 64917: [[1606, 1581, 1605], 256], 64918: [[1606, 1581, 1609], 256], 64919: [[1606, 1580, 1605], 256], 64920: [[1606, 1580, 1605], 256], 64921: [[1606, 1580, 1609], 256], 64922: [[1606, 1605, 1610], 256], 64923: [[1606, 1605, 1609], 256], 64924: [[1610, 1605, 1605], 256], 64925: [[1610, 1605, 1605], 256], 64926: [[1576, 1582, 1610], 256], 64927: [[1578, 1580, 1610], 256], 64928: [[1578, 1580, 1609], 256], 64929: [[1578, 1582, 1610], 256], 64930: [[1578, 1582, 1609], 256], 64931: [[1578, 1605, 1610], 256], 64932: [[1578, 1605, 1609], 256], 64933: [[1580, 1605, 1610], 256], 64934: [[1580, 1581, 1609], 256], 64935: [[1580, 1605, 1609], 256], 64936: [[1587, 1582, 1609], 256], 64937: [[1589, 1581, 1610], 256], 64938: [[1588, 1581, 1610], 256], 64939: [[1590, 1581, 1610], 256], 64940: [[1604, 1580, 1610], 256], 64941: [[1604, 1605, 1610], 256], 64942: [[1610, 1581, 1610], 256], 64943: [[1610, 1580, 1610], 256], 64944: [[1610, 1605, 1610], 256], 64945: [[1605, 1605, 1610], 256], 64946: [[1602, 1605, 1610], 256], 64947: [[1606, 1581, 1610], 256], 64948: [[1602, 1605, 1581], 256], 64949: [[1604, 1581, 1605], 256], 64950: [[1593, 1605, 1610], 256], 64951: [[1603, 1605, 1610], 256], 64952: [[1606, 1580, 1581], 256], 64953: [[1605, 1582, 1610], 256], 64954: [[1604, 1580, 1605], 256], 64955: [[1603, 1605, 1605], 256], 64956: [[1604, 1580, 1605], 256], 64957: [[1606, 1580, 1581], 256], 64958: [[1580, 1581, 1610], 256], 64959: [[1581, 1580, 1610], 256], 64960: [[1605, 1580, 1610], 256], 64961: [[1601, 1605, 1610], 256], 64962: [[1576, 1581, 1610], 256], 64963: [[1603, 1605, 1605], 256], 64964: [[1593, 1580, 1605], 256], 64965: [[1589, 1605, 1605], 256], 64966: [[1587, 1582, 1610], 256], 64967: [[1606, 1580, 1610], 256], 65008: [[1589, 1604, 1746], 256], 65009: [[1602, 1604, 1746], 256], 65010: [[1575, 1604, 1604, 1607], 256], 65011: [[1575, 1603, 1576, 1585], 256], 65012: [[1605, 1581, 1605, 1583], 256], 65013: [[1589, 1604, 1593, 1605], 256], 65014: [[1585, 1587, 1608, 1604], 256], 65015: [[1593, 1604, 1610, 1607], 256], 65016: [[1608, 1587, 1604, 1605], 256], 65017: [[1589, 1604, 1609], 256], 65018: [[1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605], 256], 65019: [[1580, 1604, 32, 1580, 1604, 1575, 1604, 1607], 256], 65020: [[1585, 1740, 1575, 1604], 256] }, - 65024: { 65040: [[44], 256], 65041: [[12289], 256], 65042: [[12290], 256], 65043: [[58], 256], 65044: [[59], 256], 65045: [[33], 256], 65046: [[63], 256], 65047: [[12310], 256], 65048: [[12311], 256], 65049: [[8230], 256], 65056: [, 230], 65057: [, 230], 65058: [, 230], 65059: [, 230], 65060: [, 230], 65061: [, 230], 65062: [, 230], 65063: [, 220], 65064: [, 220], 65065: [, 220], 65066: [, 220], 65067: [, 220], 65068: [, 220], 65069: [, 220], 65072: [[8229], 256], 65073: [[8212], 256], 65074: [[8211], 256], 65075: [[95], 256], 65076: [[95], 256], 65077: [[40], 256], 65078: [[41], 256], 65079: [[123], 256], 65080: [[125], 256], 65081: [[12308], 256], 65082: [[12309], 256], 65083: [[12304], 256], 65084: [[12305], 256], 65085: [[12298], 256], 65086: [[12299], 256], 65087: [[12296], 256], 65088: [[12297], 256], 65089: [[12300], 256], 65090: [[12301], 256], 65091: [[12302], 256], 65092: [[12303], 256], 65095: [[91], 256], 65096: [[93], 256], 65097: [[8254], 256], 65098: [[8254], 256], 65099: [[8254], 256], 65100: [[8254], 256], 65101: [[95], 256], 65102: [[95], 256], 65103: [[95], 256], 65104: [[44], 256], 65105: [[12289], 256], 65106: [[46], 256], 65108: [[59], 256], 65109: [[58], 256], 65110: [[63], 256], 65111: [[33], 256], 65112: [[8212], 256], 65113: [[40], 256], 65114: [[41], 256], 65115: [[123], 256], 65116: [[125], 256], 65117: [[12308], 256], 65118: [[12309], 256], 65119: [[35], 256], 65120: [[38], 256], 65121: [[42], 256], 65122: [[43], 256], 65123: [[45], 256], 65124: [[60], 256], 65125: [[62], 256], 65126: [[61], 256], 65128: [[92], 256], 65129: [[36], 256], 65130: [[37], 256], 65131: [[64], 256], 65136: [[32, 1611], 256], 65137: [[1600, 1611], 256], 65138: [[32, 1612], 256], 65140: [[32, 1613], 256], 65142: [[32, 1614], 256], 65143: [[1600, 1614], 256], 65144: [[32, 1615], 256], 65145: [[1600, 1615], 256], 65146: [[32, 1616], 256], 65147: [[1600, 1616], 256], 65148: [[32, 1617], 256], 65149: [[1600, 1617], 256], 65150: [[32, 1618], 256], 65151: [[1600, 1618], 256], 65152: [[1569], 256], 65153: [[1570], 256], 65154: [[1570], 256], 65155: [[1571], 256], 65156: [[1571], 256], 65157: [[1572], 256], 65158: [[1572], 256], 65159: [[1573], 256], 65160: [[1573], 256], 65161: [[1574], 256], 65162: [[1574], 256], 65163: [[1574], 256], 65164: [[1574], 256], 65165: [[1575], 256], 65166: [[1575], 256], 65167: [[1576], 256], 65168: [[1576], 256], 65169: [[1576], 256], 65170: [[1576], 256], 65171: [[1577], 256], 65172: [[1577], 256], 65173: [[1578], 256], 65174: [[1578], 256], 65175: [[1578], 256], 65176: [[1578], 256], 65177: [[1579], 256], 65178: [[1579], 256], 65179: [[1579], 256], 65180: [[1579], 256], 65181: [[1580], 256], 65182: [[1580], 256], 65183: [[1580], 256], 65184: [[1580], 256], 65185: [[1581], 256], 65186: [[1581], 256], 65187: [[1581], 256], 65188: [[1581], 256], 65189: [[1582], 256], 65190: [[1582], 256], 65191: [[1582], 256], 65192: [[1582], 256], 65193: [[1583], 256], 65194: [[1583], 256], 65195: [[1584], 256], 65196: [[1584], 256], 65197: [[1585], 256], 65198: [[1585], 256], 65199: [[1586], 256], 65200: [[1586], 256], 65201: [[1587], 256], 65202: [[1587], 256], 65203: [[1587], 256], 65204: [[1587], 256], 65205: [[1588], 256], 65206: [[1588], 256], 65207: [[1588], 256], 65208: [[1588], 256], 65209: [[1589], 256], 65210: [[1589], 256], 65211: [[1589], 256], 65212: [[1589], 256], 65213: [[1590], 256], 65214: [[1590], 256], 65215: [[1590], 256], 65216: [[1590], 256], 65217: [[1591], 256], 65218: [[1591], 256], 65219: [[1591], 256], 65220: [[1591], 256], 65221: [[1592], 256], 65222: [[1592], 256], 65223: [[1592], 256], 65224: [[1592], 256], 65225: [[1593], 256], 65226: [[1593], 256], 65227: [[1593], 256], 65228: [[1593], 256], 65229: [[1594], 256], 65230: [[1594], 256], 65231: [[1594], 256], 65232: [[1594], 256], 65233: [[1601], 256], 65234: [[1601], 256], 65235: [[1601], 256], 65236: [[1601], 256], 65237: [[1602], 256], 65238: [[1602], 256], 65239: [[1602], 256], 65240: [[1602], 256], 65241: [[1603], 256], 65242: [[1603], 256], 65243: [[1603], 256], 65244: [[1603], 256], 65245: [[1604], 256], 65246: [[1604], 256], 65247: [[1604], 256], 65248: [[1604], 256], 65249: [[1605], 256], 65250: [[1605], 256], 65251: [[1605], 256], 65252: [[1605], 256], 65253: [[1606], 256], 65254: [[1606], 256], 65255: [[1606], 256], 65256: [[1606], 256], 65257: [[1607], 256], 65258: [[1607], 256], 65259: [[1607], 256], 65260: [[1607], 256], 65261: [[1608], 256], 65262: [[1608], 256], 65263: [[1609], 256], 65264: [[1609], 256], 65265: [[1610], 256], 65266: [[1610], 256], 65267: [[1610], 256], 65268: [[1610], 256], 65269: [[1604, 1570], 256], 65270: [[1604, 1570], 256], 65271: [[1604, 1571], 256], 65272: [[1604, 1571], 256], 65273: [[1604, 1573], 256], 65274: [[1604, 1573], 256], 65275: [[1604, 1575], 256], 65276: [[1604, 1575], 256] }, - 65280: { 65281: [[33], 256], 65282: [[34], 256], 65283: [[35], 256], 65284: [[36], 256], 65285: [[37], 256], 65286: [[38], 256], 65287: [[39], 256], 65288: [[40], 256], 65289: [[41], 256], 65290: [[42], 256], 65291: [[43], 256], 65292: [[44], 256], 65293: [[45], 256], 65294: [[46], 256], 65295: [[47], 256], 65296: [[48], 256], 65297: [[49], 256], 65298: [[50], 256], 65299: [[51], 256], 65300: [[52], 256], 65301: [[53], 256], 65302: [[54], 256], 65303: [[55], 256], 65304: [[56], 256], 65305: [[57], 256], 65306: [[58], 256], 65307: [[59], 256], 65308: [[60], 256], 65309: [[61], 256], 65310: [[62], 256], 65311: [[63], 256], 65312: [[64], 256], 65313: [[65], 256], 65314: [[66], 256], 65315: [[67], 256], 65316: [[68], 256], 65317: [[69], 256], 65318: [[70], 256], 65319: [[71], 256], 65320: [[72], 256], 65321: [[73], 256], 65322: [[74], 256], 65323: [[75], 256], 65324: [[76], 256], 65325: [[77], 256], 65326: [[78], 256], 65327: [[79], 256], 65328: [[80], 256], 65329: [[81], 256], 65330: [[82], 256], 65331: [[83], 256], 65332: [[84], 256], 65333: [[85], 256], 65334: [[86], 256], 65335: [[87], 256], 65336: [[88], 256], 65337: [[89], 256], 65338: [[90], 256], 65339: [[91], 256], 65340: [[92], 256], 65341: [[93], 256], 65342: [[94], 256], 65343: [[95], 256], 65344: [[96], 256], 65345: [[97], 256], 65346: [[98], 256], 65347: [[99], 256], 65348: [[100], 256], 65349: [[101], 256], 65350: [[102], 256], 65351: [[103], 256], 65352: [[104], 256], 65353: [[105], 256], 65354: [[106], 256], 65355: [[107], 256], 65356: [[108], 256], 65357: [[109], 256], 65358: [[110], 256], 65359: [[111], 256], 65360: [[112], 256], 65361: [[113], 256], 65362: [[114], 256], 65363: [[115], 256], 65364: [[116], 256], 65365: [[117], 256], 65366: [[118], 256], 65367: [[119], 256], 65368: [[120], 256], 65369: [[121], 256], 65370: [[122], 256], 65371: [[123], 256], 65372: [[124], 256], 65373: [[125], 256], 65374: [[126], 256], 65375: [[10629], 256], 65376: [[10630], 256], 65377: [[12290], 256], 65378: [[12300], 256], 65379: [[12301], 256], 65380: [[12289], 256], 65381: [[12539], 256], 65382: [[12530], 256], 65383: [[12449], 256], 65384: [[12451], 256], 65385: [[12453], 256], 65386: [[12455], 256], 65387: [[12457], 256], 65388: [[12515], 256], 65389: [[12517], 256], 65390: [[12519], 256], 65391: [[12483], 256], 65392: [[12540], 256], 65393: [[12450], 256], 65394: [[12452], 256], 65395: [[12454], 256], 65396: [[12456], 256], 65397: [[12458], 256], 65398: [[12459], 256], 65399: [[12461], 256], 65400: [[12463], 256], 65401: [[12465], 256], 65402: [[12467], 256], 65403: [[12469], 256], 65404: [[12471], 256], 65405: [[12473], 256], 65406: [[12475], 256], 65407: [[12477], 256], 65408: [[12479], 256], 65409: [[12481], 256], 65410: [[12484], 256], 65411: [[12486], 256], 65412: [[12488], 256], 65413: [[12490], 256], 65414: [[12491], 256], 65415: [[12492], 256], 65416: [[12493], 256], 65417: [[12494], 256], 65418: [[12495], 256], 65419: [[12498], 256], 65420: [[12501], 256], 65421: [[12504], 256], 65422: [[12507], 256], 65423: [[12510], 256], 65424: [[12511], 256], 65425: [[12512], 256], 65426: [[12513], 256], 65427: [[12514], 256], 65428: [[12516], 256], 65429: [[12518], 256], 65430: [[12520], 256], 65431: [[12521], 256], 65432: [[12522], 256], 65433: [[12523], 256], 65434: [[12524], 256], 65435: [[12525], 256], 65436: [[12527], 256], 65437: [[12531], 256], 65438: [[12441], 256], 65439: [[12442], 256], 65440: [[12644], 256], 65441: [[12593], 256], 65442: [[12594], 256], 65443: [[12595], 256], 65444: [[12596], 256], 65445: [[12597], 256], 65446: [[12598], 256], 65447: [[12599], 256], 65448: [[12600], 256], 65449: [[12601], 256], 65450: [[12602], 256], 65451: [[12603], 256], 65452: [[12604], 256], 65453: [[12605], 256], 65454: [[12606], 256], 65455: [[12607], 256], 65456: [[12608], 256], 65457: [[12609], 256], 65458: [[12610], 256], 65459: [[12611], 256], 65460: [[12612], 256], 65461: [[12613], 256], 65462: [[12614], 256], 65463: [[12615], 256], 65464: [[12616], 256], 65465: [[12617], 256], 65466: [[12618], 256], 65467: [[12619], 256], 65468: [[12620], 256], 65469: [[12621], 256], 65470: [[12622], 256], 65474: [[12623], 256], 65475: [[12624], 256], 65476: [[12625], 256], 65477: [[12626], 256], 65478: [[12627], 256], 65479: [[12628], 256], 65482: [[12629], 256], 65483: [[12630], 256], 65484: [[12631], 256], 65485: [[12632], 256], 65486: [[12633], 256], 65487: [[12634], 256], 65490: [[12635], 256], 65491: [[12636], 256], 65492: [[12637], 256], 65493: [[12638], 256], 65494: [[12639], 256], 65495: [[12640], 256], 65498: [[12641], 256], 65499: [[12642], 256], 65500: [[12643], 256], 65504: [[162], 256], 65505: [[163], 256], 65506: [[172], 256], 65507: [[175], 256], 65508: [[166], 256], 65509: [[165], 256], 65510: [[8361], 256], 65512: [[9474], 256], 65513: [[8592], 256], 65514: [[8593], 256], 65515: [[8594], 256], 65516: [[8595], 256], 65517: [[9632], 256], 65518: [[9675], 256] } - - }; - - /***** Module to export */ - var unorm = { - nfc: nfc, - nfd: nfd, - nfkc: nfkc, - nfkd: nfkd - }; - - /*globals module:true,define:true*/ - - // CommonJS - if ((typeof module === "undefined" ? "undefined" : _typeof(module)) === "object") { - module.exports = unorm; - - // AMD - } else if (typeof define === "function" && define.amd) { - define("unorm", function () { - return unorm; - }); - - // Global - } else { - root.unorm = unorm; - } - - /***** Export as shim for String::normalize method *****/ - /* - http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#november_8_2013_draft_rev_21 - 21.1.3.12 String.prototype.normalize(form="NFC") - When the normalize method is called with one argument form, the following steps are taken: - 1. Let O be CheckObjectCoercible(this value). - 2. Let S be ToString(O). - 3. ReturnIfAbrupt(S). - 4. If form is not provided or undefined let form be "NFC". - 5. Let f be ToString(form). - 6. ReturnIfAbrupt(f). - 7. If f is not one of "NFC", "NFD", "NFKC", or "NFKD", then throw a RangeError Exception. - 8. Let ns be the String value is the result of normalizing S into the normalization form named by f as specified in Unicode Standard Annex #15, UnicodeNormalizatoin Forms. - 9. Return ns. - The length property of the normalize method is 0. - *NOTE* The normalize function is intentionally generic; it does not require that its this value be a String object. Therefore it can be transferred to other kinds of objects for use as a method. - */ - unorm.shimApplied = false; - - if (!String.prototype.normalize) { - String.prototype.normalize = function (form) { - var str = "" + this; - form = form === undefined ? "NFC" : form; - - if (form === "NFC") { - return unorm.nfc(str); - } else if (form === "NFD") { - return unorm.nfd(str); - } else if (form === "NFKC") { - return unorm.nfkc(str); - } else if (form === "NFKD") { - return unorm.nfkd(str); - } else { - throw new RangeError("Invalid normalization form: " + form); - } - }; - - unorm.shimApplied = true; - } -})(undefined); - -},{}],771:[function(require,module,exports){ -(function (global){ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/*! https://mths.be/utf8js v2.1.2 by @mathias */ -;(function (root) { - - // Detect free variables `exports` - var freeExports = (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) == 'object' && exports; - - // Detect free variable `module` - var freeModule = (typeof module === 'undefined' ? 'undefined' : _typeof(module)) == 'object' && module && module.exports == freeExports && module; - - // Detect free variable `global`, from Node.js or Browserified code, - // and use it as `root` - var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global; - if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { - root = freeGlobal; - } - - /*--------------------------------------------------------------------------*/ - - var stringFromCharCode = String.fromCharCode; - - // Taken from https://mths.be/punycode - function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - var value; - var extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - // Taken from https://mths.be/punycode - function ucs2encode(array) { - var length = array.length; - var index = -1; - var value; - var output = ''; - while (++index < length) { - value = array[index]; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - } - return output; - } - - function checkScalarValue(codePoint) { - if (codePoint >= 0xD800 && codePoint <= 0xDFFF) { - throw Error('Lone surrogate U+' + codePoint.toString(16).toUpperCase() + ' is not a scalar value'); - } - } - /*--------------------------------------------------------------------------*/ - - function createByte(codePoint, shift) { - return stringFromCharCode(codePoint >> shift & 0x3F | 0x80); - } - - function encodeCodePoint(codePoint) { - if ((codePoint & 0xFFFFFF80) == 0) { - // 1-byte sequence - return stringFromCharCode(codePoint); - } - var symbol = ''; - if ((codePoint & 0xFFFFF800) == 0) { - // 2-byte sequence - symbol = stringFromCharCode(codePoint >> 6 & 0x1F | 0xC0); - } else if ((codePoint & 0xFFFF0000) == 0) { - // 3-byte sequence - checkScalarValue(codePoint); - symbol = stringFromCharCode(codePoint >> 12 & 0x0F | 0xE0); - symbol += createByte(codePoint, 6); - } else if ((codePoint & 0xFFE00000) == 0) { - // 4-byte sequence - symbol = stringFromCharCode(codePoint >> 18 & 0x07 | 0xF0); - symbol += createByte(codePoint, 12); - symbol += createByte(codePoint, 6); - } - symbol += stringFromCharCode(codePoint & 0x3F | 0x80); - return symbol; - } - - function utf8encode(string) { - var codePoints = ucs2decode(string); - var length = codePoints.length; - var index = -1; - var codePoint; - var byteString = ''; - while (++index < length) { - codePoint = codePoints[index]; - byteString += encodeCodePoint(codePoint); - } - return byteString; - } - - /*--------------------------------------------------------------------------*/ - - function readContinuationByte() { - if (byteIndex >= byteCount) { - throw Error('Invalid byte index'); - } - - var continuationByte = byteArray[byteIndex] & 0xFF; - byteIndex++; - - if ((continuationByte & 0xC0) == 0x80) { - return continuationByte & 0x3F; - } - - // If we end up here, it’s not a continuation byte - throw Error('Invalid continuation byte'); - } - - function decodeSymbol() { - var byte1; - var byte2; - var byte3; - var byte4; - var codePoint; - - if (byteIndex > byteCount) { - throw Error('Invalid byte index'); - } - - if (byteIndex == byteCount) { - return false; - } - - // Read first byte - byte1 = byteArray[byteIndex] & 0xFF; - byteIndex++; - - // 1-byte sequence (no continuation bytes) - if ((byte1 & 0x80) == 0) { - return byte1; - } - - // 2-byte sequence - if ((byte1 & 0xE0) == 0xC0) { - byte2 = readContinuationByte(); - codePoint = (byte1 & 0x1F) << 6 | byte2; - if (codePoint >= 0x80) { - return codePoint; - } else { - throw Error('Invalid continuation byte'); - } - } - - // 3-byte sequence (may include unpaired surrogates) - if ((byte1 & 0xF0) == 0xE0) { - byte2 = readContinuationByte(); - byte3 = readContinuationByte(); - codePoint = (byte1 & 0x0F) << 12 | byte2 << 6 | byte3; - if (codePoint >= 0x0800) { - checkScalarValue(codePoint); - return codePoint; - } else { - throw Error('Invalid continuation byte'); - } - } - - // 4-byte sequence - if ((byte1 & 0xF8) == 0xF0) { - byte2 = readContinuationByte(); - byte3 = readContinuationByte(); - byte4 = readContinuationByte(); - codePoint = (byte1 & 0x07) << 0x12 | byte2 << 0x0C | byte3 << 0x06 | byte4; - if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) { - return codePoint; - } - } - - throw Error('Invalid UTF-8 detected'); - } - - var byteArray; - var byteCount; - var byteIndex; - function utf8decode(byteString) { - byteArray = ucs2decode(byteString); - byteCount = byteArray.length; - byteIndex = 0; - var codePoints = []; - var tmp; - while ((tmp = decodeSymbol()) !== false) { - codePoints.push(tmp); - } - return ucs2encode(codePoints); - } - - /*--------------------------------------------------------------------------*/ - - var utf8 = { - 'version': '2.1.2', - 'encode': utf8encode, - 'decode': utf8decode - }; - - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if (typeof define == 'function' && _typeof(define.amd) == 'object' && define.amd) { - define(function () { - return utf8; - }); - } else if (freeExports && !freeExports.nodeType) { - if (freeModule) { - // in Node.js or RingoJS v0.8.0+ - freeModule.exports = utf8; - } else { - // in Narwhal or RingoJS v0.7.0- - var object = {}; - var hasOwnProperty = object.hasOwnProperty; - for (var key in utf8) { - hasOwnProperty.call(utf8, key) && (freeExports[key] = utf8[key]); - } - } - } else { - // in Rhino or a web browser - root.utf8 = utf8; - } -})(undefined); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],772:[function(require,module,exports){ -(function (global){ -'use strict'; - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate(fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config(name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],773:[function(require,module,exports){ -'use strict'; - -var v1 = require('./v1'); -var v4 = require('./v4'); - -var uuid = v4; -uuid.v1 = v1; -uuid.v4 = v4; - -module.exports = uuid; - -},{"./v1":776,"./v4":777}],774:[function(require,module,exports){ -'use strict'; - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -var byteToHex = []; -for (var i = 0; i < 256; ++i) { - byteToHex[i] = (i + 0x100).toString(16).substr(1); -} - -function bytesToUuid(buf, offset) { - var i = offset || 0; - var bth = byteToHex; - // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 - return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join(''); -} - -module.exports = bytesToUuid; - -},{}],775:[function(require,module,exports){ -'use strict'; - -// Unique ID creation requires a high quality random # generator. In the -// browser this is a little complicated due to unknown quality of Math.random() -// and inconsistent support for the `crypto` API. We do the best we can via -// feature-detection - -// getRandomValues needs to be invoked in a context where "this" is a Crypto -// implementation. Also, find the complete implementation of crypto on IE11. -var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto); - -if (getRandomValues) { - // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto - var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef - - module.exports = function whatwgRNG() { - getRandomValues(rnds8); - return rnds8; - }; -} else { - // Math.random()-based (RNG) - // - // If all else fails, use Math.random(). It's fast, but is of unspecified - // quality. - var rnds = new Array(16); - - module.exports = function mathRNG() { - for (var i = 0, r; i < 16; i++) { - if ((i & 0x03) === 0) r = Math.random() * 0x100000000; - rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; - } - - return rnds; - }; -} - -},{}],776:[function(require,module,exports){ -'use strict'; - -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html - -var _nodeId; -var _clockseq; - -// Previous uuid creation time -var _lastMSecs = 0; -var _lastNSecs = 0; - -// See https://github.com/broofa/node-uuid for API details -function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || []; - - options = options || {}; - var node = options.node || _nodeId; - var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; - - // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - if (node == null || clockseq == null) { - var seedBytes = rng(); - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - } - } - - // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; - - // `time_mid` - var tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - b[i++] = tmh >>> 16 & 0xff; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 0x80; - - // `clock_seq_low` - b[i++] = clockseq & 0xff; - - // `node` - for (var n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf ? buf : bytesToUuid(b); -} - -module.exports = v1; - -},{"./lib/bytesToUuid":774,"./lib/rng":775}],777:[function(require,module,exports){ -'use strict'; - -var rng = require('./lib/rng'); -var bytesToUuid = require('./lib/bytesToUuid'); - -function v4(options, buf, offset) { - var i = buf && offset || 0; - - if (typeof options == 'string') { - buf = options === 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ++ii) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || bytesToUuid(rnds); -} - -module.exports = v4; - -},{"./lib/bytesToUuid":774,"./lib/rng":775}],778:[function(require,module,exports){ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var indexOf = require('indexof'); - -var Object_keys = function Object_keys(obj) { - if (Object.keys) return Object.keys(obj);else { - var res = []; - for (var key in obj) { - res.push(key); - }return res; - } -}; - -var forEach = function forEach(xs, fn) { - if (xs.forEach) return xs.forEach(fn);else for (var i = 0; i < xs.length; i++) { - fn(xs[i], i, xs); - } -}; - -var defineProp = function () { - try { - Object.defineProperty({}, '_', {}); - return function (obj, name, value) { - Object.defineProperty(obj, name, { - writable: true, - enumerable: false, - configurable: true, - value: value - }); - }; - } catch (e) { - return function (obj, name, value) { - obj[name] = value; - }; - } -}(); - -var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function', 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError', 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape', 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape']; - -function Context() {} -Context.prototype = {}; - -var Script = exports.Script = function NodeScript(code) { - if (!(this instanceof Script)) return new Script(code); - this.code = code; -}; - -Script.prototype.runInContext = function (context) { - if (!(context instanceof Context)) { - throw new TypeError("needs a 'context' argument."); - } - - var iframe = document.createElement('iframe'); - if (!iframe.style) iframe.style = {}; - iframe.style.display = 'none'; - - document.body.appendChild(iframe); - - var win = iframe.contentWindow; - var wEval = win.eval, - wExecScript = win.execScript; - - if (!wEval && wExecScript) { - // win.eval() magically appears when this is called in IE: - wExecScript.call(win, 'null'); - wEval = win.eval; - } - - forEach(Object_keys(context), function (key) { - win[key] = context[key]; - }); - forEach(globals, function (key) { - if (context[key]) { - win[key] = context[key]; - } - }); - - var winKeys = Object_keys(win); - - var res = wEval.call(win, this.code); - - forEach(Object_keys(win), function (key) { - // Avoid copying circular objects like `top` and `window` by only - // updating existing context properties or new properties in the `win` - // that was only introduced after the eval. - if (key in context || indexOf(winKeys, key) === -1) { - context[key] = win[key]; - } - }); - - forEach(globals, function (key) { - if (!(key in context)) { - defineProp(context, key, win[key]); - } - }); - - document.body.removeChild(iframe); - - return res; -}; - -Script.prototype.runInThisContext = function () { - return eval(this.code); // maybe... -}; - -Script.prototype.runInNewContext = function (context) { - var ctx = Script.createContext(context); - var res = this.runInContext(ctx); - - forEach(Object_keys(ctx), function (key) { - context[key] = ctx[key]; - }); - - return res; -}; - -forEach(Object_keys(Script.prototype), function (name) { - exports[name] = Script[name] = function (code) { - var s = Script(code); - return s[name].apply(s, [].slice.call(arguments, 1)); - }; -}); - -exports.createScript = function (code) { - return exports.Script(code); -}; - -exports.createContext = Script.createContext = function (context) { - var copy = new Context(); - if ((typeof context === 'undefined' ? 'undefined' : _typeof(context)) === 'object') { - forEach(Object_keys(context), function (key) { - copy[key] = context[key]; - }); - } - return copy; -}; - -},{"indexof":670}],779:[function(require,module,exports){ -'use strict'; - -// Base58 encoding/decoding -// Originally written by Mike Hearn for BitcoinJ -// Copyright (c) 2011 Google Inc -// Ported to JavaScript by Stefan Thomas -// Merged Buffer refactorings from base58-native by Stephen Pair -// Copyright (c) 2013 BitPay Inc - -var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; -var ALPHABET_MAP = {}; -for (var i = 0; i < ALPHABET.length; ++i) { - ALPHABET_MAP[ALPHABET.charAt(i)] = i; -} -var BASE = ALPHABET.length; - -module.exports = { - decode: function decode(string) { - if (string.length === 0) return []; - - var i, - j, - bytes = [0]; - for (i = 0; i < string.length; ++i) { - var c = string[i]; - if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character'); - - for (j = 0; j < bytes.length; ++j) { - bytes[j] *= BASE; - }bytes[0] += ALPHABET_MAP[c]; - - var carry = 0; - for (j = 0; j < bytes.length; ++j) { - bytes[j] += carry; - carry = bytes[j] >> 8; - bytes[j] &= 0xff; - } - - while (carry) { - bytes.push(carry & 0xff); - carry >>= 8; - } - } - // deal with leading zeros - for (i = 0; string[i] === '1' && i < string.length - 1; ++i) { - bytes.push(0); - } - - return bytes.reverse(); - } -}; - -},{}],780:[function(require,module,exports){ -(function (Buffer){ -'use strict'; - -/** - * Credits to https://github.com/cryptocoinjs/blake-hash - */ - -Blake256.sigma = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9], [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11], [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10], [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5], [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9]]; - -Blake256.u256 = [0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917]; - -Blake256.padding = new Buffer([0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); - -Blake256.prototype._length_carry = function (arr) { - for (var j = 0; j < arr.length; ++j) { - if (arr[j] < 0x0100000000) break; - arr[j] -= 0x0100000000; - arr[j + 1] += 1; - } -}; - -Blake256.prototype.update = function (data, encoding) { - data = new Buffer(data, encoding); - var block = this._block; - var offset = 0; - - while (this._blockOffset + data.length - offset >= block.length) { - for (var i = this._blockOffset; i < block.length;) { - block[i++] = data[offset++]; - }this._length[0] += block.length * 8; - this._length_carry(this._length); - - this._compress(); - this._blockOffset = 0; - } - - while (offset < data.length) { - block[this._blockOffset++] = data[offset++]; - }return this; -}; - -var zo = new Buffer([0x01]); -var oo = new Buffer([0x81]); - -function rot(x, n) { - return (x << 32 - n | x >>> n) >>> 0; -} - -function g(v, m, i, a, b, c, d, e) { - var sigma = Blake256.sigma; - var u256 = Blake256.u256; - - v[a] = v[a] + ((m[sigma[i][e]] ^ u256[sigma[i][e + 1]]) >>> 0) + v[b] >>> 0; - v[d] = rot(v[d] ^ v[a], 16); - v[c] = v[c] + v[d] >>> 0; - v[b] = rot(v[b] ^ v[c], 12); - v[a] = v[a] + ((m[sigma[i][e + 1]] ^ u256[sigma[i][e]]) >>> 0) + v[b] >>> 0; - v[d] = rot(v[d] ^ v[a], 8); - v[c] = v[c] + v[d] >>> 0; - v[b] = rot(v[b] ^ v[c], 7); -} - -function Blake256() { - this._h = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19]; - - this._s = [0, 0, 0, 0]; - - this._block = new Buffer(64); - this._blockOffset = 0; - this._length = [0, 0]; - - this._nullt = false; - - this._zo = zo; - this._oo = oo; -} - -Blake256.prototype._compress = function () { - var u256 = Blake256.u256; - var v = new Array(16); - var m = new Array(16); - var i; - - for (i = 0; i < 16; ++i) { - m[i] = this._block.readUInt32BE(i * 4); - }for (i = 0; i < 8; ++i) { - v[i] = this._h[i] >>> 0; - }for (i = 8; i < 12; ++i) { - v[i] = (this._s[i - 8] ^ u256[i - 8]) >>> 0; - }for (i = 12; i < 16; ++i) { - v[i] = u256[i - 8]; - }if (!this._nullt) { - v[12] = (v[12] ^ this._length[0]) >>> 0; - v[13] = (v[13] ^ this._length[0]) >>> 0; - v[14] = (v[14] ^ this._length[1]) >>> 0; - v[15] = (v[15] ^ this._length[1]) >>> 0; - } - - for (i = 0; i < 14; ++i) { - /* column step */ - g(v, m, i, 0, 4, 8, 12, 0); - g(v, m, i, 1, 5, 9, 13, 2); - g(v, m, i, 2, 6, 10, 14, 4); - g(v, m, i, 3, 7, 11, 15, 6); - /* diagonal step */ - g(v, m, i, 0, 5, 10, 15, 8); - g(v, m, i, 1, 6, 11, 12, 10); - g(v, m, i, 2, 7, 8, 13, 12); - g(v, m, i, 3, 4, 9, 14, 14); - } - - for (i = 0; i < 16; ++i) { - this._h[i % 8] = (this._h[i % 8] ^ v[i]) >>> 0; - }for (i = 0; i < 8; ++i) { - this._h[i] = (this._h[i] ^ this._s[i % 4]) >>> 0; - } -}; - -Blake256.prototype._padding = function () { - var lo = this._length[0] + this._blockOffset * 8; - var hi = this._length[1]; - if (lo >= 0x0100000000) { - lo -= 0x0100000000; - hi += 1; - } - - var msglen = new Buffer(8); - msglen.writeUInt32BE(hi, 0); - msglen.writeUInt32BE(lo, 4); - - if (this._blockOffset === 55) { - this._length[0] -= 8; - this.update(this._oo); - } else { - if (this._blockOffset < 55) { - if (this._blockOffset === 0) this._nullt = true; - this._length[0] -= (55 - this._blockOffset) * 8; - this.update(Blake256.padding.slice(0, 55 - this._blockOffset)); - } else { - this._length[0] -= (64 - this._blockOffset) * 8; - this.update(Blake256.padding.slice(0, 64 - this._blockOffset)); - this._length[0] -= 55 * 8; - this.update(Blake256.padding.slice(1, 1 + 55)); - this._nullt = true; - } - - this.update(this._zo); - this._length[0] -= 8; - } - - this._length[0] -= 64; - this.update(msglen); -}; - -Blake256.prototype.digest = function (encoding) { - this._padding(); - - var buffer = new Buffer(32); - for (var i = 0; i < 8; ++i) { - buffer.writeUInt32BE(this._h[i], i * 4); - }return buffer.toString(encoding); -}; - -module.exports = Blake256; - -}).call(this,require("buffer").Buffer) -},{"buffer":256}],781:[function(require,module,exports){ -(function (process,global){ -/** - * [js-sha3]{@link https://github.com/emn178/js-sha3} - * - * @version 0.7.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2015-2017 - * @license MIT - */ -/*jslint bitwise: true */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var ERROR = 'input is invalid type'; -var WINDOW = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object'; -var root = WINDOW ? window : {}; -if (root.JS_SHA3_NO_WINDOW) { - WINDOW = false; -} -var WEB_WORKER = !WINDOW && (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object'; -var NODE_JS = !root.JS_SHA3_NO_NODE_JS && (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process.versions && process.versions.node; -if (NODE_JS) { - root = global; -} else if (WEB_WORKER) { - root = self; -} -var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; -var HEX_CHARS = '0123456789abcdef'.split(''); -var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; -var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; -var KECCAK_PADDING = [1, 256, 65536, 16777216]; -var PADDING = [6, 1536, 393216, 100663296]; -var SHIFT = [0, 8, 16, 24]; -var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; -var BITS = [224, 256, 384, 512]; -var SHAKE_BITS = [128, 256]; -var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest']; -var CSHAKE_BYTEPAD = { - '128': 168, - '256': 136 -}; - -if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { - Array.isArray = function (obj) { - return Object.prototype.toString.call(obj) === '[object Array]'; - }; -} - -if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { - ArrayBuffer.isView = function (obj) { - return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer; - }; -} - -var createOutputMethod = function createOutputMethod(bits, padding, outputType) { - return function (message) { - return new Keccak(bits, padding, bits).update(message)[outputType](); - }; -}; - -var createShakeOutputMethod = function createShakeOutputMethod(bits, padding, outputType) { - return function (message, outputBits) { - return new Keccak(bits, padding, outputBits).update(message)[outputType](); - }; -}; - -var createCshakeOutputMethod = function createCshakeOutputMethod(bits, padding, outputType) { - return function (message, outputBits, n, s) { - return methods['cshake' + bits].update(message, outputBits, n, s)[outputType](); - }; -}; - -var createKmacOutputMethod = function createKmacOutputMethod(bits, padding, outputType) { - return function (key, message, outputBits, s) { - return methods['kmac' + bits].update(key, message, outputBits, s)[outputType](); - }; -}; - -var createOutputMethods = function createOutputMethods(method, createMethod, bits, padding) { - for (var i = 0; i < OUTPUT_TYPES.length; ++i) { - var type = OUTPUT_TYPES[i]; - method[type] = createMethod(bits, padding, type); - } - return method; -}; - -var createMethod = function createMethod(bits, padding) { - var method = createOutputMethod(bits, padding, 'hex'); - method.create = function () { - return new Keccak(bits, padding, bits); - }; - method.update = function (message) { - return method.create().update(message); - }; - return createOutputMethods(method, createOutputMethod, bits, padding); -}; - -var createShakeMethod = function createShakeMethod(bits, padding) { - var method = createShakeOutputMethod(bits, padding, 'hex'); - method.create = function (outputBits) { - return new Keccak(bits, padding, outputBits); - }; - method.update = function (message, outputBits) { - return method.create(outputBits).update(message); - }; - return createOutputMethods(method, createShakeOutputMethod, bits, padding); -}; - -var createCshakeMethod = function createCshakeMethod(bits, padding) { - var w = CSHAKE_BYTEPAD[bits]; - var method = createCshakeOutputMethod(bits, padding, 'hex'); - method.create = function (outputBits, n, s) { - if (!n && !s) { - return methods['shake' + bits].create(outputBits); - } else { - return new Keccak(bits, padding, outputBits).bytepad([n, s], w); - } - }; - method.update = function (message, outputBits, n, s) { - return method.create(outputBits, n, s).update(message); - }; - return createOutputMethods(method, createCshakeOutputMethod, bits, padding); -}; - -var createKmacMethod = function createKmacMethod(bits, padding) { - var w = CSHAKE_BYTEPAD[bits]; - var method = createKmacOutputMethod(bits, padding, 'hex'); - method.create = function (key, outputBits, s) { - return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w); - }; - method.update = function (key, message, outputBits, s) { - return method.create(key, outputBits, s).update(message); - }; - return createOutputMethods(method, createKmacOutputMethod, bits, padding); -}; - -var algorithms = [{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod }, { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod }, { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }]; - -var methods = {}, - methodNames = []; - -for (var i = 0; i < algorithms.length; ++i) { - var algorithm = algorithms[i]; - var bits = algorithm.bits; - for (var j = 0; j < bits.length; ++j) { - var methodName = algorithm.name + '_' + bits[j]; - methodNames.push(methodName); - methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); - if (algorithm.name !== 'sha3') { - var newMethodName = algorithm.name + bits[j]; - methodNames.push(newMethodName); - methods[newMethodName] = methods[methodName]; - } - } -} - -function Keccak(bits, padding, outputBits) { - this.blocks = []; - this.s = []; - this.padding = padding; - this.outputBits = outputBits; - this.reset = true; - this.finalized = false; - this.block = 0; - this.start = 0; - this.blockCount = 1600 - (bits << 1) >> 5; - this.byteCount = this.blockCount << 2; - this.outputBlocks = outputBits >> 5; - this.extraBytes = (outputBits & 31) >> 3; - - for (var i = 0; i < 50; ++i) { - this.s[i] = 0; - } -} - -Keccak.prototype.update = function (message) { - if (this.finalized) { - return; - } - var notString, - type = typeof message === 'undefined' ? 'undefined' : _typeof(message); - if (type !== 'string') { - if (type === 'object') { - if (message === null) { - throw ERROR; - } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { - message = new Uint8Array(message); - } else if (!Array.isArray(message)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { - throw ERROR; - } - } - } else { - throw ERROR; - } - notString = true; - } - var blocks = this.blocks, - byteCount = this.byteCount, - length = message.length, - blockCount = this.blockCount, - index = 0, - s = this.s, - i, - code; - - while (index < length) { - if (this.reset) { - this.reset = false; - blocks[0] = this.block; - for (i = 1; i < blockCount + 1; ++i) { - blocks[i] = 0; - } - } - if (notString) { - for (i = this.start; index < length && i < byteCount; ++index) { - blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; - } - } else { - for (i = this.start; index < length && i < byteCount; ++index) { - code = message.charCodeAt(index); - if (code < 0x80) { - blocks[i >> 2] |= code << SHIFT[i++ & 3]; - } else if (code < 0x800) { - blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; - } else if (code < 0xd800 || code >= 0xe000) { - blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; - } else { - code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff); - blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; - } - } - } - this.lastByteIndex = i; - if (i >= byteCount) { - this.start = i - byteCount; - this.block = blocks[blockCount]; - for (i = 0; i < blockCount; ++i) { - s[i] ^= blocks[i]; - } - f(s); - this.reset = true; - } else { - this.start = i; - } - } - return this; -}; - -Keccak.prototype.encode = function (x, right) { - var o = x & 255, - n = 1; - var bytes = [o]; - x = x >> 8; - o = x & 255; - while (o > 0) { - bytes.unshift(o); - x = x >> 8; - o = x & 255; - ++n; - } - if (right) { - bytes.push(n); - } else { - bytes.unshift(n); - } - this.update(bytes); - return bytes.length; -}; - -Keccak.prototype.encodeString = function (str) { - var notString, - type = typeof str === 'undefined' ? 'undefined' : _typeof(str); - if (type !== 'string') { - if (type === 'object') { - if (str === null) { - throw ERROR; - } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { - str = new Uint8Array(str); - } else if (!Array.isArray(str)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { - throw ERROR; - } - } - } else { - throw ERROR; - } - notString = true; - } - var bytes = 0, - length = str.length; - if (notString) { - bytes = length; - } else { - for (var i = 0; i < str.length; ++i) { - var code = str.charCodeAt(i); - if (code < 0x80) { - bytes += 1; - } else if (code < 0x800) { - bytes += 2; - } else if (code < 0xd800 || code >= 0xe000) { - bytes += 3; - } else { - code = 0x10000 + ((code & 0x3ff) << 10 | str.charCodeAt(++i) & 0x3ff); - bytes += 4; - } - } - } - bytes += this.encode(bytes * 8); - this.update(str); - return bytes; -}; - -Keccak.prototype.bytepad = function (strs, w) { - var bytes = this.encode(w); - for (var i = 0; i < strs.length; ++i) { - bytes += this.encodeString(strs[i]); - } - var paddingBytes = w - bytes % w; - var zeros = []; - zeros.length = paddingBytes; - this.update(zeros); - return this; -}; - -Keccak.prototype.finalize = function () { - if (this.finalized) { - return; - } - this.finalized = true; - var blocks = this.blocks, - i = this.lastByteIndex, - blockCount = this.blockCount, - s = this.s; - blocks[i >> 2] |= this.padding[i & 3]; - if (this.lastByteIndex === this.byteCount) { - blocks[0] = blocks[blockCount]; - for (i = 1; i < blockCount + 1; ++i) { - blocks[i] = 0; - } - } - blocks[blockCount - 1] |= 0x80000000; - for (i = 0; i < blockCount; ++i) { - s[i] ^= blocks[i]; - } - f(s); -}; - -Keccak.prototype.toString = Keccak.prototype.hex = function () { - this.finalize(); - - var blockCount = this.blockCount, - s = this.s, - outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, - i = 0, - j = 0; - var hex = '', - block; - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - block = s[i]; - hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F] + HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F] + HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F] + HEX_CHARS[block >> 28 & 0x0F] + HEX_CHARS[block >> 24 & 0x0F]; - } - if (j % blockCount === 0) { - f(s); - i = 0; - } - } - if (extraBytes) { - block = s[i]; - hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F]; - if (extraBytes > 1) { - hex += HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F]; - } - if (extraBytes > 2) { - hex += HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F]; - } - } - return hex; -}; - -Keccak.prototype.arrayBuffer = function () { - this.finalize(); - - var blockCount = this.blockCount, - s = this.s, - outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, - i = 0, - j = 0; - var bytes = this.outputBits >> 3; - var buffer; - if (extraBytes) { - buffer = new ArrayBuffer(outputBlocks + 1 << 2); - } else { - buffer = new ArrayBuffer(bytes); - } - var array = new Uint32Array(buffer); - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - array[j] = s[i]; - } - if (j % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - array[i] = s[i]; - buffer = buffer.slice(0, bytes); - } - return buffer; -}; - -Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; - -Keccak.prototype.digest = Keccak.prototype.array = function () { - this.finalize(); - - var blockCount = this.blockCount, - s = this.s, - outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, - i = 0, - j = 0; - var array = [], - offset, - block; - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - offset = j << 2; - block = s[i]; - array[offset] = block & 0xFF; - array[offset + 1] = block >> 8 & 0xFF; - array[offset + 2] = block >> 16 & 0xFF; - array[offset + 3] = block >> 24 & 0xFF; - } - if (j % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - offset = j << 2; - block = s[i]; - array[offset] = block & 0xFF; - if (extraBytes > 1) { - array[offset + 1] = block >> 8 & 0xFF; - } - if (extraBytes > 2) { - array[offset + 2] = block >> 16 & 0xFF; - } - } - return array; -}; - -function Kmac(bits, padding, outputBits) { - Keccak.call(this, bits, padding, outputBits); -} - -Kmac.prototype = new Keccak(); - -Kmac.prototype.finalize = function () { - this.encode(this.outputBits, true); - return Keccak.prototype.finalize.call(this); -}; - -var f = function f(s) { - var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; - for (n = 0; n < 48; n += 2) { - c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; - c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; - c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; - c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; - c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; - c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; - c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; - c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; - c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; - c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; - - h = c8 ^ (c2 << 1 | c3 >>> 31); - l = c9 ^ (c3 << 1 | c2 >>> 31); - s[0] ^= h; - s[1] ^= l; - s[10] ^= h; - s[11] ^= l; - s[20] ^= h; - s[21] ^= l; - s[30] ^= h; - s[31] ^= l; - s[40] ^= h; - s[41] ^= l; - h = c0 ^ (c4 << 1 | c5 >>> 31); - l = c1 ^ (c5 << 1 | c4 >>> 31); - s[2] ^= h; - s[3] ^= l; - s[12] ^= h; - s[13] ^= l; - s[22] ^= h; - s[23] ^= l; - s[32] ^= h; - s[33] ^= l; - s[42] ^= h; - s[43] ^= l; - h = c2 ^ (c6 << 1 | c7 >>> 31); - l = c3 ^ (c7 << 1 | c6 >>> 31); - s[4] ^= h; - s[5] ^= l; - s[14] ^= h; - s[15] ^= l; - s[24] ^= h; - s[25] ^= l; - s[34] ^= h; - s[35] ^= l; - s[44] ^= h; - s[45] ^= l; - h = c4 ^ (c8 << 1 | c9 >>> 31); - l = c5 ^ (c9 << 1 | c8 >>> 31); - s[6] ^= h; - s[7] ^= l; - s[16] ^= h; - s[17] ^= l; - s[26] ^= h; - s[27] ^= l; - s[36] ^= h; - s[37] ^= l; - s[46] ^= h; - s[47] ^= l; - h = c6 ^ (c0 << 1 | c1 >>> 31); - l = c7 ^ (c1 << 1 | c0 >>> 31); - s[8] ^= h; - s[9] ^= l; - s[18] ^= h; - s[19] ^= l; - s[28] ^= h; - s[29] ^= l; - s[38] ^= h; - s[39] ^= l; - s[48] ^= h; - s[49] ^= l; - - b0 = s[0]; - b1 = s[1]; - b32 = s[11] << 4 | s[10] >>> 28; - b33 = s[10] << 4 | s[11] >>> 28; - b14 = s[20] << 3 | s[21] >>> 29; - b15 = s[21] << 3 | s[20] >>> 29; - b46 = s[31] << 9 | s[30] >>> 23; - b47 = s[30] << 9 | s[31] >>> 23; - b28 = s[40] << 18 | s[41] >>> 14; - b29 = s[41] << 18 | s[40] >>> 14; - b20 = s[2] << 1 | s[3] >>> 31; - b21 = s[3] << 1 | s[2] >>> 31; - b2 = s[13] << 12 | s[12] >>> 20; - b3 = s[12] << 12 | s[13] >>> 20; - b34 = s[22] << 10 | s[23] >>> 22; - b35 = s[23] << 10 | s[22] >>> 22; - b16 = s[33] << 13 | s[32] >>> 19; - b17 = s[32] << 13 | s[33] >>> 19; - b48 = s[42] << 2 | s[43] >>> 30; - b49 = s[43] << 2 | s[42] >>> 30; - b40 = s[5] << 30 | s[4] >>> 2; - b41 = s[4] << 30 | s[5] >>> 2; - b22 = s[14] << 6 | s[15] >>> 26; - b23 = s[15] << 6 | s[14] >>> 26; - b4 = s[25] << 11 | s[24] >>> 21; - b5 = s[24] << 11 | s[25] >>> 21; - b36 = s[34] << 15 | s[35] >>> 17; - b37 = s[35] << 15 | s[34] >>> 17; - b18 = s[45] << 29 | s[44] >>> 3; - b19 = s[44] << 29 | s[45] >>> 3; - b10 = s[6] << 28 | s[7] >>> 4; - b11 = s[7] << 28 | s[6] >>> 4; - b42 = s[17] << 23 | s[16] >>> 9; - b43 = s[16] << 23 | s[17] >>> 9; - b24 = s[26] << 25 | s[27] >>> 7; - b25 = s[27] << 25 | s[26] >>> 7; - b6 = s[36] << 21 | s[37] >>> 11; - b7 = s[37] << 21 | s[36] >>> 11; - b38 = s[47] << 24 | s[46] >>> 8; - b39 = s[46] << 24 | s[47] >>> 8; - b30 = s[8] << 27 | s[9] >>> 5; - b31 = s[9] << 27 | s[8] >>> 5; - b12 = s[18] << 20 | s[19] >>> 12; - b13 = s[19] << 20 | s[18] >>> 12; - b44 = s[29] << 7 | s[28] >>> 25; - b45 = s[28] << 7 | s[29] >>> 25; - b26 = s[38] << 8 | s[39] >>> 24; - b27 = s[39] << 8 | s[38] >>> 24; - b8 = s[48] << 14 | s[49] >>> 18; - b9 = s[49] << 14 | s[48] >>> 18; - - s[0] = b0 ^ ~b2 & b4; - s[1] = b1 ^ ~b3 & b5; - s[10] = b10 ^ ~b12 & b14; - s[11] = b11 ^ ~b13 & b15; - s[20] = b20 ^ ~b22 & b24; - s[21] = b21 ^ ~b23 & b25; - s[30] = b30 ^ ~b32 & b34; - s[31] = b31 ^ ~b33 & b35; - s[40] = b40 ^ ~b42 & b44; - s[41] = b41 ^ ~b43 & b45; - s[2] = b2 ^ ~b4 & b6; - s[3] = b3 ^ ~b5 & b7; - s[12] = b12 ^ ~b14 & b16; - s[13] = b13 ^ ~b15 & b17; - s[22] = b22 ^ ~b24 & b26; - s[23] = b23 ^ ~b25 & b27; - s[32] = b32 ^ ~b34 & b36; - s[33] = b33 ^ ~b35 & b37; - s[42] = b42 ^ ~b44 & b46; - s[43] = b43 ^ ~b45 & b47; - s[4] = b4 ^ ~b6 & b8; - s[5] = b5 ^ ~b7 & b9; - s[14] = b14 ^ ~b16 & b18; - s[15] = b15 ^ ~b17 & b19; - s[24] = b24 ^ ~b26 & b28; - s[25] = b25 ^ ~b27 & b29; - s[34] = b34 ^ ~b36 & b38; - s[35] = b35 ^ ~b37 & b39; - s[44] = b44 ^ ~b46 & b48; - s[45] = b45 ^ ~b47 & b49; - s[6] = b6 ^ ~b8 & b0; - s[7] = b7 ^ ~b9 & b1; - s[16] = b16 ^ ~b18 & b10; - s[17] = b17 ^ ~b19 & b11; - s[26] = b26 ^ ~b28 & b20; - s[27] = b27 ^ ~b29 & b21; - s[36] = b36 ^ ~b38 & b30; - s[37] = b37 ^ ~b39 & b31; - s[46] = b46 ^ ~b48 & b40; - s[47] = b47 ^ ~b49 & b41; - s[8] = b8 ^ ~b0 & b2; - s[9] = b9 ^ ~b1 & b3; - s[18] = b18 ^ ~b10 & b12; - s[19] = b19 ^ ~b11 & b13; - s[28] = b28 ^ ~b20 & b22; - s[29] = b29 ^ ~b21 & b23; - s[38] = b38 ^ ~b30 & b32; - s[39] = b39 ^ ~b31 & b33; - s[48] = b48 ^ ~b40 & b42; - s[49] = b49 ^ ~b41 & b43; - - s[0] ^= RC[n]; - s[1] ^= RC[n + 1]; - } -}; - -module.exports = methods; - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":704}],782:[function(require,module,exports){ -'use strict'; - -var jsSHA = require('jssha/src/sha256'); -var Blake256 = require('./blake256'); -var _keccak = require('./sha3')['keccak256']; - -function numberToHex(number) { - var hex = Math.round(number).toString(16); - if (hex.length === 1) { - hex = '0' + hex; - } - return hex; -} - -module.exports = { - toHex: function toHex(arrayOfBytes) { - var hex = ''; - for (var i = 0; i < arrayOfBytes.length; i++) { - hex += numberToHex(arrayOfBytes[i]); - } - return hex; - }, - sha256: function sha256(hexString) { - var sha = new jsSHA('SHA-256', 'HEX'); - sha.update(hexString); - return sha.getHash('HEX'); - }, - sha256Checksum: function sha256Checksum(payload) { - return this.sha256(this.sha256(payload)).substr(0, 8); - }, - blake256: function blake256(hexString) { - return new Blake256().update(hexString, 'hex').digest('hex'); - }, - blake256Checksum: function blake256Checksum(payload) { - return this.blake256(this.blake256(payload)).substr(0, 8); - }, - keccak256: function keccak256(hexString) { - return _keccak(hexString); - } -}; - -},{"./blake256":780,"./sha3":781,"jssha/src/sha256":675}],783:[function(require,module,exports){ -'use strict'; - -var XRPValidator = require('./ripple_validator'); -var ETHValidator = require('./ethereum_validator'); - -// defines P2PKH and P2SH address types for standard (prod) and testnet networks -var CURRENCIES = [{ - name: 'bitcoin', - symbol: 'btc', - addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'bitcoincash', - symbol: 'bch', - addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'litecoin', - symbol: 'ltc', - addressTypes: { prod: ['30', '05', '32'], testnet: ['6f', 'c4'] } -}, { - name: 'peercoin', - symbol: 'ppc', - addressTypes: { prod: ['37', '75'], testnet: ['6f', 'c4'] } -}, { - name: 'dogecoin', - symbol: 'doge', - addressTypes: { prod: ['1e', '16'], testnet: ['71', 'c4'] } -}, { - name: 'beavercoin', - symbol: 'bvc', - addressTypes: { prod: ['19', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'freicoin', - symbol: 'frc', - addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'protoshares', - symbol: 'pts', - addressTypes: { prod: ['38', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'megacoin', - symbol: 'mec', - addressTypes: { prod: ['32', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'primecoin', - symbol: 'xpm', - addressTypes: { prod: ['17', '53'], testnet: ['6f', 'c4'] } -}, { - name: 'auroracoin', - symbol: 'aur', - addressTypes: { prod: ['17', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'namecoin', - symbol: 'nmc', - addressTypes: { prod: ['34'], testnet: [] } -}, { - name: 'biocoin', - symbol: 'bio', - addressTypes: { prod: ['19', '14'], testnet: ['6f', 'c4'] } -}, { - name: 'garlicoin', - symbol: 'grlc', - addressTypes: { prod: ['26', '05'], testnet: ['6f', 'c4'] } -}, { - name: 'vertcoin', - symbol: 'vtc', - addressTypes: { prod: ['0x', '47'], testnet: ['6f', 'c4'] } -}, { - name: 'bitcoingold', - symbol: 'btg', - addressTypes: { prod: ['26', '17'], testnet: ['6f', 'c4'] } -}, { - name: 'komodo', - symbol: 'kmd', - addressTypes: { prod: ['3c', '55'], testnet: ['0', '5'] } -}, { - name: 'bitcoinz', - symbol: 'btcz', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'bitcoinprivate', - symbol: 'btcp', - expectedLength: 26, - addressTypes: { prod: ['1325', '13af'], testnet: ['1957', '19e0'] } -}, { - name: 'hush', - symbol: 'hush', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'snowgem', - symbol: 'sng', - expectedLength: 26, - addressTypes: { prod: ['1c28', '1c2d'], testnet: ['1d25', '1cba'] } -}, { - name: 'zcash', - symbol: 'zec', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'zclassic', - symbol: 'zcl', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'zencash', - symbol: 'zen', - expectedLength: 26, - addressTypes: { prod: ['2089', '2096'], testnet: ['2092', '2098'] } -}, { - name: 'votecoin', - symbol: 'vot', - expectedLength: 26, - addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } -}, { - name: 'decred', - symbol: 'dcr', - addressTypes: { prod: ['073f', '071a'], testnet: ['0f21', '0efc'] }, - hashFunction: 'blake256', - expectedLength: 26 -}, { - name: 'digibyte', - symbol: 'dgb', - addressTypes: { prod: ['1e'], testnet: [] } -}, { - name: 'ethereum', - symbol: 'eth', - validator: ETHValidator -}, { - name: 'etherzero', - symbol: 'etz', - validator: ETHValidator -}, { - name: 'ethereumclassic', - symbol: 'etc', - validator: ETHValidator -}, { - name: 'callisto', - symbol: 'clo', - validator: ETHValidator -}, { - name: 'ripple', - symbol: 'xrp', - validator: XRPValidator -}, { - name: 'dash', - symbol: 'dash', - addressTypes: { prod: ['4c', '10'], testnet: ['8c', '13'] } -}, { - name: 'neo', - symbol: 'neo', - addressTypes: { prod: ['17'], testnet: [] } -}, { - name: 'neogas', - symbol: 'gas', - addressTypes: { prod: ['17'], testnet: [] } -}, { - name: 'qtum', - symbol: 'qtum', - addressTypes: { prod: ['3a', '32'], testnet: ['6f', 'c4'] } -}]; - -module.exports = { - getByNameOrSymbol: function getByNameOrSymbol(currencyNameOrSymbol) { - var nameOrSymbol = currencyNameOrSymbol.toLowerCase(); - for (var i = 0; i < CURRENCIES.length; i++) { - var currency = CURRENCIES[i]; - if (currency.name === nameOrSymbol || currency.symbol === nameOrSymbol) { - return currency; - } - } - return null; - } -}; - -},{"./ethereum_validator":784,"./ripple_validator":785}],784:[function(require,module,exports){ -'use strict'; - -var cryptoUtils = require('./crypto/utils'); - -module.exports = { - isValidAddress: function isValidAddress(address) { - if (!/^0x[0-9a-fA-F]{40}$/.test(address)) { - // Check if it has the basic requirements of an address - return false; - } - - if (/^0x[0-9a-f]{40}$/.test(address) || /^0x?[0-9A-F]{40}$/.test(address)) { - // If it's all small caps or all all caps, return true - return true; - } - - // Otherwise check each case - return this.verifyChecksum(address); - }, - verifyChecksum: function verifyChecksum(address) { - // Check each case - address = address.replace('0x', ''); - - var addressHash = cryptoUtils.keccak256(address.toLowerCase()); - - for (var i = 0; i < 40; i++) { - // The nth letter should be uppercase if the nth digit of casemap is 1 - if (parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i] || parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i]) { - return false; - } - } - - return true; - } -}; - -},{"./crypto/utils":782}],785:[function(require,module,exports){ -'use strict'; - -var cryptoUtils = require('./crypto/utils'); -var baseX = require('base-x'); - -var ALLOWED_CHARS = 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'; - -var codec = baseX(ALLOWED_CHARS); -var regexp = new RegExp('^r[' + ALLOWED_CHARS + ']{27,35}$'); - -module.exports = { - /** - * ripple address validation - */ - isValidAddress: function isValidAddress(address) { - if (regexp.test(address)) { - return this.verifyChecksum(address); - } - - return false; - }, - - verifyChecksum: function verifyChecksum(address) { - var bytes = codec.decode(address); - var computedChecksum = cryptoUtils.sha256Checksum(cryptoUtils.toHex(bytes.slice(0, -4))); - var checksum = cryptoUtils.toHex(bytes.slice(-4)); - - return computedChecksum === checksum; - } -}; - -},{"./crypto/utils":782,"base-x":211}],786:[function(require,module,exports){ -'use strict'; - -var base58 = require('./crypto/base58'); -var cryptoUtils = require('./crypto/utils'); -var currencies = require('./currencies'); - -var DEFAULT_CURRENCY_NAME = 'bitcoin'; -var DEFAULT_NETWORK_TYPE = 'prod'; - -function getDecoded(address) { - try { - return base58.decode(address); - } catch (e) { - // if decoding fails, assume invalid address - return null; - } -} - -function getChecksum(hashFunction, payload) { - // Each currency may implement different hashing algorithm - switch (hashFunction) { - case 'blake256': - return cryptoUtils.blake256Checksum(payload); - break; - case 'sha256': - default: - return cryptoUtils.sha256Checksum(payload); - } -} - -function getAddressType(address, currency) { - currency = currency || {}; - // should be 25 bytes per btc address spec and 26 decred - var expectedLength = currency.expectedLength || 25; - var hashFunction = currency.hashFunction || 'sha256'; - var decoded = getDecoded(address); - - if (decoded) { - var length = decoded.length; - - if (length !== expectedLength) { - return null; - } - - var checksum = cryptoUtils.toHex(decoded.slice(length - 4, length)), - body = cryptoUtils.toHex(decoded.slice(0, length - 4)), - goodChecksum = getChecksum(hashFunction, body); - - return checksum === goodChecksum ? cryptoUtils.toHex(decoded.slice(0, expectedLength - 24)) : null; - } - - return null; -} - -function validate(address, currencyNameOrSymbol, networkType) { - currencyNameOrSymbol = currencyNameOrSymbol || DEFAULT_CURRENCY_NAME; - networkType = networkType || DEFAULT_NETWORK_TYPE; - - var currency = currencies.getByNameOrSymbol(currencyNameOrSymbol); - - if (currency.validator) { - return currency.validator.isValidAddress(address); - } - - var correctAddressTypes; - var addressType = getAddressType(address, currency); - if (addressType == null) { - return false; - } - - if (networkType === 'prod' || networkType === 'testnet') { - correctAddressTypes = currency.addressTypes[networkType]; - } else { - correctAddressTypes = currency.addressTypes.prod.concat(currency.addressTypes.testnet); - } - - return correctAddressTypes.indexOf(addressType) >= 0; -} - -module.exports = { - getAddressType: getAddressType, - checksum: getChecksum, - validate: validate -}; - -},{"./crypto/base58":779,"./crypto/utils":782,"./currencies":783}],787:[function(require,module,exports){ -(function (global){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ - -'use strict'; - -var adapterFactory = require('./adapter_factory.js'); -module.exports = adapterFactory({ window: global.window }); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./adapter_factory.js":788}],788:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ - -'use strict'; - -var utils = require('./utils'); -// Shimming starts here. -module.exports = function (dependencies, opts) { - var window = dependencies && dependencies.window; - - var options = { - shimChrome: true, - shimFirefox: true, - shimEdge: true, - shimSafari: true - }; - - for (var key in opts) { - if (hasOwnProperty.call(opts, key)) { - options[key] = opts[key]; - } - } - - // Utils. - var logging = utils.log; - var browserDetails = utils.detectBrowser(window); - - // Uncomment the line below if you want logging to occur, including logging - // for the switch statement below. Can also be turned on in the browser via - // adapter.disableLog(false), but then logging from the switch statement below - // will not appear. - // require('./utils').disableLog(false); - - // Browser shims. - var chromeShim = require('./chrome/chrome_shim') || null; - var edgeShim = require('./edge/edge_shim') || null; - var firefoxShim = require('./firefox/firefox_shim') || null; - var safariShim = require('./safari/safari_shim') || null; - var commonShim = require('./common_shim') || null; - - // Export to the adapter global object visible in the browser. - var adapter = { - browserDetails: browserDetails, - commonShim: commonShim, - extractVersion: utils.extractVersion, - disableLog: utils.disableLog, - disableWarnings: utils.disableWarnings - }; - - // Shim browser if found. - switch (browserDetails.browser) { - case 'chrome': - if (!chromeShim || !chromeShim.shimPeerConnection || !options.shimChrome) { - logging('Chrome shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming chrome.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = chromeShim; - commonShim.shimCreateObjectURL(window); - - chromeShim.shimGetUserMedia(window); - chromeShim.shimMediaStream(window); - chromeShim.shimSourceObject(window); - chromeShim.shimPeerConnection(window); - chromeShim.shimOnTrack(window); - chromeShim.shimAddTrackRemoveTrack(window); - chromeShim.shimGetSendersWithDtmf(window); - chromeShim.shimSenderReceiverGetStats(window); - chromeShim.fixNegotiationNeeded(window); - - commonShim.shimRTCIceCandidate(window); - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - case 'firefox': - if (!firefoxShim || !firefoxShim.shimPeerConnection || !options.shimFirefox) { - logging('Firefox shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming firefox.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = firefoxShim; - commonShim.shimCreateObjectURL(window); - - firefoxShim.shimGetUserMedia(window); - firefoxShim.shimSourceObject(window); - firefoxShim.shimPeerConnection(window); - firefoxShim.shimOnTrack(window); - firefoxShim.shimRemoveStream(window); - firefoxShim.shimSenderGetStats(window); - firefoxShim.shimReceiverGetStats(window); - firefoxShim.shimRTCDataChannel(window); - - commonShim.shimRTCIceCandidate(window); - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - case 'edge': - if (!edgeShim || !edgeShim.shimPeerConnection || !options.shimEdge) { - logging('MS edge shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming edge.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = edgeShim; - commonShim.shimCreateObjectURL(window); - - edgeShim.shimGetUserMedia(window); - edgeShim.shimPeerConnection(window); - edgeShim.shimReplaceTrack(window); - - // the edge shim implements the full RTCIceCandidate object. - - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - case 'safari': - if (!safariShim || !options.shimSafari) { - logging('Safari shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming safari.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = safariShim; - commonShim.shimCreateObjectURL(window); - - safariShim.shimRTCIceServerUrls(window); - safariShim.shimCreateOfferLegacy(window); - safariShim.shimCallbacksAPI(window); - safariShim.shimLocalStreamsAPI(window); - safariShim.shimRemoteStreamsAPI(window); - safariShim.shimTrackEventTransceiver(window); - safariShim.shimGetUserMedia(window); - - commonShim.shimRTCIceCandidate(window); - commonShim.shimMaxMessageSize(window); - commonShim.shimSendThrowTypeError(window); - break; - default: - logging('Unsupported browser!'); - break; - } - - return adapter; -}; - -},{"./chrome/chrome_shim":789,"./common_shim":791,"./edge/edge_shim":792,"./firefox/firefox_shim":795,"./safari/safari_shim":797,"./utils":798}],789:[function(require,module,exports){ - -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils.js'); -var logging = utils.log; - -/* iterates the stats graph recursively. */ -function walkStats(stats, base, resultSet) { - if (!base || resultSet.has(base.id)) { - return; - } - resultSet.set(base.id, base); - Object.keys(base).forEach(function (name) { - if (name.endsWith('Id')) { - walkStats(stats, stats.get(base[name]), resultSet); - } else if (name.endsWith('Ids')) { - base[name].forEach(function (id) { - walkStats(stats, stats.get(id), resultSet); - }); - } - }); -} - -/* filter getStats for a sender/receiver track. */ -function filterStats(result, track, outbound) { - var streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp'; - var filteredResult = new Map(); - if (track === null) { - return filteredResult; - } - var trackStats = []; - result.forEach(function (value) { - if (value.type === 'track' && value.trackIdentifier === track.id) { - trackStats.push(value); - } - }); - trackStats.forEach(function (trackStat) { - result.forEach(function (stats) { - if (stats.type === streamStatsType && stats.trackId === trackStat.id) { - walkStats(result, stats, filteredResult); - } - }); - }); - return filteredResult; -} - -module.exports = { - shimGetUserMedia: require('./getusermedia'), - shimMediaStream: function shimMediaStream(window) { - window.MediaStream = window.MediaStream || window.webkitMediaStream; - }, - - shimOnTrack: function shimOnTrack(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('ontrack' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', { - get: function get() { - return this._ontrack; - }, - set: function set(f) { - if (this._ontrack) { - this.removeEventListener('track', this._ontrack); - } - this.addEventListener('track', this._ontrack = f); - }, - enumerable: true, - configurable: true - }); - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = function () { - var pc = this; - if (!pc._ontrackpoly) { - pc._ontrackpoly = function (e) { - // onaddstream does not fire when a track is added to an existing - // stream. But stream.onaddtrack is implemented so we use that. - e.stream.addEventListener('addtrack', function (te) { - var receiver; - if (window.RTCPeerConnection.prototype.getReceivers) { - receiver = pc.getReceivers().find(function (r) { - return r.track && r.track.id === te.track.id; - }); - } else { - receiver = { track: te.track }; - } - - var event = new Event('track'); - event.track = te.track; - event.receiver = receiver; - event.transceiver = { receiver: receiver }; - event.streams = [e.stream]; - pc.dispatchEvent(event); - }); - e.stream.getTracks().forEach(function (track) { - var receiver; - if (window.RTCPeerConnection.prototype.getReceivers) { - receiver = pc.getReceivers().find(function (r) { - return r.track && r.track.id === track.id; - }); - } else { - receiver = { track: track }; - } - var event = new Event('track'); - event.track = track; - event.receiver = receiver; - event.transceiver = { receiver: receiver }; - event.streams = [e.stream]; - pc.dispatchEvent(event); - }); - }; - pc.addEventListener('addstream', pc._ontrackpoly); - } - return origSetRemoteDescription.apply(pc, arguments); - }; - } else if (!('RTCRtpTransceiver' in window)) { - utils.wrapPeerConnectionEvent(window, 'track', function (e) { - if (!e.transceiver) { - e.transceiver = { receiver: e.receiver }; - } - return e; - }); - } - }, - - shimGetSendersWithDtmf: function shimGetSendersWithDtmf(window) { - // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack. - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('getSenders' in window.RTCPeerConnection.prototype) && 'createDTMFSender' in window.RTCPeerConnection.prototype) { - var shimSenderWithDtmf = function shimSenderWithDtmf(pc, track) { - return { - track: track, - get dtmf() { - if (this._dtmf === undefined) { - if (track.kind === 'audio') { - this._dtmf = pc.createDTMFSender(track); - } else { - this._dtmf = null; - } - } - return this._dtmf; - }, - _pc: pc - }; - }; - - // augment addTrack when getSenders is not available. - if (!window.RTCPeerConnection.prototype.getSenders) { - window.RTCPeerConnection.prototype.getSenders = function () { - this._senders = this._senders || []; - return this._senders.slice(); // return a copy of the internal state. - }; - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - var pc = this; - var sender = origAddTrack.apply(pc, arguments); - if (!sender) { - sender = shimSenderWithDtmf(pc, track); - pc._senders.push(sender); - } - return sender; - }; - - var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; - window.RTCPeerConnection.prototype.removeTrack = function (sender) { - var pc = this; - origRemoveTrack.apply(pc, arguments); - var idx = pc._senders.indexOf(sender); - if (idx !== -1) { - pc._senders.splice(idx, 1); - } - }; - } - var origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - pc._senders = pc._senders || []; - origAddStream.apply(pc, [stream]); - stream.getTracks().forEach(function (track) { - pc._senders.push(shimSenderWithDtmf(pc, track)); - }); - }; - - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - pc._senders = pc._senders || []; - origRemoveStream.apply(pc, [stream]); - - stream.getTracks().forEach(function (track) { - var sender = pc._senders.find(function (s) { - return s.track === track; - }); - if (sender) { - pc._senders.splice(pc._senders.indexOf(sender), 1); // remove sender - } - }); - }; - } else if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && 'getSenders' in window.RTCPeerConnection.prototype && 'createDTMFSender' in window.RTCPeerConnection.prototype && window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { - var origGetSenders = window.RTCPeerConnection.prototype.getSenders; - window.RTCPeerConnection.prototype.getSenders = function () { - var pc = this; - var senders = origGetSenders.apply(pc, []); - senders.forEach(function (sender) { - sender._pc = pc; - }); - return senders; - }; - - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { - get: function get() { - if (this._dtmf === undefined) { - if (this.track.kind === 'audio') { - this._dtmf = this._pc.createDTMFSender(this.track); - } else { - this._dtmf = null; - } - } - return this._dtmf; - } - }); - } - }, - - shimSenderReceiverGetStats: function shimSenderReceiverGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender && window.RTCRtpReceiver)) { - return; - } - - // shim sender stats. - if (!('getStats' in window.RTCRtpSender.prototype)) { - var origGetSenders = window.RTCPeerConnection.prototype.getSenders; - if (origGetSenders) { - window.RTCPeerConnection.prototype.getSenders = function () { - var pc = this; - var senders = origGetSenders.apply(pc, []); - senders.forEach(function (sender) { - sender._pc = pc; - }); - return senders; - }; - } - - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - if (origAddTrack) { - window.RTCPeerConnection.prototype.addTrack = function () { - var sender = origAddTrack.apply(this, arguments); - sender._pc = this; - return sender; - }; - } - window.RTCRtpSender.prototype.getStats = function () { - var sender = this; - return this._pc.getStats().then(function (result) { - /* Note: this will include stats of all senders that - * send a track with the same id as sender.track as - * it is not possible to identify the RTCRtpSender. - */ - return filterStats(result, sender.track, true); - }); - }; - } - - // shim receiver stats. - if (!('getStats' in window.RTCRtpReceiver.prototype)) { - var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; - if (origGetReceivers) { - window.RTCPeerConnection.prototype.getReceivers = function () { - var pc = this; - var receivers = origGetReceivers.apply(pc, []); - receivers.forEach(function (receiver) { - receiver._pc = pc; - }); - return receivers; - }; - } - utils.wrapPeerConnectionEvent(window, 'track', function (e) { - e.receiver._pc = e.srcElement; - return e; - }); - window.RTCRtpReceiver.prototype.getStats = function () { - var receiver = this; - return this._pc.getStats().then(function (result) { - return filterStats(result, receiver.track, false); - }); - }; - } - - if (!('getStats' in window.RTCRtpSender.prototype && 'getStats' in window.RTCRtpReceiver.prototype)) { - return; - } - - // shim RTCPeerConnection.getStats(track). - var origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function () { - var pc = this; - if (arguments.length > 0 && arguments[0] instanceof window.MediaStreamTrack) { - var track = arguments[0]; - var sender; - var receiver; - var err; - pc.getSenders().forEach(function (s) { - if (s.track === track) { - if (sender) { - err = true; - } else { - sender = s; - } - } - }); - pc.getReceivers().forEach(function (r) { - if (r.track === track) { - if (receiver) { - err = true; - } else { - receiver = r; - } - } - return r.track === track; - }); - if (err || sender && receiver) { - return Promise.reject(new DOMException('There are more than one sender or receiver for the track.', 'InvalidAccessError')); - } else if (sender) { - return sender.getStats(); - } else if (receiver) { - return receiver.getStats(); - } - return Promise.reject(new DOMException('There is no sender or receiver for the track.', 'InvalidAccessError')); - } - return origGetStats.apply(pc, arguments); +var createMethod = function createMethod(bits, padding) { + var method = createOutputMethod(bits, padding, 'hex'); + method.create = function () { + return new Keccak(bits, padding, bits); }; - }, - - shimSourceObject: function shimSourceObject(window) { - var URL = window && window.URL; - - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { - if (window.HTMLMediaElement && !('srcObject' in window.HTMLMediaElement.prototype)) { - // Shim the srcObject property, once, when HTMLMediaElement is found. - Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', { - get: function get() { - return this._srcObject; - }, - set: function set(stream) { - var self = this; - // Use _srcObject as a private property for this shim - this._srcObject = stream; - if (this.src) { - URL.revokeObjectURL(this.src); - } - - if (!stream) { - this.src = ''; - return undefined; - } - this.src = URL.createObjectURL(stream); - // We need to recreate the blob url when a track is added or - // removed. Doing it manually since we want to avoid a recursion. - stream.addEventListener('addtrack', function () { - if (self.src) { - URL.revokeObjectURL(self.src); - } - self.src = URL.createObjectURL(stream); - }); - stream.addEventListener('removetrack', function () { - if (self.src) { - URL.revokeObjectURL(self.src); - } - self.src = URL.createObjectURL(stream); - }); - } - }); - } - } - }, - - shimAddTrackRemoveTrackWithNative: function shimAddTrackRemoveTrackWithNative(window) { - // shim addTrack/removeTrack with native variants in order to make - // the interactions with legacy getLocalStreams behave as in other browsers. - // Keeps a mapping stream.id => [stream, rtpsenders...] - window.RTCPeerConnection.prototype.getLocalStreams = function () { - var pc = this; - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - return Object.keys(this._shimmedLocalStreams).map(function (streamId) { - return pc._shimmedLocalStreams[streamId][0]; - }); + method.update = function (message) { + return method.create().update(message); }; + return createOutputMethods(method, createOutputMethod, bits, padding); +}; - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - if (!stream) { - return origAddTrack.apply(this, arguments); - } - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - - var sender = origAddTrack.apply(this, arguments); - if (!this._shimmedLocalStreams[stream.id]) { - this._shimmedLocalStreams[stream.id] = [stream, sender]; - } else if (this._shimmedLocalStreams[stream.id].indexOf(sender) === -1) { - this._shimmedLocalStreams[stream.id].push(sender); - } - return sender; +var createShakeMethod = function createShakeMethod(bits, padding) { + var method = createShakeOutputMethod(bits, padding, 'hex'); + method.create = function (outputBits) { + return new Keccak(bits, padding, outputBits); }; - - var origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - - stream.getTracks().forEach(function (track) { - var alreadyExists = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (alreadyExists) { - throw new DOMException('Track already exists.', 'InvalidAccessError'); - } - }); - var existingSenders = pc.getSenders(); - origAddStream.apply(this, arguments); - var newSenders = pc.getSenders().filter(function (newSender) { - return existingSenders.indexOf(newSender) === -1; - }); - this._shimmedLocalStreams[stream.id] = [stream].concat(newSenders); + method.update = function (message, outputBits) { + return method.create(outputBits).update(message); }; + return createOutputMethods(method, createShakeOutputMethod, bits, padding); +}; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = function (stream) { - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - delete this._shimmedLocalStreams[stream.id]; - return origRemoveStream.apply(this, arguments); +var createCshakeMethod = function createCshakeMethod(bits, padding) { + var w = CSHAKE_BYTEPAD[bits]; + var method = createCshakeOutputMethod(bits, padding, 'hex'); + method.create = function (outputBits, n, s) { + if (!n && !s) { + return methods['shake' + bits].create(outputBits); + } else { + return new Keccak(bits, padding, outputBits).bytepad([n, s], w); + } }; - - var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; - window.RTCPeerConnection.prototype.removeTrack = function (sender) { - var pc = this; - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - if (sender) { - Object.keys(this._shimmedLocalStreams).forEach(function (streamId) { - var idx = pc._shimmedLocalStreams[streamId].indexOf(sender); - if (idx !== -1) { - pc._shimmedLocalStreams[streamId].splice(idx, 1); - } - if (pc._shimmedLocalStreams[streamId].length === 1) { - delete pc._shimmedLocalStreams[streamId]; - } - }); - } - return origRemoveTrack.apply(this, arguments); + method.update = function (message, outputBits, n, s) { + return method.create(outputBits, n, s).update(message); }; - }, - - shimAddTrackRemoveTrack: function shimAddTrackRemoveTrack(window) { - var browserDetails = utils.detectBrowser(window); - // shim addTrack and removeTrack. - if (window.RTCPeerConnection.prototype.addTrack && browserDetails.version >= 65) { - return this.shimAddTrackRemoveTrackWithNative(window); - } + return createOutputMethods(method, createCshakeOutputMethod, bits, padding); +}; - // also shim pc.getLocalStreams when addTrack is shimmed - // to return the original streams. - var origGetLocalStreams = window.RTCPeerConnection.prototype.getLocalStreams; - window.RTCPeerConnection.prototype.getLocalStreams = function () { - var pc = this; - var nativeStreams = origGetLocalStreams.apply(this); - pc._reverseStreams = pc._reverseStreams || {}; - return nativeStreams.map(function (stream) { - return pc._reverseStreams[stream.id]; - }); +var createKmacMethod = function createKmacMethod(bits, padding) { + var w = CSHAKE_BYTEPAD[bits]; + var method = createKmacOutputMethod(bits, padding, 'hex'); + method.create = function (key, outputBits, s) { + return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w); }; - - var origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function (stream) { - var pc = this; - pc._streams = pc._streams || {}; - pc._reverseStreams = pc._reverseStreams || {}; - - stream.getTracks().forEach(function (track) { - var alreadyExists = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (alreadyExists) { - throw new DOMException('Track already exists.', 'InvalidAccessError'); - } - }); - // Add identity mapping for consistency with addTrack. - // Unless this is being used with a stream from addTrack. - if (!pc._reverseStreams[stream.id]) { - var newStream = new window.MediaStream(stream.getTracks()); - pc._streams[stream.id] = newStream; - pc._reverseStreams[newStream.id] = stream; - stream = newStream; - } - origAddStream.apply(pc, [stream]); + method.update = function (key, message, outputBits, s) { + return method.create(key, outputBits, s).update(message); }; + return createOutputMethods(method, createKmacOutputMethod, bits, padding); +}; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - pc._streams = pc._streams || {}; - pc._reverseStreams = pc._reverseStreams || {}; +var algorithms = [{ name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod }, { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod }, { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }]; - origRemoveStream.apply(pc, [pc._streams[stream.id] || stream]); - delete pc._reverseStreams[pc._streams[stream.id] ? pc._streams[stream.id].id : stream.id]; - delete pc._streams[stream.id]; - }; +var methods = {}, + methodNames = []; - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - var pc = this; - if (pc.signalingState === 'closed') { - throw new DOMException('The RTCPeerConnection\'s signalingState is \'closed\'.', 'InvalidStateError'); - } - var streams = [].slice.call(arguments, 1); - if (streams.length !== 1 || !streams[0].getTracks().find(function (t) { - return t === track; - })) { - // this is not fully correct but all we can manage without - // [[associated MediaStreams]] internal slot. - throw new DOMException('The adapter.js addTrack polyfill only supports a single ' + ' stream which is associated with the specified track.', 'NotSupportedError'); - } +for (var i = 0; i < algorithms.length; ++i) { + var algorithm = algorithms[i]; + var bits = algorithm.bits; + for (var j = 0; j < bits.length; ++j) { + var methodName = algorithm.name + '_' + bits[j]; + methodNames.push(methodName); + methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); + if (algorithm.name !== 'sha3') { + var newMethodName = algorithm.name + bits[j]; + methodNames.push(newMethodName); + methods[newMethodName] = methods[methodName]; + } + } +} - var alreadyExists = pc.getSenders().find(function (s) { - return s.track === track; - }); - if (alreadyExists) { - throw new DOMException('Track already exists.', 'InvalidAccessError'); - } - - pc._streams = pc._streams || {}; - pc._reverseStreams = pc._reverseStreams || {}; - var oldStream = pc._streams[stream.id]; - if (oldStream) { - // this is using odd Chrome behaviour, use with caution: - // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815 - // Note: we rely on the high-level addTrack/dtmf shim to - // create the sender with a dtmf sender. - oldStream.addTrack(track); - - // Trigger ONN async. - Promise.resolve().then(function () { - pc.dispatchEvent(new Event('negotiationneeded')); - }); - } else { - var newStream = new window.MediaStream([track]); - pc._streams[stream.id] = newStream; - pc._reverseStreams[newStream.id] = stream; - pc.addStream(newStream); - } - return pc.getSenders().find(function (s) { - return s.track === track; - }); - }; +function Keccak(bits, padding, outputBits) { + this.blocks = []; + this.s = []; + this.padding = padding; + this.outputBits = outputBits; + this.reset = true; + this.finalized = false; + this.block = 0; + this.start = 0; + this.blockCount = 1600 - (bits << 1) >> 5; + this.byteCount = this.blockCount << 2; + this.outputBlocks = outputBits >> 5; + this.extraBytes = (outputBits & 31) >> 3; - // replace the internal stream id with the external one and - // vice versa. - function replaceInternalStreamId(pc, description) { - var sdp = description.sdp; - Object.keys(pc._reverseStreams || []).forEach(function (internalId) { - var externalStream = pc._reverseStreams[internalId]; - var internalStream = pc._streams[externalStream.id]; - sdp = sdp.replace(new RegExp(internalStream.id, 'g'), externalStream.id); - }); - return new RTCSessionDescription({ - type: description.type, - sdp: sdp - }); + for (var i = 0; i < 50; ++i) { + this.s[i] = 0; } - function replaceExternalStreamId(pc, description) { - var sdp = description.sdp; - Object.keys(pc._reverseStreams || []).forEach(function (internalId) { - var externalStream = pc._reverseStreams[internalId]; - var internalStream = pc._streams[externalStream.id]; - sdp = sdp.replace(new RegExp(externalStream.id, 'g'), internalStream.id); - }); - return new RTCSessionDescription({ - type: description.type, - sdp: sdp - }); +} + +Keccak.prototype.update = function (message) { + if (this.finalized) { + return; } - ['createOffer', 'createAnswer'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - var pc = this; - var args = arguments; - var isLegacyCall = arguments.length && typeof arguments[0] === 'function'; - if (isLegacyCall) { - return nativeMethod.apply(pc, [function (description) { - var desc = replaceInternalStreamId(pc, description); - args[0].apply(null, [desc]); - }, function (err) { - if (args[1]) { - args[1].apply(null, err); + var notString, + type = typeof message === 'undefined' ? 'undefined' : _typeof(message); + if (type !== 'string') { + if (type === 'object') { + if (message === null) { + throw ERROR; + } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { + message = new Uint8Array(message); + } else if (!Array.isArray(message)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { + throw ERROR; + } } - }, arguments[2]]); - } - return nativeMethod.apply(pc, arguments).then(function (description) { - return replaceInternalStreamId(pc, description); - }); - }; - }); - - var origSetLocalDescription = window.RTCPeerConnection.prototype.setLocalDescription; - window.RTCPeerConnection.prototype.setLocalDescription = function () { - var pc = this; - if (!arguments.length || !arguments[0].type) { - return origSetLocalDescription.apply(pc, arguments); - } - arguments[0] = replaceExternalStreamId(pc, arguments[0]); - return origSetLocalDescription.apply(pc, arguments); - }; - - // TODO: mangle getStats: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats-streamidentifier - - var origLocalDescription = Object.getOwnPropertyDescriptor(window.RTCPeerConnection.prototype, 'localDescription'); - Object.defineProperty(window.RTCPeerConnection.prototype, 'localDescription', { - get: function get() { - var pc = this; - var description = origLocalDescription.get.apply(this); - if (description.type === '') { - return description; - } - return replaceInternalStreamId(pc, description); - } - }); - - window.RTCPeerConnection.prototype.removeTrack = function (sender) { - var pc = this; - if (pc.signalingState === 'closed') { - throw new DOMException('The RTCPeerConnection\'s signalingState is \'closed\'.', 'InvalidStateError'); - } - // We can not yet check for sender instanceof RTCRtpSender - // since we shim RTPSender. So we check if sender._pc is set. - if (!sender._pc) { - throw new DOMException('Argument 1 of RTCPeerConnection.removeTrack ' + 'does not implement interface RTCRtpSender.', 'TypeError'); - } - var isLocal = sender._pc === pc; - if (!isLocal) { - throw new DOMException('Sender was not created by this connection.', 'InvalidAccessError'); - } - - // Search for the native stream the senders track belongs to. - pc._streams = pc._streams || {}; - var stream; - Object.keys(pc._streams).forEach(function (streamid) { - var hasTrack = pc._streams[streamid].getTracks().find(function (track) { - return sender.track === track; - }); - if (hasTrack) { - stream = pc._streams[streamid]; - } - }); - - if (stream) { - if (stream.getTracks().length === 1) { - // if this is the last track of the stream, remove the stream. This - // takes care of any shimmed _senders. - pc.removeStream(pc._reverseStreams[stream.id]); } else { - // relying on the same odd chrome behaviour as above. - stream.removeTrack(sender.track); - } - pc.dispatchEvent(new Event('negotiationneeded')); - } - }; - }, - - shimPeerConnection: function shimPeerConnection(window) { - var browserDetails = utils.detectBrowser(window); - - // The RTCPeerConnection object. - if (!window.RTCPeerConnection && window.webkitRTCPeerConnection) { - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - // Translate iceTransportPolicy to iceTransports, - // see https://code.google.com/p/webrtc/issues/detail?id=4869 - // this was fixed in M56 along with unprefixing RTCPeerConnection. - logging('PeerConnection'); - if (pcConfig && pcConfig.iceTransportPolicy) { - pcConfig.iceTransports = pcConfig.iceTransportPolicy; + throw ERROR; } + notString = true; + } + var blocks = this.blocks, + byteCount = this.byteCount, + length = message.length, + blockCount = this.blockCount, + index = 0, + s = this.s, + i, + code; - return new window.webkitRTCPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = window.webkitRTCPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - if (window.webkitRTCPeerConnection.generateCertificate) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return window.webkitRTCPeerConnection.generateCertificate; - } - }); - } - } else { - // migrate from non-spec RTCIceServer.url to RTCIceServer.urls - var OrigPeerConnection = window.RTCPeerConnection; - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - if (pcConfig && pcConfig.iceServers) { - var newIceServers = []; - for (var i = 0; i < pcConfig.iceServers.length; i++) { - var server = pcConfig.iceServers[i]; - if (!server.hasOwnProperty('urls') && server.hasOwnProperty('url')) { - utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - server = JSON.parse(JSON.stringify(server)); - server.urls = server.url; - newIceServers.push(server); - } else { - newIceServers.push(pcConfig.iceServers[i]); + while (index < length) { + if (this.reset) { + this.reset = false; + blocks[0] = this.block; + for (i = 1; i < blockCount + 1; ++i) { + blocks[i] = 0; } - } - pcConfig.iceServers = newIceServers; } - return new OrigPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = OrigPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return OrigPeerConnection.generateCertificate; + if (notString) { + for (i = this.start; index < length && i < byteCount; ++index) { + blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; + } + } else { + for (i = this.start; index < length && i < byteCount; ++index) { + code = message.charCodeAt(index); + if (code < 0x80) { + blocks[i >> 2] |= code << SHIFT[i++ & 3]; + } else if (code < 0x800) { + blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; + } else if (code < 0xd800 || code >= 0xe000) { + blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; + } else { + code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff); + blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3]; + blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3]; + } + } } - }); - } - - var origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function (selector, successCallback, errorCallback) { - var pc = this; - var args = arguments; - - // If selector is a function then we are in the old style stats so just - // pass back the original getStats format to avoid breaking old users. - if (arguments.length > 0 && typeof selector === 'function') { - return origGetStats.apply(this, arguments); - } - - // When spec-style getStats is supported, return those when called with - // either no arguments or the selector argument is null. - if (origGetStats.length === 0 && (arguments.length === 0 || typeof arguments[0] !== 'function')) { - return origGetStats.apply(this, []); - } - - var fixChromeStats_ = function fixChromeStats_(response) { - var standardReport = {}; - var reports = response.result(); - reports.forEach(function (report) { - var standardStats = { - id: report.id, - timestamp: report.timestamp, - type: { - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[report.type] || report.type - }; - report.names().forEach(function (name) { - standardStats[name] = report.stat(name); - }); - standardReport[standardStats.id] = standardStats; - }); - - return standardReport; - }; - - // shim getStats with maplike support - var makeMapStats = function makeMapStats(stats) { - return new Map(Object.keys(stats).map(function (key) { - return [key, stats[key]]; - })); - }; - - if (arguments.length >= 2) { - var successCallbackWrapper_ = function successCallbackWrapper_(response) { - args[1](makeMapStats(fixChromeStats_(response))); - }; - - return origGetStats.apply(this, [successCallbackWrapper_, arguments[0]]); - } - - // promise-support - return new Promise(function (resolve, reject) { - origGetStats.apply(pc, [function (response) { - resolve(makeMapStats(fixChromeStats_(response))); - }, reject]); - }).then(successCallback, errorCallback); - }; - - // add promise support -- natively available in Chrome 51 - if (browserDetails.version < 51) { - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - var args = arguments; - var pc = this; - var promise = new Promise(function (resolve, reject) { - nativeMethod.apply(pc, [args[0], resolve, reject]); - }); - if (args.length < 2) { - return promise; - } - return promise.then(function () { - args[1].apply(null, []); - }, function (err) { - if (args.length >= 3) { - args[2].apply(null, [err]); + this.lastByteIndex = i; + if (i >= byteCount) { + this.start = i - byteCount; + this.block = blocks[blockCount]; + for (i = 0; i < blockCount; ++i) { + s[i] ^= blocks[i]; } - }); - }; - }); - } - - // promise support for createOffer and createAnswer. Available (without - // bugs) since M52: crbug/619289 - if (browserDetails.version < 52) { - ['createOffer', 'createAnswer'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - var pc = this; - if (arguments.length < 1 || arguments.length === 1 && _typeof(arguments[0]) === 'object') { - var opts = arguments.length === 1 ? arguments[0] : undefined; - return new Promise(function (resolve, reject) { - nativeMethod.apply(pc, [resolve, reject, opts]); - }); - } - return nativeMethod.apply(this, arguments); - }; - }); - } - - // shim implicit creation of RTCSessionDescription/RTCIceCandidate - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - arguments[0] = new (method === 'addIceCandidate' ? window.RTCIceCandidate : window.RTCSessionDescription)(arguments[0]); - return nativeMethod.apply(this, arguments); - }; - }); - - // support for addIceCandidate(null or undefined) - var nativeAddIceCandidate = window.RTCPeerConnection.prototype.addIceCandidate; - window.RTCPeerConnection.prototype.addIceCandidate = function () { - if (!arguments[0]) { - if (arguments[1]) { - arguments[1].apply(null); + f(s); + this.reset = true; + } else { + this.start = i; } - return Promise.resolve(); - } - return nativeAddIceCandidate.apply(this, arguments); - }; - }, - - fixNegotiationNeeded: function fixNegotiationNeeded(window) { - utils.wrapPeerConnectionEvent(window, 'negotiationneeded', function (e) { - var pc = e.target; - if (pc.signalingState !== 'stable') { - return; - } - return e; - }); - }, + } + return this; +}; - shimGetDisplayMedia: function shimGetDisplayMedia(window, getSourceId) { - if ('getDisplayMedia' in window.navigator) { - return; +Keccak.prototype.encode = function (x, right) { + var o = x & 255, + n = 1; + var bytes = [o]; + x = x >> 8; + o = x & 255; + while (o > 0) { + bytes.unshift(o); + x = x >> 8; + o = x & 255; + ++n; } - // getSourceId is a function that returns a promise resolving with - // the sourceId of the screen/window/tab to be shared. - if (typeof getSourceId !== 'function') { - console.error('shimGetDisplayMedia: getSourceId argument is not ' + 'a function'); - return; + if (right) { + bytes.push(n); + } else { + bytes.unshift(n); } - navigator.getDisplayMedia = function (constraints) { - return getSourceId(constraints).then(function (sourceId) { - constraints.video = { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: sourceId, - maxFrameRate: constraints.video.frameRate || 3 - } - }; - return navigator.mediaDevices.getUserMedia(constraints); - }); - }; - } + this.update(bytes); + return bytes.length; }; -},{"../utils.js":798,"./getusermedia":790}],790:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils.js'); -var logging = utils.log; - -// Expose public methods. -module.exports = function (window) { - var browserDetails = utils.detectBrowser(window); - var navigator = window && window.navigator; - - var constraintsToChrome_ = function constraintsToChrome_(c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) !== 'object' || c.mandatory || c.optional) { - return c; - } - var cc = {}; - Object.keys(c).forEach(function (key) { - if (key === 'require' || key === 'advanced' || key === 'mediaSource') { - return; - } - var r = _typeof(c[key]) === 'object' ? c[key] : { ideal: c[key] }; - if (r.exact !== undefined && typeof r.exact === 'number') { - r.min = r.max = r.exact; - } - var oldname_ = function oldname_(prefix, name) { - if (prefix) { - return prefix + name.charAt(0).toUpperCase() + name.slice(1); - } - return name === 'deviceId' ? 'sourceId' : name; - }; - if (r.ideal !== undefined) { - cc.optional = cc.optional || []; - var oc = {}; - if (typeof r.ideal === 'number') { - oc[oldname_('min', key)] = r.ideal; - cc.optional.push(oc); - oc = {}; - oc[oldname_('max', key)] = r.ideal; - cc.optional.push(oc); +Keccak.prototype.encodeString = function (str) { + var notString, + type = typeof str === 'undefined' ? 'undefined' : _typeof(str); + if (type !== 'string') { + if (type === 'object') { + if (str === null) { + throw ERROR; + } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { + str = new Uint8Array(str); + } else if (!Array.isArray(str)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { + throw ERROR; + } + } } else { - oc[oldname_('', key)] = r.ideal; - cc.optional.push(oc); + throw ERROR; } - } - if (r.exact !== undefined && typeof r.exact !== 'number') { - cc.mandatory = cc.mandatory || {}; - cc.mandatory[oldname_('', key)] = r.exact; - } else { - ['min', 'max'].forEach(function (mix) { - if (r[mix] !== undefined) { - cc.mandatory = cc.mandatory || {}; - cc.mandatory[oldname_(mix, key)] = r[mix]; - } - }); - } - }); - if (c.advanced) { - cc.optional = (cc.optional || []).concat(c.advanced); - } - return cc; - }; - - var shimConstraints_ = function shimConstraints_(constraints, func) { - if (browserDetails.version >= 61) { - return func(constraints); + notString = true; } - constraints = JSON.parse(JSON.stringify(constraints)); - if (constraints && _typeof(constraints.audio) === 'object') { - var remap = function remap(obj, a, b) { - if (a in obj && !(b in obj)) { - obj[b] = obj[a]; - delete obj[a]; - } - }; - constraints = JSON.parse(JSON.stringify(constraints)); - remap(constraints.audio, 'autoGainControl', 'googAutoGainControl'); - remap(constraints.audio, 'noiseSuppression', 'googNoiseSuppression'); - constraints.audio = constraintsToChrome_(constraints.audio); - } - if (constraints && _typeof(constraints.video) === 'object') { - // Shim facingMode for mobile & surface pro. - var face = constraints.video.facingMode; - face = face && ((typeof face === 'undefined' ? 'undefined' : _typeof(face)) === 'object' ? face : { ideal: face }); - var getSupportedFacingModeLies = browserDetails.version < 66; - - if (face && (face.exact === 'user' || face.exact === 'environment' || face.ideal === 'user' || face.ideal === 'environment') && !(navigator.mediaDevices.getSupportedConstraints && navigator.mediaDevices.getSupportedConstraints().facingMode && !getSupportedFacingModeLies)) { - delete constraints.video.facingMode; - var matches; - if (face.exact === 'environment' || face.ideal === 'environment') { - matches = ['back', 'rear']; - } else if (face.exact === 'user' || face.ideal === 'user') { - matches = ['front']; - } - if (matches) { - // Look for matches in label, or use last cam for back (typical). - return navigator.mediaDevices.enumerateDevices().then(function (devices) { - devices = devices.filter(function (d) { - return d.kind === 'videoinput'; - }); - var dev = devices.find(function (d) { - return matches.some(function (match) { - return d.label.toLowerCase().indexOf(match) !== -1; - }); - }); - if (!dev && devices.length && matches.indexOf('back') !== -1) { - dev = devices[devices.length - 1]; // more likely the back cam - } - if (dev) { - constraints.video.deviceId = face.exact ? { exact: dev.deviceId } : { ideal: dev.deviceId }; + var bytes = 0, + length = str.length; + if (notString) { + bytes = length; + } else { + for (var i = 0; i < str.length; ++i) { + var code = str.charCodeAt(i); + if (code < 0x80) { + bytes += 1; + } else if (code < 0x800) { + bytes += 2; + } else if (code < 0xd800 || code >= 0xe000) { + bytes += 3; + } else { + code = 0x10000 + ((code & 0x3ff) << 10 | str.charCodeAt(++i) & 0x3ff); + bytes += 4; } - constraints.video = constraintsToChrome_(constraints.video); - logging('chrome: ' + JSON.stringify(constraints)); - return func(constraints); - }); } - } - constraints.video = constraintsToChrome_(constraints.video); } - logging('chrome: ' + JSON.stringify(constraints)); - return func(constraints); - }; + bytes += this.encode(bytes * 8); + this.update(str); + return bytes; +}; - var shimError_ = function shimError_(e) { - if (browserDetails.version >= 64) { - return e; +Keccak.prototype.bytepad = function (strs, w) { + var bytes = this.encode(w); + for (var i = 0; i < strs.length; ++i) { + bytes += this.encodeString(strs[i]); } - return { - name: { - PermissionDeniedError: 'NotAllowedError', - PermissionDismissedError: 'NotAllowedError', - InvalidStateError: 'NotAllowedError', - DevicesNotFoundError: 'NotFoundError', - ConstraintNotSatisfiedError: 'OverconstrainedError', - TrackStartError: 'NotReadableError', - MediaDeviceFailedDueToShutdown: 'NotAllowedError', - MediaDeviceKillSwitchOn: 'NotAllowedError', - TabCaptureError: 'AbortError', - ScreenCaptureError: 'AbortError', - DeviceCaptureError: 'AbortError' - }[e.name] || e.name, - message: e.message, - constraint: e.constraint || e.constraintName, - toString: function toString() { - return this.name + (this.message && ': ') + this.message; - } - }; - }; - - var getUserMedia_ = function getUserMedia_(constraints, onSuccess, onError) { - shimConstraints_(constraints, function (c) { - navigator.webkitGetUserMedia(c, onSuccess, function (e) { - if (onError) { - onError(shimError_(e)); - } - }); - }); - }; - - navigator.getUserMedia = getUserMedia_; - - // Returns the result of getUserMedia as a Promise. - var getUserMediaPromise_ = function getUserMediaPromise_(constraints) { - return new Promise(function (resolve, reject) { - navigator.getUserMedia(constraints, resolve, reject); - }); - }; - - if (!navigator.mediaDevices) { - navigator.mediaDevices = { - getUserMedia: getUserMediaPromise_, - enumerateDevices: function enumerateDevices() { - return new Promise(function (resolve) { - var kinds = { audio: 'audioinput', video: 'videoinput' }; - return window.MediaStreamTrack.getSources(function (devices) { - resolve(devices.map(function (device) { - return { label: device.label, - kind: kinds[device.kind], - deviceId: device.id, - groupId: '' }; - })); - }); - }); - }, - getSupportedConstraints: function getSupportedConstraints() { - return { - deviceId: true, echoCancellation: true, facingMode: true, - frameRate: true, height: true, width: true - }; - } - }; - } - - // A shim for getUserMedia method on the mediaDevices object. - // TODO(KaptenJansson) remove once implemented in Chrome stable. - if (!navigator.mediaDevices.getUserMedia) { - navigator.mediaDevices.getUserMedia = function (constraints) { - return getUserMediaPromise_(constraints); - }; - } else { - // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia - // function which returns a Promise, it does not accept spec-style - // constraints. - var origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (cs) { - return shimConstraints_(cs, function (c) { - return origGetUserMedia(c).then(function (stream) { - if (c.audio && !stream.getAudioTracks().length || c.video && !stream.getVideoTracks().length) { - stream.getTracks().forEach(function (track) { - track.stop(); - }); - throw new DOMException('', 'NotFoundError'); - } - return stream; - }, function (e) { - return Promise.reject(shimError_(e)); - }); - }); - }; - } + var paddingBytes = w - bytes % w; + var zeros = []; + zeros.length = paddingBytes; + this.update(zeros); + return this; +}; - // Dummy devicechange event methods. - // TODO(KaptenJansson) remove once implemented in Chrome stable. - if (typeof navigator.mediaDevices.addEventListener === 'undefined') { - navigator.mediaDevices.addEventListener = function () { - logging('Dummy mediaDevices.addEventListener called.'); - }; - } - if (typeof navigator.mediaDevices.removeEventListener === 'undefined') { - navigator.mediaDevices.removeEventListener = function () { - logging('Dummy mediaDevices.removeEventListener called.'); - }; - } +Keccak.prototype.finalize = function () { + if (this.finalized) { + return; + } + this.finalized = true; + var blocks = this.blocks, + i = this.lastByteIndex, + blockCount = this.blockCount, + s = this.s; + blocks[i >> 2] |= this.padding[i & 3]; + if (this.lastByteIndex === this.byteCount) { + blocks[0] = blocks[blockCount]; + for (i = 1; i < blockCount + 1; ++i) { + blocks[i] = 0; + } + } + blocks[blockCount - 1] |= 0x80000000; + for (i = 0; i < blockCount; ++i) { + s[i] ^= blocks[i]; + } + f(s); }; -},{"../utils.js":798}],791:[function(require,module,exports){ -/* - * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var SDPUtils = require('sdp'); -var utils = require('./utils'); +Keccak.prototype.toString = Keccak.prototype.hex = function () { + this.finalize(); -module.exports = { - shimRTCIceCandidate: function shimRTCIceCandidate(window) { - // foundation is arbitrarily chosen as an indicator for full support for - // https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface - if (!window.RTCIceCandidate || window.RTCIceCandidate && 'foundation' in window.RTCIceCandidate.prototype) { - return; + var blockCount = this.blockCount, + s = this.s, + outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, + i = 0, + j = 0; + var hex = '', + block; + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + block = s[i]; + hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F] + HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F] + HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F] + HEX_CHARS[block >> 28 & 0x0F] + HEX_CHARS[block >> 24 & 0x0F]; + } + if (j % blockCount === 0) { + f(s); + i = 0; + } } - - var NativeRTCIceCandidate = window.RTCIceCandidate; - window.RTCIceCandidate = function (args) { - // Remove the a= which shouldn't be part of the candidate string. - if ((typeof args === 'undefined' ? 'undefined' : _typeof(args)) === 'object' && args.candidate && args.candidate.indexOf('a=') === 0) { - args = JSON.parse(JSON.stringify(args)); - args.candidate = args.candidate.substr(2); - } - - if (args.candidate && args.candidate.length) { - // Augment the native candidate with the parsed fields. - var nativeCandidate = new NativeRTCIceCandidate(args); - var parsedCandidate = SDPUtils.parseCandidate(args.candidate); - var augmentedCandidate = Object.assign(nativeCandidate, parsedCandidate); - - // Add a serializer that does not serialize the extra attributes. - augmentedCandidate.toJSON = function () { - return { - candidate: augmentedCandidate.candidate, - sdpMid: augmentedCandidate.sdpMid, - sdpMLineIndex: augmentedCandidate.sdpMLineIndex, - usernameFragment: augmentedCandidate.usernameFragment - }; - }; - return augmentedCandidate; - } - return new NativeRTCIceCandidate(args); - }; - window.RTCIceCandidate.prototype = NativeRTCIceCandidate.prototype; - - // Hook up the augmented candidate in onicecandidate and - // addEventListener('icecandidate', ...) - utils.wrapPeerConnectionEvent(window, 'icecandidate', function (e) { - if (e.candidate) { - Object.defineProperty(e, 'candidate', { - value: new window.RTCIceCandidate(e.candidate), - writable: 'false' - }); - } - return e; - }); - }, - - // shimCreateObjectURL must be called before shimSourceObject to avoid loop. - - shimCreateObjectURL: function shimCreateObjectURL(window) { - var URL = window && window.URL; - - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.HTMLMediaElement && 'srcObject' in window.HTMLMediaElement.prototype && URL.createObjectURL && URL.revokeObjectURL)) { - // Only shim CreateObjectURL using srcObject if srcObject exists. - return undefined; + if (extraBytes) { + block = s[i]; + hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F]; + if (extraBytes > 1) { + hex += HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F]; + } + if (extraBytes > 2) { + hex += HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F]; + } } + return hex; +}; - var nativeCreateObjectURL = URL.createObjectURL.bind(URL); - var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL); - var streams = new Map(), - newId = 0; +Keccak.prototype.arrayBuffer = function () { + this.finalize(); - URL.createObjectURL = function (stream) { - if ('getTracks' in stream) { - var url = 'polyblob:' + ++newId; - streams.set(url, stream); - utils.deprecated('URL.createObjectURL(stream)', 'elem.srcObject = stream'); - return url; - } - return nativeCreateObjectURL(stream); - }; - URL.revokeObjectURL = function (url) { - nativeRevokeObjectURL(url); - streams.delete(url); - }; + var blockCount = this.blockCount, + s = this.s, + outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, + i = 0, + j = 0; + var bytes = this.outputBits >> 3; + var buffer; + if (extraBytes) { + buffer = new ArrayBuffer(outputBlocks + 1 << 2); + } else { + buffer = new ArrayBuffer(bytes); + } + var array = new Uint32Array(buffer); + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + array[j] = s[i]; + } + if (j % blockCount === 0) { + f(s); + } + } + if (extraBytes) { + array[i] = s[i]; + buffer = buffer.slice(0, bytes); + } + return buffer; +}; - var dsc = Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype, 'src'); - Object.defineProperty(window.HTMLMediaElement.prototype, 'src', { - get: function get() { - return dsc.get.apply(this); - }, - set: function set(url) { - this.srcObject = streams.get(url) || null; - return dsc.set.apply(this, [url]); - } - }); +Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; - var nativeSetAttribute = window.HTMLMediaElement.prototype.setAttribute; - window.HTMLMediaElement.prototype.setAttribute = function () { - if (arguments.length === 2 && ('' + arguments[0]).toLowerCase() === 'src') { - this.srcObject = streams.get(arguments[1]) || null; - } - return nativeSetAttribute.apply(this, arguments); - }; - }, +Keccak.prototype.digest = Keccak.prototype.array = function () { + this.finalize(); - shimMaxMessageSize: function shimMaxMessageSize(window) { - if (window.RTCSctpTransport || !window.RTCPeerConnection) { - return; + var blockCount = this.blockCount, + s = this.s, + outputBlocks = this.outputBlocks, + extraBytes = this.extraBytes, + i = 0, + j = 0; + var array = [], + offset, + block; + while (j < outputBlocks) { + for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { + offset = j << 2; + block = s[i]; + array[offset] = block & 0xFF; + array[offset + 1] = block >> 8 & 0xFF; + array[offset + 2] = block >> 16 & 0xFF; + array[offset + 3] = block >> 24 & 0xFF; + } + if (j % blockCount === 0) { + f(s); + } } - var browserDetails = utils.detectBrowser(window); - - if (!('sctp' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'sctp', { - get: function get() { - return typeof this._sctp === 'undefined' ? null : this._sctp; + if (extraBytes) { + offset = j << 2; + block = s[i]; + array[offset] = block & 0xFF; + if (extraBytes > 1) { + array[offset + 1] = block >> 8 & 0xFF; + } + if (extraBytes > 2) { + array[offset + 2] = block >> 16 & 0xFF; } - }); } + return array; +}; - var sctpInDescription = function sctpInDescription(description) { - var sections = SDPUtils.splitSections(description.sdp); - sections.shift(); - return sections.some(function (mediaSection) { - var mLine = SDPUtils.parseMLine(mediaSection); - return mLine && mLine.kind === 'application' && mLine.protocol.indexOf('SCTP') !== -1; - }); - }; - - var getRemoteFirefoxVersion = function getRemoteFirefoxVersion(description) { - // TODO: Is there a better solution for detecting Firefox? - var match = description.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/); - if (match === null || match.length < 2) { - return -1; - } - var version = parseInt(match[1], 10); - // Test for NaN (yes, this is ugly) - return version !== version ? -1 : version; - }; - - var getCanSendMaxMessageSize = function getCanSendMaxMessageSize(remoteIsFirefox) { - // Every implementation we know can send at least 64 KiB. - // Note: Although Chrome is technically able to send up to 256 KiB, the - // data does not reach the other peer reliably. - // See: https://bugs.chromium.org/p/webrtc/issues/detail?id=8419 - var canSendMaxMessageSize = 65536; - if (browserDetails.browser === 'firefox') { - if (browserDetails.version < 57) { - if (remoteIsFirefox === -1) { - // FF < 57 will send in 16 KiB chunks using the deprecated PPID - // fragmentation. - canSendMaxMessageSize = 16384; - } else { - // However, other FF (and RAWRTC) can reassemble PPID-fragmented - // messages. Thus, supporting ~2 GiB when sending. - canSendMaxMessageSize = 2147483637; - } - } else if (browserDetails.version < 60) { - // Currently, all FF >= 57 will reset the remote maximum message size - // to the default value when a data channel is created at a later - // stage. :( - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - canSendMaxMessageSize = browserDetails.version === 57 ? 65535 : 65536; - } else { - // FF >= 60 supports sending ~2 GiB - canSendMaxMessageSize = 2147483637; - } - } - return canSendMaxMessageSize; - }; +function Kmac(bits, padding, outputBits) { + Keccak.call(this, bits, padding, outputBits); +} - var getMaxMessageSize = function getMaxMessageSize(description, remoteIsFirefox) { - // Note: 65536 bytes is the default value from the SDP spec. Also, - // every implementation we know supports receiving 65536 bytes. - var maxMessageSize = 65536; +Kmac.prototype = new Keccak(); - // FF 57 has a slightly incorrect default remote max message size, so - // we need to adjust it here to avoid a failure when sending. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1425697 - if (browserDetails.browser === 'firefox' && browserDetails.version === 57) { - maxMessageSize = 65535; - } +Kmac.prototype.finalize = function () { + this.encode(this.outputBits, true); + return Keccak.prototype.finalize.call(this); +}; - var match = SDPUtils.matchPrefix(description.sdp, 'a=max-message-size:'); - if (match.length > 0) { - maxMessageSize = parseInt(match[0].substr(19), 10); - } else if (browserDetails.browser === 'firefox' && remoteIsFirefox !== -1) { - // If the maximum message size is not present in the remote SDP and - // both local and remote are Firefox, the remote peer can receive - // ~2 GiB. - maxMessageSize = 2147483637; - } - return maxMessageSize; - }; +var f = function f(s) { + var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; + for (n = 0; n < 48; n += 2) { + c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; + c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; + c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; + c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; + c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; + c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; + c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; + c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; + c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; + c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = function () { - var pc = this; - pc._sctp = null; + h = c8 ^ (c2 << 1 | c3 >>> 31); + l = c9 ^ (c3 << 1 | c2 >>> 31); + s[0] ^= h; + s[1] ^= l; + s[10] ^= h; + s[11] ^= l; + s[20] ^= h; + s[21] ^= l; + s[30] ^= h; + s[31] ^= l; + s[40] ^= h; + s[41] ^= l; + h = c0 ^ (c4 << 1 | c5 >>> 31); + l = c1 ^ (c5 << 1 | c4 >>> 31); + s[2] ^= h; + s[3] ^= l; + s[12] ^= h; + s[13] ^= l; + s[22] ^= h; + s[23] ^= l; + s[32] ^= h; + s[33] ^= l; + s[42] ^= h; + s[43] ^= l; + h = c2 ^ (c6 << 1 | c7 >>> 31); + l = c3 ^ (c7 << 1 | c6 >>> 31); + s[4] ^= h; + s[5] ^= l; + s[14] ^= h; + s[15] ^= l; + s[24] ^= h; + s[25] ^= l; + s[34] ^= h; + s[35] ^= l; + s[44] ^= h; + s[45] ^= l; + h = c4 ^ (c8 << 1 | c9 >>> 31); + l = c5 ^ (c9 << 1 | c8 >>> 31); + s[6] ^= h; + s[7] ^= l; + s[16] ^= h; + s[17] ^= l; + s[26] ^= h; + s[27] ^= l; + s[36] ^= h; + s[37] ^= l; + s[46] ^= h; + s[47] ^= l; + h = c6 ^ (c0 << 1 | c1 >>> 31); + l = c7 ^ (c1 << 1 | c0 >>> 31); + s[8] ^= h; + s[9] ^= l; + s[18] ^= h; + s[19] ^= l; + s[28] ^= h; + s[29] ^= l; + s[38] ^= h; + s[39] ^= l; + s[48] ^= h; + s[49] ^= l; - if (sctpInDescription(arguments[0])) { - // Check if the remote is FF. - var isFirefox = getRemoteFirefoxVersion(arguments[0]); + b0 = s[0]; + b1 = s[1]; + b32 = s[11] << 4 | s[10] >>> 28; + b33 = s[10] << 4 | s[11] >>> 28; + b14 = s[20] << 3 | s[21] >>> 29; + b15 = s[21] << 3 | s[20] >>> 29; + b46 = s[31] << 9 | s[30] >>> 23; + b47 = s[30] << 9 | s[31] >>> 23; + b28 = s[40] << 18 | s[41] >>> 14; + b29 = s[41] << 18 | s[40] >>> 14; + b20 = s[2] << 1 | s[3] >>> 31; + b21 = s[3] << 1 | s[2] >>> 31; + b2 = s[13] << 12 | s[12] >>> 20; + b3 = s[12] << 12 | s[13] >>> 20; + b34 = s[22] << 10 | s[23] >>> 22; + b35 = s[23] << 10 | s[22] >>> 22; + b16 = s[33] << 13 | s[32] >>> 19; + b17 = s[32] << 13 | s[33] >>> 19; + b48 = s[42] << 2 | s[43] >>> 30; + b49 = s[43] << 2 | s[42] >>> 30; + b40 = s[5] << 30 | s[4] >>> 2; + b41 = s[4] << 30 | s[5] >>> 2; + b22 = s[14] << 6 | s[15] >>> 26; + b23 = s[15] << 6 | s[14] >>> 26; + b4 = s[25] << 11 | s[24] >>> 21; + b5 = s[24] << 11 | s[25] >>> 21; + b36 = s[34] << 15 | s[35] >>> 17; + b37 = s[35] << 15 | s[34] >>> 17; + b18 = s[45] << 29 | s[44] >>> 3; + b19 = s[44] << 29 | s[45] >>> 3; + b10 = s[6] << 28 | s[7] >>> 4; + b11 = s[7] << 28 | s[6] >>> 4; + b42 = s[17] << 23 | s[16] >>> 9; + b43 = s[16] << 23 | s[17] >>> 9; + b24 = s[26] << 25 | s[27] >>> 7; + b25 = s[27] << 25 | s[26] >>> 7; + b6 = s[36] << 21 | s[37] >>> 11; + b7 = s[37] << 21 | s[36] >>> 11; + b38 = s[47] << 24 | s[46] >>> 8; + b39 = s[46] << 24 | s[47] >>> 8; + b30 = s[8] << 27 | s[9] >>> 5; + b31 = s[9] << 27 | s[8] >>> 5; + b12 = s[18] << 20 | s[19] >>> 12; + b13 = s[19] << 20 | s[18] >>> 12; + b44 = s[29] << 7 | s[28] >>> 25; + b45 = s[28] << 7 | s[29] >>> 25; + b26 = s[38] << 8 | s[39] >>> 24; + b27 = s[39] << 8 | s[38] >>> 24; + b8 = s[48] << 14 | s[49] >>> 18; + b9 = s[49] << 14 | s[48] >>> 18; - // Get the maximum message size the local peer is capable of sending - var canSendMMS = getCanSendMaxMessageSize(isFirefox); + s[0] = b0 ^ ~b2 & b4; + s[1] = b1 ^ ~b3 & b5; + s[10] = b10 ^ ~b12 & b14; + s[11] = b11 ^ ~b13 & b15; + s[20] = b20 ^ ~b22 & b24; + s[21] = b21 ^ ~b23 & b25; + s[30] = b30 ^ ~b32 & b34; + s[31] = b31 ^ ~b33 & b35; + s[40] = b40 ^ ~b42 & b44; + s[41] = b41 ^ ~b43 & b45; + s[2] = b2 ^ ~b4 & b6; + s[3] = b3 ^ ~b5 & b7; + s[12] = b12 ^ ~b14 & b16; + s[13] = b13 ^ ~b15 & b17; + s[22] = b22 ^ ~b24 & b26; + s[23] = b23 ^ ~b25 & b27; + s[32] = b32 ^ ~b34 & b36; + s[33] = b33 ^ ~b35 & b37; + s[42] = b42 ^ ~b44 & b46; + s[43] = b43 ^ ~b45 & b47; + s[4] = b4 ^ ~b6 & b8; + s[5] = b5 ^ ~b7 & b9; + s[14] = b14 ^ ~b16 & b18; + s[15] = b15 ^ ~b17 & b19; + s[24] = b24 ^ ~b26 & b28; + s[25] = b25 ^ ~b27 & b29; + s[34] = b34 ^ ~b36 & b38; + s[35] = b35 ^ ~b37 & b39; + s[44] = b44 ^ ~b46 & b48; + s[45] = b45 ^ ~b47 & b49; + s[6] = b6 ^ ~b8 & b0; + s[7] = b7 ^ ~b9 & b1; + s[16] = b16 ^ ~b18 & b10; + s[17] = b17 ^ ~b19 & b11; + s[26] = b26 ^ ~b28 & b20; + s[27] = b27 ^ ~b29 & b21; + s[36] = b36 ^ ~b38 & b30; + s[37] = b37 ^ ~b39 & b31; + s[46] = b46 ^ ~b48 & b40; + s[47] = b47 ^ ~b49 & b41; + s[8] = b8 ^ ~b0 & b2; + s[9] = b9 ^ ~b1 & b3; + s[18] = b18 ^ ~b10 & b12; + s[19] = b19 ^ ~b11 & b13; + s[28] = b28 ^ ~b20 & b22; + s[29] = b29 ^ ~b21 & b23; + s[38] = b38 ^ ~b30 & b32; + s[39] = b39 ^ ~b31 & b33; + s[48] = b48 ^ ~b40 & b42; + s[49] = b49 ^ ~b41 & b43; - // Get the maximum message size of the remote peer. - var remoteMMS = getMaxMessageSize(arguments[0], isFirefox); + s[0] ^= RC[n]; + s[1] ^= RC[n + 1]; + } +}; - // Determine final maximum message size - var maxMessageSize; - if (canSendMMS === 0 && remoteMMS === 0) { - maxMessageSize = Number.POSITIVE_INFINITY; - } else if (canSendMMS === 0 || remoteMMS === 0) { - maxMessageSize = Math.max(canSendMMS, remoteMMS); - } else { - maxMessageSize = Math.min(canSendMMS, remoteMMS); - } +module.exports = methods; - // Create a dummy RTCSctpTransport object and the 'maxMessageSize' - // attribute. - var sctp = {}; - Object.defineProperty(sctp, 'maxMessageSize', { - get: function get() { - return maxMessageSize; - } - }); - pc._sctp = sctp; - } +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"_process":704}],780:[function(require,module,exports){ +'use strict'; - return origSetRemoteDescription.apply(pc, arguments); - }; - }, +var jsSHA = require('jssha/src/sha256'); +var Blake256 = require('./blake256'); +var _keccak = require('./sha3')['keccak256']; - shimSendThrowTypeError: function shimSendThrowTypeError(window) { - if (!(window.RTCPeerConnection && 'createDataChannel' in window.RTCPeerConnection.prototype)) { - return; +function numberToHex(number) { + var hex = Math.round(number).toString(16); + if (hex.length === 1) { + hex = '0' + hex; } + return hex; +} - // Note: Although Firefox >= 57 has a native implementation, the maximum - // message size can be reset for all data channels at a later stage. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - - function wrapDcSend(dc, pc) { - var origDataChannelSend = dc.send; - dc.send = function () { - var data = arguments[0]; - var length = data.length || data.size || data.byteLength; - if (dc.readyState === 'open' && pc.sctp && length > pc.sctp.maxMessageSize) { - throw new TypeError('Message too large (can send a maximum of ' + pc.sctp.maxMessageSize + ' bytes)'); +module.exports = { + toHex: function toHex(arrayOfBytes) { + var hex = ''; + for (var i = 0; i < arrayOfBytes.length; i++) { + hex += numberToHex(arrayOfBytes[i]); } - return origDataChannelSend.apply(dc, arguments); - }; + return hex; + }, + sha256: function sha256(hexString) { + var sha = new jsSHA('SHA-256', 'HEX'); + sha.update(hexString); + return sha.getHash('HEX'); + }, + sha256Checksum: function sha256Checksum(payload) { + return this.sha256(this.sha256(payload)).substr(0, 8); + }, + blake256: function blake256(hexString) { + return new Blake256().update(hexString, 'hex').digest('hex'); + }, + blake256Checksum: function blake256Checksum(payload) { + return this.blake256(this.blake256(payload)).substr(0, 8); + }, + keccak256: function keccak256(hexString) { + return _keccak(hexString); } - var origCreateDataChannel = window.RTCPeerConnection.prototype.createDataChannel; - window.RTCPeerConnection.prototype.createDataChannel = function () { - var pc = this; - var dataChannel = origCreateDataChannel.apply(pc, arguments); - wrapDcSend(dataChannel, pc); - return dataChannel; - }; - utils.wrapPeerConnectionEvent(window, 'datachannel', function (e) { - wrapDcSend(e.channel, e.target); - return e; - }); - } }; -},{"./utils":798,"sdp":731}],792:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"./blake256":778,"./sha3":779,"jssha/src/sha256":675}],781:[function(require,module,exports){ 'use strict'; -var utils = require('../utils'); -var filterIceServers = require('./filtericeservers'); -var shimRTCPeerConnection = require('rtcpeerconnection-shim'); +var XRPValidator = require('./ripple_validator'); +var ETHValidator = require('./ethereum_validator'); + +// defines P2PKH and P2SH address types for standard (prod) and testnet networks +var CURRENCIES = [{ + name: 'bitcoin', + symbol: 'btc', + addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'bitcoincash', + symbol: 'bch', + addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'litecoin', + symbol: 'ltc', + addressTypes: { prod: ['30', '05', '32'], testnet: ['6f', 'c4'] } +}, { + name: 'peercoin', + symbol: 'ppc', + addressTypes: { prod: ['37', '75'], testnet: ['6f', 'c4'] } +}, { + name: 'dogecoin', + symbol: 'doge', + addressTypes: { prod: ['1e', '16'], testnet: ['71', 'c4'] } +}, { + name: 'beavercoin', + symbol: 'bvc', + addressTypes: { prod: ['19', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'freicoin', + symbol: 'frc', + addressTypes: { prod: ['00', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'protoshares', + symbol: 'pts', + addressTypes: { prod: ['38', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'megacoin', + symbol: 'mec', + addressTypes: { prod: ['32', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'primecoin', + symbol: 'xpm', + addressTypes: { prod: ['17', '53'], testnet: ['6f', 'c4'] } +}, { + name: 'auroracoin', + symbol: 'aur', + addressTypes: { prod: ['17', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'namecoin', + symbol: 'nmc', + addressTypes: { prod: ['34'], testnet: [] } +}, { + name: 'biocoin', + symbol: 'bio', + addressTypes: { prod: ['19', '14'], testnet: ['6f', 'c4'] } +}, { + name: 'garlicoin', + symbol: 'grlc', + addressTypes: { prod: ['26', '05'], testnet: ['6f', 'c4'] } +}, { + name: 'vertcoin', + symbol: 'vtc', + addressTypes: { prod: ['0x', '47'], testnet: ['6f', 'c4'] } +}, { + name: 'bitcoingold', + symbol: 'btg', + addressTypes: { prod: ['26', '17'], testnet: ['6f', 'c4'] } +}, { + name: 'komodo', + symbol: 'kmd', + addressTypes: { prod: ['3c', '55'], testnet: ['0', '5'] } +}, { + name: 'bitcoinz', + symbol: 'btcz', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'bitcoinprivate', + symbol: 'btcp', + expectedLength: 26, + addressTypes: { prod: ['1325', '13af'], testnet: ['1957', '19e0'] } +}, { + name: 'hush', + symbol: 'hush', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'snowgem', + symbol: 'sng', + expectedLength: 26, + addressTypes: { prod: ['1c28', '1c2d'], testnet: ['1d25', '1cba'] } +}, { + name: 'zcash', + symbol: 'zec', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'zclassic', + symbol: 'zcl', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'zencash', + symbol: 'zen', + expectedLength: 26, + addressTypes: { prod: ['2089', '2096'], testnet: ['2092', '2098'] } +}, { + name: 'votecoin', + symbol: 'vot', + expectedLength: 26, + addressTypes: { prod: ['1cb8', '1cbd'], testnet: ['1d25', '1cba'] } +}, { + name: 'decred', + symbol: 'dcr', + addressTypes: { prod: ['073f', '071a'], testnet: ['0f21', '0efc'] }, + hashFunction: 'blake256', + expectedLength: 26 +}, { + name: 'digibyte', + symbol: 'dgb', + addressTypes: { prod: ['1e'], testnet: [] } +}, { + name: 'ethereum', + symbol: 'eth', + validator: ETHValidator +}, { + name: 'etherzero', + symbol: 'etz', + validator: ETHValidator +}, { + name: 'ethereumclassic', + symbol: 'etc', + validator: ETHValidator +}, { + name: 'callisto', + symbol: 'clo', + validator: ETHValidator +}, { + name: 'ripple', + symbol: 'xrp', + validator: XRPValidator +}, { + name: 'dash', + symbol: 'dash', + addressTypes: { prod: ['4c', '10'], testnet: ['8c', '13'] } +}, { + name: 'neo', + symbol: 'neo', + addressTypes: { prod: ['17'], testnet: [] } +}, { + name: 'neogas', + symbol: 'gas', + addressTypes: { prod: ['17'], testnet: [] } +}, { + name: 'qtum', + symbol: 'qtum', + addressTypes: { prod: ['3a', '32'], testnet: ['6f', 'c4'] } +}]; module.exports = { - shimGetUserMedia: require('./getusermedia'), - shimPeerConnection: function shimPeerConnection(window) { - var browserDetails = utils.detectBrowser(window); - - if (window.RTCIceGatherer) { - if (!window.RTCIceCandidate) { - window.RTCIceCandidate = function (args) { - return args; - }; - } - if (!window.RTCSessionDescription) { - window.RTCSessionDescription = function (args) { - return args; - }; - } - // this adds an additional event listener to MediaStrackTrack that signals - // when a tracks enabled property was changed. Workaround for a bug in - // addStream, see below. No longer required in 15025+ - if (browserDetails.version < 15025) { - var origMSTEnabled = Object.getOwnPropertyDescriptor(window.MediaStreamTrack.prototype, 'enabled'); - Object.defineProperty(window.MediaStreamTrack.prototype, 'enabled', { - set: function set(value) { - origMSTEnabled.set.call(this, value); - var ev = new Event('enabled'); - ev.enabled = value; - this.dispatchEvent(ev); - } - }); - } - } - - // ORTC defines the DTMF sender a bit different. - // https://github.com/w3c/ortc/issues/714 - if (window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { - get: function get() { - if (this._dtmf === undefined) { - if (this.track.kind === 'audio') { - this._dtmf = new window.RTCDtmfSender(this); - } else if (this.track.kind === 'video') { - this._dtmf = null; + getByNameOrSymbol: function getByNameOrSymbol(currencyNameOrSymbol) { + var nameOrSymbol = currencyNameOrSymbol.toLowerCase(); + for (var i = 0; i < CURRENCIES.length; i++) { + var currency = CURRENCIES[i]; + if (currency.name === nameOrSymbol || currency.symbol === nameOrSymbol) { + return currency; } - } - return this._dtmf; - } - }); - } - // Edge currently only implements the RTCDtmfSender, not the - // RTCDTMFSender alias. See http://draft.ortc.org/#rtcdtmfsender2* - if (window.RTCDtmfSender && !window.RTCDTMFSender) { - window.RTCDTMFSender = window.RTCDtmfSender; - } - - var RTCPeerConnectionShim = shimRTCPeerConnection(window, browserDetails.version); - window.RTCPeerConnection = function (config) { - if (config && config.iceServers) { - config.iceServers = filterIceServers(config.iceServers); - } - return new RTCPeerConnectionShim(config); - }; - window.RTCPeerConnection.prototype = RTCPeerConnectionShim.prototype; - }, - shimReplaceTrack: function shimReplaceTrack(window) { - // ORTC has replaceTrack -- https://github.com/w3c/ortc/issues/614 - if (window.RTCRtpSender && !('replaceTrack' in window.RTCRtpSender.prototype)) { - window.RTCRtpSender.prototype.replaceTrack = window.RTCRtpSender.prototype.setTrack; - } - } -}; - -},{"../utils":798,"./filtericeservers":793,"./getusermedia":794,"rtcpeerconnection-shim":728}],793:[function(require,module,exports){ -/* - * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var utils = require('../utils'); -// Edge does not like -// 1) stun: filtered after 14393 unless ?transport=udp is present -// 2) turn: that does not have all of turn:host:port?transport=udp -// 3) turn: with ipv6 addresses -// 4) turn: occurring muliple times -module.exports = function (iceServers, edgeVersion) { - var hasTurn = false; - iceServers = JSON.parse(JSON.stringify(iceServers)); - return iceServers.filter(function (server) { - if (server && (server.urls || server.url)) { - var urls = server.urls || server.url; - if (server.url && !server.urls) { - utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - } - var isString = typeof urls === 'string'; - if (isString) { - urls = [urls]; - } - urls = urls.filter(function (url) { - var validTurn = url.indexOf('turn:') === 0 && url.indexOf('transport=udp') !== -1 && url.indexOf('turn:[') === -1 && !hasTurn; - - if (validTurn) { - hasTurn = true; - return true; } - return url.indexOf('stun:') === 0 && edgeVersion >= 14393 && url.indexOf('?transport=udp') === -1; - }); - - delete server.url; - server.urls = isString ? urls[0] : urls; - return !!urls.length; + return null; } - }); -}; - -},{"../utils":798}],794:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -// Expose public methods. - -module.exports = function (window) { - var navigator = window && window.navigator; - - var shimError_ = function shimError_(e) { - return { - name: { PermissionDeniedError: 'NotAllowedError' }[e.name] || e.name, - message: e.message, - constraint: e.constraint, - toString: function toString() { - return this.name; - } - }; - }; - - // getUserMedia error shim. - var origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (c) { - return origGetUserMedia(c).catch(function (e) { - return Promise.reject(shimError_(e)); - }); - }; }; -},{}],795:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"./ethereum_validator":782,"./ripple_validator":783}],782:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils'); +var cryptoUtils = require('./crypto/utils'); module.exports = { - shimGetUserMedia: require('./getusermedia'), - shimOnTrack: function shimOnTrack(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('ontrack' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', { - get: function get() { - return this._ontrack; - }, - set: function set(f) { - if (this._ontrack) { - this.removeEventListener('track', this._ontrack); - this.removeEventListener('addstream', this._ontrackpoly); - } - this.addEventListener('track', this._ontrack = f); - this.addEventListener('addstream', this._ontrackpoly = function (e) { - e.stream.getTracks().forEach(function (track) { - var event = new Event('track'); - event.track = track; - event.receiver = { track: track }; - event.transceiver = { receiver: event.receiver }; - event.streams = [e.stream]; - this.dispatchEvent(event); - }.bind(this)); - }.bind(this)); - }, - enumerable: true, - configurable: true - }); - } - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCTrackEvent && 'receiver' in window.RTCTrackEvent.prototype && !('transceiver' in window.RTCTrackEvent.prototype)) { - Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { - get: function get() { - return { receiver: this.receiver }; - } - }); - } - }, - - shimSourceObject: function shimSourceObject(window) { - // Firefox has supported mozSrcObject since FF22, unprefixed in 42. - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { - if (window.HTMLMediaElement && !('srcObject' in window.HTMLMediaElement.prototype)) { - // Shim the srcObject property, once, when HTMLMediaElement is found. - Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', { - get: function get() { - return this.mozSrcObject; - }, - set: function set(stream) { - this.mozSrcObject = stream; - } - }); - } - } - }, - - shimPeerConnection: function shimPeerConnection(window) { - var browserDetails = utils.detectBrowser(window); - - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !(window.RTCPeerConnection || window.mozRTCPeerConnection)) { - return; // probably media.peerconnection.enabled=false in about:config - } - // The RTCPeerConnection object. - if (!window.RTCPeerConnection) { - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - if (browserDetails.version < 38) { - // .urls is not supported in FF < 38. - // create RTCIceServers with a single url. - if (pcConfig && pcConfig.iceServers) { - var newIceServers = []; - for (var i = 0; i < pcConfig.iceServers.length; i++) { - var server = pcConfig.iceServers[i]; - if (server.hasOwnProperty('urls')) { - for (var j = 0; j < server.urls.length; j++) { - var newServer = { - url: server.urls[j] - }; - if (server.urls[j].indexOf('turn') === 0) { - newServer.username = server.username; - newServer.credential = server.credential; - } - newIceServers.push(newServer); - } - } else { - newIceServers.push(pcConfig.iceServers[i]); - } - } - pcConfig.iceServers = newIceServers; - } + isValidAddress: function isValidAddress(address) { + if (!/^0x[0-9a-fA-F]{40}$/.test(address)) { + // Check if it has the basic requirements of an address + return false; } - return new window.mozRTCPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = window.mozRTCPeerConnection.prototype; - - // wrap static methods. Currently just generateCertificate. - if (window.mozRTCPeerConnection.generateCertificate) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return window.mozRTCPeerConnection.generateCertificate; - } - }); - } - - window.RTCSessionDescription = window.mozRTCSessionDescription; - window.RTCIceCandidate = window.mozRTCIceCandidate; - } - - // shim away need for obsolete RTCIceCandidate/RTCSessionDescription. - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { - var nativeMethod = window.RTCPeerConnection.prototype[method]; - window.RTCPeerConnection.prototype[method] = function () { - arguments[0] = new (method === 'addIceCandidate' ? window.RTCIceCandidate : window.RTCSessionDescription)(arguments[0]); - return nativeMethod.apply(this, arguments); - }; - }); - // support for addIceCandidate(null or undefined) - var nativeAddIceCandidate = window.RTCPeerConnection.prototype.addIceCandidate; - window.RTCPeerConnection.prototype.addIceCandidate = function () { - if (!arguments[0]) { - if (arguments[1]) { - arguments[1].apply(null); + if (/^0x[0-9a-f]{40}$/.test(address) || /^0x?[0-9A-F]{40}$/.test(address)) { + // If it's all small caps or all all caps, return true + return true; } - return Promise.resolve(); - } - return nativeAddIceCandidate.apply(this, arguments); - }; - // shim getStats with maplike support - var makeMapStats = function makeMapStats(stats) { - var map = new Map(); - Object.keys(stats).forEach(function (key) { - map.set(key, stats[key]); - map[key] = stats[key]; - }); - return map; - }; + // Otherwise check each case + return this.verifyChecksum(address); + }, + verifyChecksum: function verifyChecksum(address) { + // Check each case + address = address.replace('0x', ''); - var modernStatsTypes = { - inboundrtp: 'inbound-rtp', - outboundrtp: 'outbound-rtp', - candidatepair: 'candidate-pair', - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }; + var addressHash = cryptoUtils.keccak256(address.toLowerCase()); - var nativeGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function (selector, onSucc, onErr) { - return nativeGetStats.apply(this, [selector || null]).then(function (stats) { - if (browserDetails.version < 48) { - stats = makeMapStats(stats); - } - if (browserDetails.version < 53 && !onSucc) { - // Shim only promise getStats with spec-hyphens in type names - // Leave callback version alone; misc old uses of forEach before Map - try { - stats.forEach(function (stat) { - stat.type = modernStatsTypes[stat.type] || stat.type; - }); - } catch (e) { - if (e.name !== 'TypeError') { - throw e; + for (var i = 0; i < 40; i++) { + // The nth letter should be uppercase if the nth digit of casemap is 1 + if (parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i] || parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i]) { + return false; } - // Avoid TypeError: "type" is read-only, in old versions. 34-43ish - stats.forEach(function (stat, i) { - stats.set(i, Object.assign({}, stat, { - type: modernStatsTypes[stat.type] || stat.type - })); - }); - } - } - return stats; - }).then(onSucc, onErr); - }; - }, - - shimSenderGetStats: function shimSenderGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { - return; - } - if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) { - return; - } - var origGetSenders = window.RTCPeerConnection.prototype.getSenders; - if (origGetSenders) { - window.RTCPeerConnection.prototype.getSenders = function () { - var pc = this; - var senders = origGetSenders.apply(pc, []); - senders.forEach(function (sender) { - sender._pc = pc; - }); - return senders; - }; - } - - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; - if (origAddTrack) { - window.RTCPeerConnection.prototype.addTrack = function () { - var sender = origAddTrack.apply(this, arguments); - sender._pc = this; - return sender; - }; - } - window.RTCRtpSender.prototype.getStats = function () { - return this.track ? this._pc.getStats(this.track) : Promise.resolve(new Map()); - }; - }, - - shimReceiverGetStats: function shimReceiverGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { - return; - } - if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) { - return; - } - var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; - if (origGetReceivers) { - window.RTCPeerConnection.prototype.getReceivers = function () { - var pc = this; - var receivers = origGetReceivers.apply(pc, []); - receivers.forEach(function (receiver) { - receiver._pc = pc; - }); - return receivers; - }; - } - utils.wrapPeerConnectionEvent(window, 'track', function (e) { - e.receiver._pc = e.srcElement; - return e; - }); - window.RTCRtpReceiver.prototype.getStats = function () { - return this._pc.getStats(this.track); - }; - }, - - shimRemoveStream: function shimRemoveStream(window) { - if (!window.RTCPeerConnection || 'removeStream' in window.RTCPeerConnection.prototype) { - return; - } - window.RTCPeerConnection.prototype.removeStream = function (stream) { - var pc = this; - utils.deprecated('removeStream', 'removeTrack'); - this.getSenders().forEach(function (sender) { - if (sender.track && stream.getTracks().indexOf(sender.track) !== -1) { - pc.removeTrack(sender); } - }); - }; - }, - - shimRTCDataChannel: function shimRTCDataChannel(window) { - // rename DataChannel to RTCDataChannel (native fix in FF60): - // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851 - if (window.DataChannel && !window.RTCDataChannel) { - window.RTCDataChannel = window.DataChannel; - } - }, - shimGetDisplayMedia: function shimGetDisplayMedia(window, preferredMediaSource) { - if ('getDisplayMedia' in window.navigator) { - return; + return true; } - navigator.getDisplayMedia = function (constraints) { - if (!(constraints && constraints.video)) { - var err = new DOMException('getDisplayMedia without video ' + 'constraints is undefined'); - err.name = 'NotFoundError'; - // from https://heycam.github.io/webidl/#idl-DOMException-error-names - err.code = 8; - return Promise.reject(err); - } - if (constraints.video === true) { - constraints.video = { mediaSource: preferredMediaSource }; - } else { - constraints.video.mediaSource = preferredMediaSource; - } - return navigator.mediaDevices.getUserMedia(constraints); - }; - } }; -},{"../utils":798,"./getusermedia":796}],796:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ +},{"./crypto/utils":780}],783:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var utils = require('../utils'); -var logging = utils.log; - -// Expose public methods. -module.exports = function (window) { - var browserDetails = utils.detectBrowser(window); - var navigator = window && window.navigator; - var MediaStreamTrack = window && window.MediaStreamTrack; - - var shimError_ = function shimError_(e) { - return { - name: { - InternalError: 'NotReadableError', - NotSupportedError: 'TypeError', - PermissionDeniedError: 'NotAllowedError', - SecurityError: 'NotAllowedError' - }[e.name] || e.name, - message: { - 'The operation is insecure.': 'The request is not allowed by the ' + 'user agent or the platform in the current context.' - }[e.message] || e.message, - constraint: e.constraint, - toString: function toString() { - return this.name + (this.message && ': ') + this.message; - } - }; - }; - - // getUserMedia constraints shim. - var getUserMedia_ = function getUserMedia_(constraints, onSuccess, onError) { - var constraintsToFF37_ = function constraintsToFF37_(c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) !== 'object' || c.require) { - return c; - } - var require = []; - Object.keys(c).forEach(function (key) { - if (key === 'require' || key === 'advanced' || key === 'mediaSource') { - return; - } - var r = c[key] = _typeof(c[key]) === 'object' ? c[key] : { ideal: c[key] }; - if (r.min !== undefined || r.max !== undefined || r.exact !== undefined) { - require.push(key); - } - if (r.exact !== undefined) { - if (typeof r.exact === 'number') { - r.min = r.max = r.exact; - } else { - c[key] = r.exact; - } - delete r.exact; - } - if (r.ideal !== undefined) { - c.advanced = c.advanced || []; - var oc = {}; - if (typeof r.ideal === 'number') { - oc[key] = { min: r.ideal, max: r.ideal }; - } else { - oc[key] = r.ideal; - } - c.advanced.push(oc); - delete r.ideal; - if (!Object.keys(r).length) { - delete c[key]; - } - } - }); - if (require.length) { - c.require = require; - } - return c; - }; - constraints = JSON.parse(JSON.stringify(constraints)); - if (browserDetails.version < 38) { - logging('spec: ' + JSON.stringify(constraints)); - if (constraints.audio) { - constraints.audio = constraintsToFF37_(constraints.audio); - } - if (constraints.video) { - constraints.video = constraintsToFF37_(constraints.video); - } - logging('ff37: ' + JSON.stringify(constraints)); - } - return navigator.mozGetUserMedia(constraints, onSuccess, function (e) { - onError(shimError_(e)); - }); - }; +var cryptoUtils = require('./crypto/utils'); +var baseX = require('base-x'); - // Returns the result of getUserMedia as a Promise. - var getUserMediaPromise_ = function getUserMediaPromise_(constraints) { - return new Promise(function (resolve, reject) { - getUserMedia_(constraints, resolve, reject); - }); - }; +var ALLOWED_CHARS = 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'; - // Shim for mediaDevices on older versions. - if (!navigator.mediaDevices) { - navigator.mediaDevices = { getUserMedia: getUserMediaPromise_, - addEventListener: function addEventListener() {}, - removeEventListener: function removeEventListener() {} - }; - } - navigator.mediaDevices.enumerateDevices = navigator.mediaDevices.enumerateDevices || function () { - return new Promise(function (resolve) { - var infos = [{ kind: 'audioinput', deviceId: 'default', label: '', groupId: '' }, { kind: 'videoinput', deviceId: 'default', label: '', groupId: '' }]; - resolve(infos); - }); - }; +var codec = baseX(ALLOWED_CHARS); +var regexp = new RegExp('^r[' + ALLOWED_CHARS + ']{27,35}$'); - if (browserDetails.version < 41) { - // Work around http://bugzil.la/1169665 - var orgEnumerateDevices = navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices); - navigator.mediaDevices.enumerateDevices = function () { - return orgEnumerateDevices().then(undefined, function (e) { - if (e.name === 'NotFoundError') { - return []; - } - throw e; - }); - }; - } - if (browserDetails.version < 49) { - var origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (c) { - return origGetUserMedia(c).then(function (stream) { - // Work around https://bugzil.la/802326 - if (c.audio && !stream.getAudioTracks().length || c.video && !stream.getVideoTracks().length) { - stream.getTracks().forEach(function (track) { - track.stop(); - }); - throw new DOMException('The object can not be found here.', 'NotFoundError'); +module.exports = { + /** + * ripple address validation + */ + isValidAddress: function isValidAddress(address) { + if (regexp.test(address)) { + return this.verifyChecksum(address); } - return stream; - }, function (e) { - return Promise.reject(shimError_(e)); - }); - }; - } - if (!(browserDetails.version > 55 && 'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) { - var remap = function remap(obj, a, b) { - if (a in obj && !(b in obj)) { - obj[b] = obj[a]; - delete obj[a]; - } - }; - var nativeGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function (c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) === 'object' && _typeof(c.audio) === 'object') { - c = JSON.parse(JSON.stringify(c)); - remap(c.audio, 'autoGainControl', 'mozAutoGainControl'); - remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression'); - } - return nativeGetUserMedia(c); - }; + return false; + }, - if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) { - var nativeGetSettings = MediaStreamTrack.prototype.getSettings; - MediaStreamTrack.prototype.getSettings = function () { - var obj = nativeGetSettings.apply(this, arguments); - remap(obj, 'mozAutoGainControl', 'autoGainControl'); - remap(obj, 'mozNoiseSuppression', 'noiseSuppression'); - return obj; - }; - } + verifyChecksum: function verifyChecksum(address) { + var bytes = codec.decode(address); + var computedChecksum = cryptoUtils.sha256Checksum(cryptoUtils.toHex(bytes.slice(0, -4))); + var checksum = cryptoUtils.toHex(bytes.slice(-4)); - if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) { - var nativeApplyConstraints = MediaStreamTrack.prototype.applyConstraints; - MediaStreamTrack.prototype.applyConstraints = function (c) { - if (this.kind === 'audio' && (typeof c === 'undefined' ? 'undefined' : _typeof(c)) === 'object') { - c = JSON.parse(JSON.stringify(c)); - remap(c, 'autoGainControl', 'mozAutoGainControl'); - remap(c, 'noiseSuppression', 'mozNoiseSuppression'); - } - return nativeApplyConstraints.apply(this, [c]); - }; - } - } - navigator.getUserMedia = function (constraints, onSuccess, onError) { - if (browserDetails.version < 44) { - return getUserMedia_(constraints, onSuccess, onError); + return computedChecksum === checksum; } - // Replace Firefox 44+'s deprecation warning with unprefixed version. - utils.deprecated('navigator.getUserMedia', 'navigator.mediaDevices.getUserMedia'); - navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError); - }; }; -},{"../utils":798}],797:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ +},{"./crypto/utils":780,"base-x":211}],784:[function(require,module,exports){ 'use strict'; -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; +var base58 = require('./crypto/base58'); +var cryptoUtils = require('./crypto/utils'); +var currencies = require('./currencies'); -var utils = require('../utils'); +var DEFAULT_CURRENCY_NAME = 'bitcoin'; +var DEFAULT_NETWORK_TYPE = 'prod'; -module.exports = { - shimLocalStreamsAPI: function shimLocalStreamsAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { - return; - } - if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getLocalStreams = function () { - if (!this._localStreams) { - this._localStreams = []; - } - return this._localStreams; - }; - } - if (!('getStreamById' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getStreamById = function (id) { - var result = null; - if (this._localStreams) { - this._localStreams.forEach(function (stream) { - if (stream.id === id) { - result = stream; - } - }); - } - if (this._remoteStreams) { - this._remoteStreams.forEach(function (stream) { - if (stream.id === id) { - result = stream; - } - }); - } - return result; - }; +function getDecoded(address) { + try { + return base58.decode(address); + } catch (e) { + // if decoding fails, assume invalid address + return null; } - if (!('addStream' in window.RTCPeerConnection.prototype)) { - var _addTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addStream = function (stream) { - if (!this._localStreams) { - this._localStreams = []; - } - if (this._localStreams.indexOf(stream) === -1) { - this._localStreams.push(stream); - } - var pc = this; - stream.getTracks().forEach(function (track) { - _addTrack.call(pc, track, stream); - }); - }; +} - window.RTCPeerConnection.prototype.addTrack = function (track, stream) { - if (stream) { - if (!this._localStreams) { - this._localStreams = [stream]; - } else if (this._localStreams.indexOf(stream) === -1) { - this._localStreams.push(stream); - } - } - return _addTrack.call(this, track, stream); - }; - } - if (!('removeStream' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.removeStream = function (stream) { - if (!this._localStreams) { - this._localStreams = []; - } - var index = this._localStreams.indexOf(stream); - if (index === -1) { - return; - } - this._localStreams.splice(index, 1); - var pc = this; - var tracks = stream.getTracks(); - this.getSenders().forEach(function (sender) { - if (tracks.indexOf(sender.track) !== -1) { - pc.removeTrack(sender); - } - }); - }; - } - }, - shimRemoteStreamsAPI: function shimRemoteStreamsAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { - return; - } - if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getRemoteStreams = function () { - return this._remoteStreams ? this._remoteStreams : []; - }; - } - if (!('onaddstream' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', { - get: function get() { - return this._onaddstream; - }, - set: function set(f) { - if (this._onaddstream) { - this.removeEventListener('addstream', this._onaddstream); - } - this.addEventListener('addstream', this._onaddstream = f); - } - }); - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = function () { - var pc = this; - if (!this._onaddstreampoly) { - this.addEventListener('track', this._onaddstreampoly = function (e) { - e.streams.forEach(function (stream) { - if (!pc._remoteStreams) { - pc._remoteStreams = []; - } - if (pc._remoteStreams.indexOf(stream) >= 0) { - return; - } - pc._remoteStreams.push(stream); - var event = new Event('addstream'); - event.stream = stream; - pc.dispatchEvent(event); - }); - }); - } - return origSetRemoteDescription.apply(pc, arguments); - }; - } - }, - shimCallbacksAPI: function shimCallbacksAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { - return; +function getChecksum(hashFunction, payload) { + // Each currency may implement different hashing algorithm + switch (hashFunction) { + case 'blake256': + return cryptoUtils.blake256Checksum(payload); + break; + case 'sha256': + default: + return cryptoUtils.sha256Checksum(payload); } - var prototype = window.RTCPeerConnection.prototype; - var createOffer = prototype.createOffer; - var createAnswer = prototype.createAnswer; - var setLocalDescription = prototype.setLocalDescription; - var setRemoteDescription = prototype.setRemoteDescription; - var addIceCandidate = prototype.addIceCandidate; - - prototype.createOffer = function (successCallback, failureCallback) { - var options = arguments.length >= 2 ? arguments[2] : arguments[0]; - var promise = createOffer.apply(this, [options]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - - prototype.createAnswer = function (successCallback, failureCallback) { - var options = arguments.length >= 2 ? arguments[2] : arguments[0]; - var promise = createAnswer.apply(this, [options]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - - var withCallback = function withCallback(description, successCallback, failureCallback) { - var promise = setLocalDescription.apply(this, [description]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.setLocalDescription = withCallback; - - withCallback = function withCallback(description, successCallback, failureCallback) { - var promise = setRemoteDescription.apply(this, [description]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.setRemoteDescription = withCallback; +} - withCallback = function withCallback(candidate, successCallback, failureCallback) { - var promise = addIceCandidate.apply(this, [candidate]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.addIceCandidate = withCallback; - }, - shimGetUserMedia: function shimGetUserMedia(window) { - var navigator = window && window.navigator; - - if (!navigator.getUserMedia) { - if (navigator.webkitGetUserMedia) { - navigator.getUserMedia = navigator.webkitGetUserMedia.bind(navigator); - } else if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { - navigator.getUserMedia = function (constraints, cb, errcb) { - navigator.mediaDevices.getUserMedia(constraints).then(cb, errcb); - }.bind(navigator); - } - } - }, - shimRTCIceServerUrls: function shimRTCIceServerUrls(window) { - // migrate from non-spec RTCIceServer.url to RTCIceServer.urls - var OrigPeerConnection = window.RTCPeerConnection; - window.RTCPeerConnection = function (pcConfig, pcConstraints) { - if (pcConfig && pcConfig.iceServers) { - var newIceServers = []; - for (var i = 0; i < pcConfig.iceServers.length; i++) { - var server = pcConfig.iceServers[i]; - if (!server.hasOwnProperty('urls') && server.hasOwnProperty('url')) { - utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - server = JSON.parse(JSON.stringify(server)); - server.urls = server.url; - delete server.url; - newIceServers.push(server); - } else { - newIceServers.push(pcConfig.iceServers[i]); - } - } - pcConfig.iceServers = newIceServers; - } - return new OrigPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = OrigPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - if ('generateCertificate' in window.RTCPeerConnection) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get: function get() { - return OrigPeerConnection.generateCertificate; - } - }); - } - }, - shimTrackEventTransceiver: function shimTrackEventTransceiver(window) { - // Add event.transceiver member over deprecated event.receiver - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && 'receiver' in window.RTCTrackEvent.prototype && - // can't check 'transceiver' in window.RTCTrackEvent.prototype, as it is - // defined for some reason even when window.RTCTransceiver is not. - !window.RTCTransceiver) { - Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { - get: function get() { - return { receiver: this.receiver }; - } - }); - } - }, +function getAddressType(address, currency) { + currency = currency || {}; + // should be 25 bytes per btc address spec and 26 decred + var expectedLength = currency.expectedLength || 25; + var hashFunction = currency.hashFunction || 'sha256'; + var decoded = getDecoded(address); - shimCreateOfferLegacy: function shimCreateOfferLegacy(window) { - var origCreateOffer = window.RTCPeerConnection.prototype.createOffer; - window.RTCPeerConnection.prototype.createOffer = function (offerOptions) { - var pc = this; - if (offerOptions) { - if (typeof offerOptions.offerToReceiveAudio !== 'undefined') { - // support bit values - offerOptions.offerToReceiveAudio = !!offerOptions.offerToReceiveAudio; - } - var audioTransceiver = pc.getTransceivers().find(function (transceiver) { - return transceiver.sender.track && transceiver.sender.track.kind === 'audio'; - }); - if (offerOptions.offerToReceiveAudio === false && audioTransceiver) { - if (audioTransceiver.direction === 'sendrecv') { - if (audioTransceiver.setDirection) { - audioTransceiver.setDirection('sendonly'); - } else { - audioTransceiver.direction = 'sendonly'; - } - } else if (audioTransceiver.direction === 'recvonly') { - if (audioTransceiver.setDirection) { - audioTransceiver.setDirection('inactive'); - } else { - audioTransceiver.direction = 'inactive'; - } - } - } else if (offerOptions.offerToReceiveAudio === true && !audioTransceiver) { - pc.addTransceiver('audio'); - } + if (decoded) { + var length = decoded.length; - if (typeof offerOptions.offerToReceiveVideo !== 'undefined') { - // support bit values - offerOptions.offerToReceiveVideo = !!offerOptions.offerToReceiveVideo; - } - var videoTransceiver = pc.getTransceivers().find(function (transceiver) { - return transceiver.sender.track && transceiver.sender.track.kind === 'video'; - }); - if (offerOptions.offerToReceiveVideo === false && videoTransceiver) { - if (videoTransceiver.direction === 'sendrecv') { - videoTransceiver.setDirection('sendonly'); - } else if (videoTransceiver.direction === 'recvonly') { - videoTransceiver.setDirection('inactive'); - } - } else if (offerOptions.offerToReceiveVideo === true && !videoTransceiver) { - pc.addTransceiver('video'); + if (length !== expectedLength) { + return null; } - } - return origCreateOffer.apply(pc, arguments); - }; - } -}; -},{"../utils":798}],798:[function(require,module,exports){ -/* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var logDisabled_ = true; -var deprecationWarnings_ = true; - -/** - * Extract browser version out of the provided user agent string. - * - * @param {!string} uastring userAgent string. - * @param {!string} expr Regular expression used as match criteria. - * @param {!number} pos position in the version string to be returned. - * @return {!number} browser version. - */ -function extractVersion(uastring, expr, pos) { - var match = uastring.match(expr); - return match && match.length >= pos && parseInt(match[pos], 10); -} - -// Wraps the peerconnection event eventNameToWrap in a function -// which returns the modified event object (or false to prevent -// the event). -function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { - if (!window.RTCPeerConnection) { - return; - } - var proto = window.RTCPeerConnection.prototype; - var nativeAddEventListener = proto.addEventListener; - proto.addEventListener = function (nativeEventName, cb) { - if (nativeEventName !== eventNameToWrap) { - return nativeAddEventListener.apply(this, arguments); - } - var wrappedCallback = function wrappedCallback(e) { - var modifiedEvent = wrapper(e); - if (modifiedEvent) { - cb(modifiedEvent); - } - }; - this._eventMap = this._eventMap || {}; - this._eventMap[cb] = wrappedCallback; - return nativeAddEventListener.apply(this, [nativeEventName, wrappedCallback]); - }; + var checksum = cryptoUtils.toHex(decoded.slice(length - 4, length)), + body = cryptoUtils.toHex(decoded.slice(0, length - 4)), + goodChecksum = getChecksum(hashFunction, body); - var nativeRemoveEventListener = proto.removeEventListener; - proto.removeEventListener = function (nativeEventName, cb) { - if (nativeEventName !== eventNameToWrap || !this._eventMap || !this._eventMap[cb]) { - return nativeRemoveEventListener.apply(this, arguments); + return checksum === goodChecksum ? cryptoUtils.toHex(decoded.slice(0, expectedLength - 24)) : null; } - var unwrappedCb = this._eventMap[cb]; - delete this._eventMap[cb]; - return nativeRemoveEventListener.apply(this, [nativeEventName, unwrappedCb]); - }; - Object.defineProperty(proto, 'on' + eventNameToWrap, { - get: function get() { - return this['_on' + eventNameToWrap]; - }, - set: function set(cb) { - if (this['_on' + eventNameToWrap]) { - this.removeEventListener(eventNameToWrap, this['_on' + eventNameToWrap]); - delete this['_on' + eventNameToWrap]; - } - if (cb) { - this.addEventListener(eventNameToWrap, this['_on' + eventNameToWrap] = cb); - } - }, - enumerable: true, - configurable: true - }); + return null; } -// Utility methods. -module.exports = { - extractVersion: extractVersion, - wrapPeerConnectionEvent: wrapPeerConnectionEvent, - disableLog: function disableLog(bool) { - if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + (typeof bool === 'undefined' ? 'undefined' : _typeof(bool)) + '. Please use a boolean.'); - } - logDisabled_ = bool; - return bool ? 'adapter.js logging disabled' : 'adapter.js logging enabled'; - }, - - /** - * Disable or enable deprecation warnings - * @param {!boolean} bool set to true to disable warnings. - */ - disableWarnings: function disableWarnings(bool) { - if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + (typeof bool === 'undefined' ? 'undefined' : _typeof(bool)) + '. Please use a boolean.'); - } - deprecationWarnings_ = !bool; - return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled'); - }, +function validate(address, currencyNameOrSymbol, networkType) { + currencyNameOrSymbol = currencyNameOrSymbol || DEFAULT_CURRENCY_NAME; + networkType = networkType || DEFAULT_NETWORK_TYPE; - log: function log() { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { - if (logDisabled_) { - return; - } - if (typeof console !== 'undefined' && typeof console.log === 'function') { - console.log.apply(console, arguments); - } - } - }, + var currency = currencies.getByNameOrSymbol(currencyNameOrSymbol); - /** - * Shows a deprecation warning suggesting the modern and spec-compatible API. - */ - deprecated: function deprecated(oldMethod, newMethod) { - if (!deprecationWarnings_) { - return; + if (currency.validator) { + return currency.validator.isValidAddress(address); } - console.warn(oldMethod + ' is deprecated, please use ' + newMethod + ' instead.'); - }, - /** - * Browser detector. - * - * @return {object} result containing browser and version - * properties. - */ - detectBrowser: function detectBrowser(window) { - var navigator = window && window.navigator; - - // Returned result object. - var result = {}; - result.browser = null; - result.version = null; - - // Fail early if it's not a browser - if (typeof window === 'undefined' || !window.navigator) { - result.browser = 'Not a browser.'; - return result; + var correctAddressTypes; + var addressType = getAddressType(address, currency); + if (addressType == null) { + return false; } - if (navigator.mozGetUserMedia) { - // Firefox. - result.browser = 'firefox'; - result.version = extractVersion(navigator.userAgent, /Firefox\/(\d+)\./, 1); - } else if (navigator.webkitGetUserMedia) { - // Chrome, Chromium, Webview, Opera. - // Version matches Chrome/WebRTC version. - result.browser = 'chrome'; - result.version = extractVersion(navigator.userAgent, /Chrom(e|ium)\/(\d+)\./, 2); - } else if (navigator.mediaDevices && navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) { - // Edge. - result.browser = 'edge'; - result.version = extractVersion(navigator.userAgent, /Edge\/(\d+).(\d+)$/, 2); - } else if (window.RTCPeerConnection && navigator.userAgent.match(/AppleWebKit\/(\d+)\./)) { - // Safari. - result.browser = 'safari'; - result.version = extractVersion(navigator.userAgent, /AppleWebKit\/(\d+)\./, 1); + if (networkType === 'prod' || networkType === 'testnet') { + correctAddressTypes = currency.addressTypes[networkType]; } else { - // Default fallthrough: not supported. - result.browser = 'Not a supported browser.'; - return result; + correctAddressTypes = currency.addressTypes.prod.concat(currency.addressTypes.testnet); } - return result; - } + return correctAddressTypes.indexOf(addressType) >= 0; +} + +module.exports = { + getAddressType: getAddressType, + checksum: getChecksum, + validate: validate }; -},{}],799:[function(require,module,exports){ +},{"./crypto/base58":777,"./crypto/utils":780,"./currencies":781}],785:[function(require,module,exports){ 'use strict'; /* @@ -150331,7 +145205,7 @@ exports.uriFragmentInHTMLData = exports.uriComponentInHTMLData; */ exports.uriFragmentInHTMLComment = exports.uriComponentInHTMLComment; -},{}],800:[function(require,module,exports){ +},{}],786:[function(require,module,exports){ 'use strict'; var alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), diff --git a/dist/phishing.html b/dist/phishing.html index 4e8fa4d96c..2e1e5e382f 100644 --- a/dist/phishing.html +++ b/dist/phishing.html @@ -98,13 +98,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- + diff --git a/dist/privacy-policy.html b/dist/privacy-policy.html index b5f531a27f..95fd732d29 100644 --- a/dist/privacy-policy.html +++ b/dist/privacy-policy.html @@ -98,13 +98,13 @@ MyEtherWallet -

3.22.1

+

3.22.2

- +