citeclaw 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1681) hide show
  1. package/README.md +22 -0
  2. package/package.json +1 -19
  3. package/scripts/botcite.js +56 -5
  4. package/vendor/translators-official/ABC News Australia.js +0 -224
  5. package/vendor/translators-official/ACLS Humanities EBook.js +0 -165
  6. package/vendor/translators-official/ACLWeb.js +0 -600
  7. package/vendor/translators-official/ACM Digital Library.js +0 -708
  8. package/vendor/translators-official/ACM Queue.js +0 -391
  9. package/vendor/translators-official/ACS Publications.js +0 -633
  10. package/vendor/translators-official/ADS Bibcode.js +0 -664
  11. package/vendor/translators-official/AEA Web.js +0 -450
  12. package/vendor/translators-official/AGRIS.js +0 -311
  13. package/vendor/translators-official/AIP.js +0 -295
  14. package/vendor/translators-official/AMS Journals.js +0 -136
  15. package/vendor/translators-official/AMS MathSciNet (Legacy).js +0 -313
  16. package/vendor/translators-official/AMS MathSciNet.js +0 -288
  17. package/vendor/translators-official/APA PsycNET.js +0 -915
  18. package/vendor/translators-official/APN.ru.js +0 -132
  19. package/vendor/translators-official/APS-Physics.js +0 -204
  20. package/vendor/translators-official/APS.js +0 -542
  21. package/vendor/translators-official/ARTFL Encyclopedie.js +0 -283
  22. package/vendor/translators-official/ARTnews.js +0 -155
  23. package/vendor/translators-official/ARTstor.js +0 -619
  24. package/vendor/translators-official/ASCE.js +0 -199
  25. package/vendor/translators-official/ASCO Meeting Library.js +0 -153
  26. package/vendor/translators-official/ASTIS.js +0 -337
  27. package/vendor/translators-official/ATS International Journal.js +0 -290
  28. package/vendor/translators-official/Access Engineering.js +0 -384
  29. package/vendor/translators-official/Access Medicine.js +0 -343
  30. package/vendor/translators-official/Access Science.js +0 -391
  31. package/vendor/translators-official/Adam Matthew Digital.js +0 -405
  32. package/vendor/translators-official/Agencia del ISBN.js +0 -77
  33. package/vendor/translators-official/Ahval News.js +0 -309
  34. package/vendor/translators-official/Air University Journals.js +0 -236
  35. package/vendor/translators-official/Airiti.js +0 -423
  36. package/vendor/translators-official/Alexander Street Press.js +0 -198
  37. package/vendor/translators-official/AllAfrica.js +0 -291
  38. package/vendor/translators-official/Alsharekh.js +0 -242
  39. package/vendor/translators-official/AlterNet.js +0 -134
  40. package/vendor/translators-official/Aluka.js +0 -261
  41. package/vendor/translators-official/Amazon.js +0 -1043
  42. package/vendor/translators-official/American Archive of Public Broadcasting.js +0 -592
  43. package/vendor/translators-official/American Institute of Aeronautics and Astronautics.js +0 -210
  44. package/vendor/translators-official/American Prospect.js +0 -114
  45. package/vendor/translators-official/Anarchist Library.js +0 -382
  46. package/vendor/translators-official/Ancestry.com US Federal Census.js +0 -164
  47. package/vendor/translators-official/Annual Reviews.js +0 -329
  48. package/vendor/translators-official/Antikvarium.hu.js +0 -280
  49. package/vendor/translators-official/AquaDocs.js +0 -390
  50. package/vendor/translators-official/Archeion.js +0 -249
  51. package/vendor/translators-official/Archiv fuer Sozialgeschichte.js +0 -157
  52. package/vendor/translators-official/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +0 -179
  53. package/vendor/translators-official/Archives Canada.js +0 -142
  54. package/vendor/translators-official/Ariana News.js +0 -203
  55. package/vendor/translators-official/Art Institute of Chicago.js +0 -279
  56. package/vendor/translators-official/Artefacts Canada.js +0 -192
  57. package/vendor/translators-official/Artforum.js +0 -438
  58. package/vendor/translators-official/Atlanta Journal-Constitution.js +0 -311
  59. package/vendor/translators-official/Atypon Journals.js +0 -1204
  60. package/vendor/translators-official/AustLII and NZLII.js +0 -604
  61. package/vendor/translators-official/Australian Dictionary of Biography.js +0 -196
  62. package/vendor/translators-official/BAILII.js +0 -176
  63. package/vendor/translators-official/BBC Genome.js +0 -254
  64. package/vendor/translators-official/BBC.js +0 -430
  65. package/vendor/translators-official/BIBSYS.js +0 -112
  66. package/vendor/translators-official/BOCC.js +0 -217
  67. package/vendor/translators-official/BOE.js +0 -229
  68. package/vendor/translators-official/BOFiP-Impots.js +0 -132
  69. package/vendor/translators-official/Baidu Scholar.js +0 -276
  70. package/vendor/translators-official/Bangkok Post.js +0 -216
  71. package/vendor/translators-official/Baruch Foundation.js +0 -175
  72. package/vendor/translators-official/Beobachter.js +0 -175
  73. package/vendor/translators-official/Bezneng Gajit.js +0 -92
  74. package/vendor/translators-official/BibLaTeX.js +0 -888
  75. package/vendor/translators-official/BibTeX.js +0 -4236
  76. package/vendor/translators-official/Biblio.com.js +0 -216
  77. package/vendor/translators-official/Bibliontology RDF.js +0 -1166
  78. package/vendor/translators-official/Biblioteca Nacional de Maestros.js +0 -213
  79. package/vendor/translators-official/Bibliotheque et Archives Nationale du Quebec (Pistard).js +0 -147
  80. package/vendor/translators-official/Bibliotheque et Archives Nationales du Quebec.js +0 -266
  81. package/vendor/translators-official/Bibliotheque nationale de France.js +0 -872
  82. package/vendor/translators-official/BioMed Central.js +0 -585
  83. package/vendor/translators-official/BioOne.js +0 -233
  84. package/vendor/translators-official/Bioconductor.js +0 -343
  85. package/vendor/translators-official/Blaetter.js +0 -192
  86. package/vendor/translators-official/Blogger.js +0 -244
  87. package/vendor/translators-official/Bloomberg.js +0 -205
  88. package/vendor/translators-official/Bloomsbury Food Library.js +0 -296
  89. package/vendor/translators-official/Bluesky.js +0 -195
  90. package/vendor/translators-official/BnF ISBN.js +0 -129
  91. package/vendor/translators-official/Bookmarks.js +0 -282
  92. package/vendor/translators-official/Bookshop.org.js +0 -223
  93. package/vendor/translators-official/Boston Review.js +0 -332
  94. package/vendor/translators-official/Bosworth Toller's Anglo-Saxon Dictionary Online.js +0 -496
  95. package/vendor/translators-official/Bracero History Archive.js +0 -200
  96. package/vendor/translators-official/Brill.js +0 -434
  97. package/vendor/translators-official/Brukerhandboken.js +0 -153
  98. package/vendor/translators-official/Bryn Mawr Classical Review.js +0 -303
  99. package/vendor/translators-official/Bundesgesetzblatt.js +0 -231
  100. package/vendor/translators-official/Business Standard.js +0 -151
  101. package/vendor/translators-official/CABI - CAB Abstracts.js +0 -317
  102. package/vendor/translators-official/CAOD.js +0 -260
  103. package/vendor/translators-official/CBC.js +0 -439
  104. package/vendor/translators-official/CCfr (BnF).js +0 -162
  105. package/vendor/translators-official/CERN Document Server.js +0 -277
  106. package/vendor/translators-official/CEUR Workshop Proceedings.js +0 -145
  107. package/vendor/translators-official/CFF References.js +0 -170
  108. package/vendor/translators-official/CFF.js +0 -113
  109. package/vendor/translators-official/CIA World Factbook.js +0 -128
  110. package/vendor/translators-official/CLACSO.js +0 -226
  111. package/vendor/translators-official/CLASE.js +0 -135
  112. package/vendor/translators-official/CNKI.js +0 -731
  113. package/vendor/translators-official/COBISS.js +0 -1945
  114. package/vendor/translators-official/COinS.js +0 -336
  115. package/vendor/translators-official/CQ Press.js +0 -418
  116. package/vendor/translators-official/CROSBI.js +0 -227
  117. package/vendor/translators-official/CSIRO Publishing.js +0 -139
  118. package/vendor/translators-official/CSL JSON.js +0 -203
  119. package/vendor/translators-official/CSV.js +0 -294
  120. package/vendor/translators-official/Cairn.info.js +0 -368
  121. package/vendor/translators-official/CalMatters.js +0 -228
  122. package/vendor/translators-official/Calisphere.js +0 -355
  123. package/vendor/translators-official/Camara Brasileira do Livro ISBN.js +0 -842
  124. package/vendor/translators-official/Cambridge Core.js +0 -580
  125. package/vendor/translators-official/Cambridge Engage Preprints.js +0 -276
  126. package/vendor/translators-official/CanLII.js +0 -284
  127. package/vendor/translators-official/Canada.com.js +0 -171
  128. package/vendor/translators-official/Canadian Letters and Images.js +0 -148
  129. package/vendor/translators-official/Canadiana.ca.js +0 -196
  130. package/vendor/translators-official/Cascadilla Proceedings Project.js +0 -390
  131. package/vendor/translators-official/Cell Press.js +0 -516
  132. package/vendor/translators-official/Central and Eastern European Online Library Journals.js +0 -313
  133. package/vendor/translators-official/Champlain Society - Collection.js +0 -220
  134. package/vendor/translators-official/ChatGPT.js +0 -185
  135. package/vendor/translators-official/Chicago Journal of Theoretical Computer Science.js +0 -203
  136. package/vendor/translators-official/Christian Science Monitor.js +0 -148
  137. package/vendor/translators-official/Chronicling America.js +0 -131
  138. package/vendor/translators-official/CiNii Research.js +0 -168
  139. package/vendor/translators-official/Citavi 5 XML.js +0 -516
  140. package/vendor/translators-official/CiteSeer.js +0 -196
  141. package/vendor/translators-official/Citizen Lab.js +0 -347
  142. package/vendor/translators-official/Civilization.ca.js +0 -146
  143. package/vendor/translators-official/Climate Change and Human Health Literature Portal.js +0 -283
  144. package/vendor/translators-official/Clinical Key.js +0 -367
  145. package/vendor/translators-official/Code4Lib Journal.js +0 -143
  146. package/vendor/translators-official/Colorado State Legislature.js +0 -215
  147. package/vendor/translators-official/Columbia University Press.js +0 -238
  148. package/vendor/translators-official/Common-Place.js +0 -218
  149. package/vendor/translators-official/Computer History Museum Archive.js +0 -1319
  150. package/vendor/translators-official/Copernicus.js +0 -461
  151. package/vendor/translators-official/Cornell LII.js +0 -252
  152. package/vendor/translators-official/Cornell University Press.js +0 -235
  153. package/vendor/translators-official/CourtListener.js +0 -265
  154. package/vendor/translators-official/Crossref REST.js +0 -1757
  155. package/vendor/translators-official/Crossref Unixref XML.js +0 -965
  156. package/vendor/translators-official/Current Affairs.js +0 -160
  157. package/vendor/translators-official/DABI.js +0 -476
  158. package/vendor/translators-official/DAI-Zenon.js +0 -392
  159. package/vendor/translators-official/DART-Europe.js +0 -176
  160. package/vendor/translators-official/DBLP Computer Science Bibliography.js +0 -462
  161. package/vendor/translators-official/DBpia.js +0 -233
  162. package/vendor/translators-official/DEPATISnet.js +0 -373
  163. package/vendor/translators-official/DOAJ.js +0 -243
  164. package/vendor/translators-official/DOI Content Negotiation.js +0 -352
  165. package/vendor/translators-official/DOI.js +0 -322
  166. package/vendor/translators-official/DPLA.js +0 -425
  167. package/vendor/translators-official/DSpace Intermediate Metadata.js +0 -208
  168. package/vendor/translators-official/Dagens Nyheter.js +0 -369
  169. package/vendor/translators-official/Dagstuhl Research Online Publication Server.js +0 -276
  170. package/vendor/translators-official/Dar Almandumah.js +0 -253
  171. package/vendor/translators-official/Data.gov.js +0 -225
  172. package/vendor/translators-official/Databrary.js +0 -184
  173. package/vendor/translators-official/Datacite JSON.js +0 -1182
  174. package/vendor/translators-official/Dataverse.js +0 -418
  175. package/vendor/translators-official/Daum News.js +0 -139
  176. package/vendor/translators-official/De Gruyter Brill.js +0 -460
  177. package/vendor/translators-official/Defense Technical Information Center.js +0 -146
  178. package/vendor/translators-official/Delpher.js +0 -413
  179. package/vendor/translators-official/Demographic Research.js +0 -164
  180. package/vendor/translators-official/Denik CZ.js +0 -273
  181. package/vendor/translators-official/Der Freitag.js +0 -236
  182. package/vendor/translators-official/Der Spiegel.js +0 -479
  183. package/vendor/translators-official/Desiring God.js +0 -216
  184. package/vendor/translators-official/Deutsche Fotothek.js +0 -364
  185. package/vendor/translators-official/Deutsche Nationalbibliothek.js +0 -594
  186. package/vendor/translators-official/Dialnet.js +0 -258
  187. package/vendor/translators-official/Die Zeit.js +0 -378
  188. package/vendor/translators-official/DigiZeitschriften.js +0 -269
  189. package/vendor/translators-official/Digital Humanities Quarterly.js +0 -207
  190. package/vendor/translators-official/Digital Spy.js +0 -215
  191. package/vendor/translators-official/Dimensions.js +0 -233
  192. package/vendor/translators-official/Douban.js +0 -316
  193. package/vendor/translators-official/Dreier Neuerscheinungsdienst.js +0 -209
  194. package/vendor/translators-official/DrugBank.ca.js +0 -209
  195. package/vendor/translators-official/Dryad Digital Repository.js +0 -323
  196. package/vendor/translators-official/Duke University Press Books.js +0 -250
  197. package/vendor/translators-official/E-periodica Switzerland.js +0 -347
  198. package/vendor/translators-official/EBSCO Discovery Layer.js +0 -159
  199. package/vendor/translators-official/EBSCOhost.js +0 -592
  200. package/vendor/translators-official/EIDR.js +0 -184
  201. package/vendor/translators-official/EPA National Library Catalog.js +0 -245
  202. package/vendor/translators-official/ERIC.js +0 -986
  203. package/vendor/translators-official/ESpacenet.js +0 -465
  204. package/vendor/translators-official/EUR-Lex.js +0 -418
  205. package/vendor/translators-official/Eastview.js +0 -336
  206. package/vendor/translators-official/Edinburgh University Press Journals.js +0 -178
  207. package/vendor/translators-official/Education Week.js +0 -197
  208. package/vendor/translators-official/El Comercio (Peru).js +0 -347
  209. package/vendor/translators-official/El Pais.js +0 -262
  210. package/vendor/translators-official/Electronic Colloquium on Computational Complexity.js +0 -230
  211. package/vendor/translators-official/Elicit.js +0 -120
  212. package/vendor/translators-official/Elsevier Health Journals.js +0 -531
  213. package/vendor/translators-official/Elsevier Pure.js +0 -420
  214. package/vendor/translators-official/Embedded Metadata.js +0 -1978
  215. package/vendor/translators-official/Emerald Insight.js +0 -626
  216. package/vendor/translators-official/Encyclopedia of Chicago.js +0 -162
  217. package/vendor/translators-official/Encyclopedia of Korean Culture.js +0 -221
  218. package/vendor/translators-official/Endnote XML.js +0 -1407
  219. package/vendor/translators-official/Engineering Village.js +0 -139
  220. package/vendor/translators-official/Envidat.js +0 -331
  221. package/vendor/translators-official/Epicurious.js +0 -144
  222. package/vendor/translators-official/Erudit.js +0 -272
  223. package/vendor/translators-official/Euclid.js +0 -220
  224. package/vendor/translators-official/EurasiaNet.js +0 -109
  225. package/vendor/translators-official/EurogamerUSgamer.js +0 -380
  226. package/vendor/translators-official/Europe PMC.js +0 -448
  227. package/vendor/translators-official/Evernote.js +0 -104
  228. package/vendor/translators-official/F1000 Research.js +0 -655
  229. package/vendor/translators-official/FAO Knowledge Repository.js +0 -598
  230. package/vendor/translators-official/FAOLEX Database.js +0 -811
  231. package/vendor/translators-official/FAZ.NET.js +0 -231
  232. package/vendor/translators-official/Fachportal Padagogik.js +0 -839
  233. package/vendor/translators-official/Factiva.js +0 -302
  234. package/vendor/translators-official/Failed Architecture.js +0 -114
  235. package/vendor/translators-official/Fairfax Australia.js +0 -200
  236. package/vendor/translators-official/Fatcat.js +0 -425
  237. package/vendor/translators-official/Figshare.js +0 -191
  238. package/vendor/translators-official/Financial Times.js +0 -187
  239. package/vendor/translators-official/Finna.js +0 -357
  240. package/vendor/translators-official/Flickr.js +0 -318
  241. package/vendor/translators-official/Foreign Affairs.js +0 -485
  242. package/vendor/translators-official/Foreign Policy.js +0 -146
  243. package/vendor/translators-official/FreeCite.js +0 -95
  244. package/vendor/translators-official/FreePatentsOnline.js +0 -265
  245. package/vendor/translators-official/Frieze.js +0 -243
  246. package/vendor/translators-official/Frontiers.js +0 -667
  247. package/vendor/translators-official/GMS German Medical Science.js +0 -319
  248. package/vendor/translators-official/GPO Access e-CFR.js +0 -134
  249. package/vendor/translators-official/Gale Databases.js +0 -324
  250. package/vendor/translators-official/GaleGDC.js +0 -189
  251. package/vendor/translators-official/Galegroup.js +0 -327
  252. package/vendor/translators-official/Gallica.js +0 -194
  253. package/vendor/translators-official/Game Studies.js +0 -155
  254. package/vendor/translators-official/GameSpot.js +0 -199
  255. package/vendor/translators-official/GameStar GamePro.js +0 -198
  256. package/vendor/translators-official/Gasyrlar Awazy.js +0 -156
  257. package/vendor/translators-official/Gemeinsamer Bibliotheksverbund ISBN.js +0 -23
  258. package/vendor/translators-official/Gene Ontology.js +0 -128
  259. package/vendor/translators-official/GitHub.js +0 -501
  260. package/vendor/translators-official/Globes.js +0 -243
  261. package/vendor/translators-official/Gmail.js +0 -64
  262. package/vendor/translators-official/Goodreads.js +0 -219
  263. package/vendor/translators-official/Google Books.js +0 -552
  264. package/vendor/translators-official/Google Gemini.js +0 -116
  265. package/vendor/translators-official/Google Patents.js +0 -959
  266. package/vendor/translators-official/Google Play.js +0 -186
  267. package/vendor/translators-official/Google Presentation.js +0 -104
  268. package/vendor/translators-official/Google Research.js +0 -221
  269. package/vendor/translators-official/Google Scholar.js +0 -1361
  270. package/vendor/translators-official/Gulag Many Days, Many Lives.js +0 -179
  271. package/vendor/translators-official/HAL.js +0 -536
  272. package/vendor/translators-official/HCSP.js +0 -312
  273. package/vendor/translators-official/HUDOC.js +0 -650
  274. package/vendor/translators-official/Haaretz.js +0 -562
  275. package/vendor/translators-official/Habr.js +0 -232
  276. package/vendor/translators-official/Handelszeitung.js +0 -273
  277. package/vendor/translators-official/Hanrei Watch.js +0 -123
  278. package/vendor/translators-official/Harper's Magazine.js +0 -365
  279. package/vendor/translators-official/Harvard Business Review.js +0 -326
  280. package/vendor/translators-official/Harvard Caselaw Access Project.js +0 -244
  281. package/vendor/translators-official/Harvard University Press Books.js +0 -286
  282. package/vendor/translators-official/HathiTrust.js +0 -311
  283. package/vendor/translators-official/HeinOnline.js +0 -280
  284. package/vendor/translators-official/Heise.js +0 -200
  285. package/vendor/translators-official/Herder.js +0 -236
  286. package/vendor/translators-official/HighBeam.js +0 -198
  287. package/vendor/translators-official/HighWire 2.0.js +0 -1355
  288. package/vendor/translators-official/HighWire.js +0 -209
  289. package/vendor/translators-official/Hindawi Publishers.js +0 -177
  290. package/vendor/translators-official/Hispanic-American Periodical Index.js +0 -236
  291. package/vendor/translators-official/Homeland Security Digital Library.js +0 -426
  292. package/vendor/translators-official/Hrvatska enciklopedija.js +0 -118
  293. package/vendor/translators-official/Huff Post.js +0 -223
  294. package/vendor/translators-official/Human Rights Watch.js +0 -450
  295. package/vendor/translators-official/IBISWorld.js +0 -171
  296. package/vendor/translators-official/IDEA ALM.js +0 -536
  297. package/vendor/translators-official/IEEE Computer Society.js +0 -429
  298. package/vendor/translators-official/IEEE Xplore.js +0 -1000
  299. package/vendor/translators-official/IETF.js +0 -451
  300. package/vendor/translators-official/IGN.js +0 -136
  301. package/vendor/translators-official/IMDb.js +0 -566
  302. package/vendor/translators-official/INSPIRE.js +0 -247
  303. package/vendor/translators-official/IPCC.js +0 -757
  304. package/vendor/translators-official/ISTC.js +0 -181
  305. package/vendor/translators-official/Idref.js +0 -179
  306. package/vendor/translators-official/In These Times.js +0 -196
  307. package/vendor/translators-official/Ined.js +0 -558
  308. package/vendor/translators-official/InfoTrac.js +0 -279
  309. package/vendor/translators-official/Informationssystem Medienpaedagogik.js +0 -305
  310. package/vendor/translators-official/IngentaConnect.js +0 -312
  311. package/vendor/translators-official/Inside Higher Ed.js +0 -167
  312. package/vendor/translators-official/Insignia OPAC.js +0 -114
  313. package/vendor/translators-official/Institute of Contemporary Art.js +0 -180
  314. package/vendor/translators-official/Institute of Physics.js +0 -340
  315. package/vendor/translators-official/Integrum.js +0 -173
  316. package/vendor/translators-official/Intellixir.js +0 -264
  317. package/vendor/translators-official/Inter-Research Science Center.js +0 -185
  318. package/vendor/translators-official/International Nuclear Information System.js +0 -285
  319. package/vendor/translators-official/Internet Archive Scholar.js +0 -106
  320. package/vendor/translators-official/Internet Archive Wayback Machine.js +0 -152
  321. package/vendor/translators-official/Internet Archive.js +0 -552
  322. package/vendor/translators-official/InvenioRDM.js +0 -1250
  323. package/vendor/translators-official/Isidore.js +0 -235
  324. package/vendor/translators-official/J-Stage.js +0 -272
  325. package/vendor/translators-official/JETS.js +0 -122
  326. package/vendor/translators-official/JISC Historical Texts.js +0 -273
  327. package/vendor/translators-official/JRC Publications Repository.js +0 -569
  328. package/vendor/translators-official/JSTOR.js +0 -821
  329. package/vendor/translators-official/Jahrbuch.js +0 -213
  330. package/vendor/translators-official/Japan Times Online.js +0 -138
  331. package/vendor/translators-official/Journal of Electronic Publishing.js +0 -147
  332. package/vendor/translators-official/Journal of Extension.js +0 -288
  333. package/vendor/translators-official/Journal of Machine Learning Research.js +0 -441
  334. package/vendor/translators-official/Journal of Religion and Society.js +0 -174
  335. package/vendor/translators-official/JurPC.js +0 -274
  336. package/vendor/translators-official/Juricaf.js +0 -141
  337. package/vendor/translators-official/Juris.js +0 -728
  338. package/vendor/translators-official/K10plus ISBN.js +0 -386
  339. package/vendor/translators-official/KStudy.js +0 -632
  340. package/vendor/translators-official/Kanopy.js +0 -358
  341. package/vendor/translators-official/Khaama Press.js +0 -249
  342. package/vendor/translators-official/KiM.js +0 -259
  343. package/vendor/translators-official/KitapYurdu.com.js +0 -376
  344. package/vendor/translators-official/Kommersant.js +0 -174
  345. package/vendor/translators-official/Korean National Library.js +0 -621
  346. package/vendor/translators-official/L'Annee Philologique.js +0 -267
  347. package/vendor/translators-official/LA Times.js +0 -239
  348. package/vendor/translators-official/LIBRIS ISBN.js +0 -103
  349. package/vendor/translators-official/LIVIVO.js +0 -260
  350. package/vendor/translators-official/LWN.net.js +0 -350
  351. package/vendor/translators-official/La Croix.js +0 -237
  352. package/vendor/translators-official/La Nacion (Argentina).js +0 -231
  353. package/vendor/translators-official/La Presse.js +0 -218
  354. package/vendor/translators-official/La Republica (Peru).js +0 -174
  355. package/vendor/translators-official/Lagen.nu.js +0 -214
  356. package/vendor/translators-official/Landesbibliographie Baden-Wurttemberg.js +0 -324
  357. package/vendor/translators-official/Lapham's Quarterly.js +0 -1062
  358. package/vendor/translators-official/Le Devoir.js +0 -167
  359. package/vendor/translators-official/Le Figaro.js +0 -225
  360. package/vendor/translators-official/Le Maitron.js +0 -484
  361. package/vendor/translators-official/Le Monde.js +0 -245
  362. package/vendor/translators-official/Le monde diplomatique.js +0 -200
  363. package/vendor/translators-official/Legifrance.js +0 -641
  364. package/vendor/translators-official/Legislative Insight.js +0 -406
  365. package/vendor/translators-official/Lexis+.js +0 -264
  366. package/vendor/translators-official/LexisNexis.js +0 -505
  367. package/vendor/translators-official/Libraries Tasmania.js +0 -778
  368. package/vendor/translators-official/Library Catalog (Aleph).js +0 -385
  369. package/vendor/translators-official/Library Catalog (Amicus).js +0 -254
  370. package/vendor/translators-official/Library Catalog (Aquabrowser).js +0 -253
  371. package/vendor/translators-official/Library Catalog (BiblioCommons).js +0 -249
  372. package/vendor/translators-official/Library Catalog (Blacklight).js +0 -341
  373. package/vendor/translators-official/Library Catalog (Capita Prism).js +0 -162
  374. package/vendor/translators-official/Library Catalog (DRA).js +0 -203
  375. package/vendor/translators-official/Library Catalog (Dynix).js +0 -315
  376. package/vendor/translators-official/Library Catalog (EBSCO Locate).js +0 -442
  377. package/vendor/translators-official/Library Catalog (Encore).js +0 -211
  378. package/vendor/translators-official/Library Catalog (InnoPAC).js +0 -305
  379. package/vendor/translators-official/Library Catalog (Koha).js +0 -225
  380. package/vendor/translators-official/Library Catalog (Mango).js +0 -285
  381. package/vendor/translators-official/Library Catalog (OPALS).js +0 -200
  382. package/vendor/translators-official/Library Catalog (PICA).js +0 -2120
  383. package/vendor/translators-official/Library Catalog (PICA2).js +0 -331
  384. package/vendor/translators-official/Library Catalog (Pika).js +0 -488
  385. package/vendor/translators-official/Library Catalog (Polaris).js +0 -183
  386. package/vendor/translators-official/Library Catalog (Quolto).js +0 -320
  387. package/vendor/translators-official/Library Catalog (RERO ILS).js +0 -754
  388. package/vendor/translators-official/Library Catalog (SIRSI eLibrary).js +0 -407
  389. package/vendor/translators-official/Library Catalog (SIRSI).js +0 -452
  390. package/vendor/translators-official/Library Catalog (SLIMS).js +0 -146
  391. package/vendor/translators-official/Library Catalog (TIND ILS).js +0 -773
  392. package/vendor/translators-official/Library Catalog (TLCYouSeeMore).js +0 -132
  393. package/vendor/translators-official/Library Catalog (TinREAD).js +0 -277
  394. package/vendor/translators-official/Library Catalog (VTLS).js +0 -125
  395. package/vendor/translators-official/Library Catalog (Visual Library 2021).js +0 -765
  396. package/vendor/translators-official/Library Catalog (Voyager 7).js +0 -199
  397. package/vendor/translators-official/Library Catalog (Voyager).js +0 -212
  398. package/vendor/translators-official/Library Genesis.js +0 -337
  399. package/vendor/translators-official/Library Hub Discover.js +0 -359
  400. package/vendor/translators-official/Library of Congress Digital Collections.js +0 -869
  401. package/vendor/translators-official/Library of Congress ISBN.js +0 -86
  402. package/vendor/translators-official/LingBuzz.js +0 -359
  403. package/vendor/translators-official/Lippincott Williams and Wilkins.js +0 -341
  404. package/vendor/translators-official/Literary Hub.js +0 -950
  405. package/vendor/translators-official/Litres.js +0 -236
  406. package/vendor/translators-official/LiveJournal.js +0 -219
  407. package/vendor/translators-official/London Review of Books.js +0 -291
  408. package/vendor/translators-official/LookUs.js +0 -260
  409. package/vendor/translators-official/Lulu.js +0 -264
  410. package/vendor/translators-official/MAB2.js +0 -373
  411. package/vendor/translators-official/MARC.js +0 -1080
  412. package/vendor/translators-official/MARCXML.js +0 -489
  413. package/vendor/translators-official/MCV.js +0 -258
  414. package/vendor/translators-official/MDPI Journals.js +0 -356
  415. package/vendor/translators-official/MEDLINEnbib.js +0 -1561
  416. package/vendor/translators-official/METS.js +0 -384
  417. package/vendor/translators-official/MIDAS Journals.js +0 -343
  418. package/vendor/translators-official/MIT Press Books.js +0 -637
  419. package/vendor/translators-official/MODS.js +0 -2545
  420. package/vendor/translators-official/MPG PuRe.js +0 -541
  421. package/vendor/translators-official/Mailman.js +0 -136
  422. package/vendor/translators-official/Mainichi Daily News.js +0 -189
  423. package/vendor/translators-official/Mastodon.js +0 -198
  424. package/vendor/translators-official/Matbugat.ru.js +0 -110
  425. package/vendor/translators-official/Max Planck Institute for the History of Science Virtual Laboratory Library.js +0 -136
  426. package/vendor/translators-official/Medium.js +0 -208
  427. package/vendor/translators-official/MetaLib.js +0 -126
  428. package/vendor/translators-official/Microbiology Society Journals.js +0 -343
  429. package/vendor/translators-official/Microsoft Academic.js +0 -424
  430. package/vendor/translators-official/Mikromarc.js +0 -207
  431. package/vendor/translators-official/Milli Kutuphane.js +0 -244
  432. package/vendor/translators-official/Musee du Louvre.js +0 -265
  433. package/vendor/translators-official/NASA ADS.js +0 -889
  434. package/vendor/translators-official/NASA NTRS.js +0 -610
  435. package/vendor/translators-official/NCBI Nucleotide.js +0 -227
  436. package/vendor/translators-official/NPR.js +0 -341
  437. package/vendor/translators-official/NRC Research Press.js +0 -181
  438. package/vendor/translators-official/NRC.nl.js +0 -226
  439. package/vendor/translators-official/NTSB Accident Reports.js +0 -226
  440. package/vendor/translators-official/NYPL Menus.js +0 -275
  441. package/vendor/translators-official/NYPL Research Catalog.js +0 -458
  442. package/vendor/translators-official/NYTimes.com.js +0 -947
  443. package/vendor/translators-official/NZZ.ch.js +0 -272
  444. package/vendor/translators-official/Nagoya University OPAC.js +0 -336
  445. package/vendor/translators-official/National Academies Press.js +0 -243
  446. package/vendor/translators-official/National Agriculture Library.js +0 -524
  447. package/vendor/translators-official/National Archives UK Case Law.js +0 -509
  448. package/vendor/translators-official/National Archives of Australia.js +0 -522
  449. package/vendor/translators-official/National Archives of South Africa.js +0 -122
  450. package/vendor/translators-official/National Bureau of Economic Research.js +0 -363
  451. package/vendor/translators-official/National Diet Library Catalogue.js +0 -333
  452. package/vendor/translators-official/National Gallery of Art - USA.js +0 -149
  453. package/vendor/translators-official/National Gallery of Australia.js +0 -252
  454. package/vendor/translators-official/National Library of Australia (new catalog).js +0 -223
  455. package/vendor/translators-official/National Library of Belarus.js +0 -171
  456. package/vendor/translators-official/National Library of Norway.js +0 -310
  457. package/vendor/translators-official/National Library of Poland ISBN.js +0 -140
  458. package/vendor/translators-official/National Post.js +0 -186
  459. package/vendor/translators-official/National Technical Reports Library.js +0 -276
  460. package/vendor/translators-official/National Transportation Library ROSA P.js +0 -562
  461. package/vendor/translators-official/Nature Publishing Group.js +0 -3394
  462. package/vendor/translators-official/Neural Information Processing Systems.js +0 -385
  463. package/vendor/translators-official/New Left Review.js +0 -245
  464. package/vendor/translators-official/New Zealand Herald.js +0 -282
  465. package/vendor/translators-official/Newlines Magazine.js +0 -190
  466. package/vendor/translators-official/News Corp Australia.js +0 -251
  467. package/vendor/translators-official/NewsBank.js +0 -202
  468. package/vendor/translators-official/NewsnetTamedia.js +0 -509
  469. package/vendor/translators-official/Noor Digital Library.js +0 -267
  470. package/vendor/translators-official/Note HTML.js +0 -206
  471. package/vendor/translators-official/Note Markdown.js +0 -1638
  472. package/vendor/translators-official/Notre Dame Philosophical Reviews.js +0 -201
  473. package/vendor/translators-official/OAPEN.js +0 -331
  474. package/vendor/translators-official/OCLC WorldCat FirstSearch.js +0 -213
  475. package/vendor/translators-official/OECD.js +0 -216
  476. package/vendor/translators-official/ORCID.js +0 -104
  477. package/vendor/translators-official/OSF Preprints.js +0 -1287
  478. package/vendor/translators-official/OSTI Energy Citations.js +0 -202
  479. package/vendor/translators-official/OVID Tagged.js +0 -1226
  480. package/vendor/translators-official/OZON.ru.js +0 -465
  481. package/vendor/translators-official/OhioLINK.js +0 -43
  482. package/vendor/translators-official/Old Bailey Online.js +0 -315
  483. package/vendor/translators-official/Open Conf.js +0 -172
  484. package/vendor/translators-official/Open Knowledge Repository.js +0 -811
  485. package/vendor/translators-official/Open WorldCat.js +0 -1394
  486. package/vendor/translators-official/OpenAlex JSON.js +0 -740
  487. package/vendor/translators-official/OpenAlex.js +0 -444
  488. package/vendor/translators-official/OpenEdition Books.js +0 -155
  489. package/vendor/translators-official/OpenEdition Journals.js +0 -432
  490. package/vendor/translators-official/Optical Society of America.js +0 -562
  491. package/vendor/translators-official/Optimization Online.js +0 -418
  492. package/vendor/translators-official/Ovid OCE.js +0 -353
  493. package/vendor/translators-official/Ovid.js +0 -302
  494. package/vendor/translators-official/Oxford Dictionaries Premium.js +0 -194
  495. package/vendor/translators-official/Oxford English Dictionary.js +0 -122
  496. package/vendor/translators-official/Oxford Music and Art Online.js +0 -120
  497. package/vendor/translators-official/Oxford Reference.js +0 -202
  498. package/vendor/translators-official/Oxford University Press.js +0 -277
  499. package/vendor/translators-official/PC Gamer.js +0 -302
  500. package/vendor/translators-official/PC Games.js +0 -128
  501. package/vendor/translators-official/PEI Archival Information Network.js +0 -242
  502. package/vendor/translators-official/PEP Web.js +0 -165
  503. package/vendor/translators-official/PKP Catalog Systems.js +0 -1455
  504. package/vendor/translators-official/PLoS Journals.js +0 -284
  505. package/vendor/translators-official/PRC History Review.js +0 -298
  506. package/vendor/translators-official/Pajhwok Afghan News.js +0 -198
  507. package/vendor/translators-official/Papers Past.js +0 -509
  508. package/vendor/translators-official/Paris Review.js +0 -227
  509. package/vendor/translators-official/Pastebin.js +0 -199
  510. package/vendor/translators-official/Patents - USPTO.js +0 -210
  511. package/vendor/translators-official/Peeters.js +0 -587
  512. package/vendor/translators-official/Perceiving Systems.js +0 -350
  513. package/vendor/translators-official/Perlego.js +0 -416
  514. package/vendor/translators-official/PhilPapers.js +0 -233
  515. package/vendor/translators-official/Philosopher's Imprint.js +0 -169
  516. package/vendor/translators-official/Pleade.js +0 -329
  517. package/vendor/translators-official/Polygon.js +0 -270
  518. package/vendor/translators-official/Potsdamer Neueste Nachrichten.js +0 -188
  519. package/vendor/translators-official/Premium Times.js +0 -144
  520. package/vendor/translators-official/Preprints.org.js +0 -305
  521. package/vendor/translators-official/Prime 9ja Online.js +0 -402
  522. package/vendor/translators-official/Primo 2018.js +0 -126
  523. package/vendor/translators-official/Primo Normalized XML.js +0 -1075
  524. package/vendor/translators-official/Primo.js +0 -322
  525. package/vendor/translators-official/ProMED.js +0 -66
  526. package/vendor/translators-official/ProQuest Ebook Central.js +0 -226
  527. package/vendor/translators-official/ProQuest PolicyFile.js +0 -115
  528. package/vendor/translators-official/ProQuest.js +0 -2210
  529. package/vendor/translators-official/Probing the Past.js +0 -151
  530. package/vendor/translators-official/Project Gutenberg.js +0 -191
  531. package/vendor/translators-official/Project MUSE.js +0 -451
  532. package/vendor/translators-official/Protein Data Bank.js +0 -445
  533. package/vendor/translators-official/PubFactory Journals.js +0 -712
  534. package/vendor/translators-official/PubMed Central.js +0 -563
  535. package/vendor/translators-official/PubMed XML.js +0 -1240
  536. package/vendor/translators-official/PubMed.js +0 -1317
  537. package/vendor/translators-official/PubPub.js +0 -530
  538. package/vendor/translators-official/Public Record Office Victoria.js +0 -252
  539. package/vendor/translators-official/Publications Office of the European Union.js +0 -540
  540. package/vendor/translators-official/Publications du Quebec.js +0 -225
  541. package/vendor/translators-official/PyPI.js +0 -288
  542. package/vendor/translators-official/Qatar Digital Library.js +0 -802
  543. package/vendor/translators-official/Queensland State Archives.js +0 -303
  544. package/vendor/translators-official/R-Packages.js +0 -410
  545. package/vendor/translators-official/RAND.js +0 -283
  546. package/vendor/translators-official/RDF.js +0 -1782
  547. package/vendor/translators-official/REDALYC.js +0 -196
  548. package/vendor/translators-official/RIS.js +0 -7292
  549. package/vendor/translators-official/RSC Publishing.js +0 -250
  550. package/vendor/translators-official/Radio Free Europe Radio Liberty.js +0 -706
  551. package/vendor/translators-official/RePEc - Econpapers.js +0 -725
  552. package/vendor/translators-official/RePEc - IDEAS.js +0 -337
  553. package/vendor/translators-official/Rechtspraak.nl.js +0 -295
  554. package/vendor/translators-official/RefWorks Tagged.js +0 -1185
  555. package/vendor/translators-official/ReferBibIX.js +0 -463
  556. package/vendor/translators-official/Regeringskansliet.js +0 -89
  557. package/vendor/translators-official/Research Square.js +0 -335
  558. package/vendor/translators-official/ResearchGate.js +0 -394
  559. package/vendor/translators-official/Retsinformation.js +0 -348
  560. package/vendor/translators-official/Reuters.js +0 -255
  561. package/vendor/translators-official/Rock, Paper, Shotgun.js +0 -304
  562. package/vendor/translators-official/Roll Call.js +0 -173
  563. package/vendor/translators-official/Russian State Library.js +0 -1517
  564. package/vendor/translators-official/SAE Papers.js +0 -241
  565. package/vendor/translators-official/SAGE Journals.js +0 -429
  566. package/vendor/translators-official/SAGE Knowledge.js +0 -505
  567. package/vendor/translators-official/SAILDART.js +0 -364
  568. package/vendor/translators-official/SALT Research Archives.js +0 -196
  569. package/vendor/translators-official/SFU IPinCH.js +0 -946
  570. package/vendor/translators-official/SIPRI.js +0 -256
  571. package/vendor/translators-official/SIRS Knowledge Source.js +0 -546
  572. package/vendor/translators-official/SLUB Dresden.js +0 -300
  573. package/vendor/translators-official/SORA.js +0 -340
  574. package/vendor/translators-official/SSOAR.js +0 -399
  575. package/vendor/translators-official/SSRN.js +0 -235
  576. package/vendor/translators-official/SVT Nyheter.js +0 -381
  577. package/vendor/translators-official/Sacramento Bee.js +0 -274
  578. package/vendor/translators-official/Safari Books Online.js +0 -391
  579. package/vendor/translators-official/Scholars Portal Journals.js +0 -220
  580. package/vendor/translators-official/Scholia.js +0 -189
  581. package/vendor/translators-official/Schweizer Radio und Fernsehen SRF.js +0 -152
  582. package/vendor/translators-official/SciELO.js +0 -440
  583. package/vendor/translators-official/ScienceDirect.js +0 -1306
  584. package/vendor/translators-official/Scopus.js +0 -418
  585. package/vendor/translators-official/Semantic Scholar.js +0 -513
  586. package/vendor/translators-official/Silverchair.js +0 -886
  587. package/vendor/translators-official/Slate.js +0 -228
  588. package/vendor/translators-official/SlideShare.js +0 -112
  589. package/vendor/translators-official/Springer Link.js +0 -696
  590. package/vendor/translators-official/Stack Exchange.js +0 -134
  591. package/vendor/translators-official/Standard Ebooks.js +0 -198
  592. package/vendor/translators-official/Stanford Encyclopedia of Philosophy.js +0 -285
  593. package/vendor/translators-official/Stanford University Press.js +0 -343
  594. package/vendor/translators-official/State Records Office of Western Australia.js +0 -439
  595. package/vendor/translators-official/Stitcher.js +0 -141
  596. package/vendor/translators-official/Store norske leksikon.js +0 -291
  597. package/vendor/translators-official/Stuff.co.nz.js +0 -446
  598. package/vendor/translators-official/Substack.js +0 -237
  599. package/vendor/translators-official/Sud Ouest.js +0 -181
  600. package/vendor/translators-official/Sueddeutsche.de.js +0 -205
  601. package/vendor/translators-official/Summon 2.js +0 -117
  602. package/vendor/translators-official/Superlib.js +0 -647
  603. package/vendor/translators-official/Svenska Dagbladet.js +0 -274
  604. package/vendor/translators-official/Sveriges radio.js +0 -416
  605. package/vendor/translators-official/TEI.js +0 -648
  606. package/vendor/translators-official/TV by the Numbers.js +0 -194
  607. package/vendor/translators-official/TVNZ.js +0 -165
  608. package/vendor/translators-official/Tagesspiegel.js +0 -249
  609. package/vendor/translators-official/Talis Aspire.js +0 -316
  610. package/vendor/translators-official/TalisPrism.js +0 -445
  611. package/vendor/translators-official/Tatknigafund.js +0 -174
  612. package/vendor/translators-official/Tatpressa.ru.js +0 -121
  613. package/vendor/translators-official/Taylor & Francis eBooks.js +0 -334
  614. package/vendor/translators-official/Taylor and Francis+NEJM.js +0 -813
  615. package/vendor/translators-official/Tesis Doctorals en Xarxa.js +0 -233
  616. package/vendor/translators-official/The Art Newspaper.js +0 -268
  617. package/vendor/translators-official/The Atlantic.js +0 -535
  618. package/vendor/translators-official/The Boston Globe.js +0 -285
  619. package/vendor/translators-official/The Chronicle of Higher Education.js +0 -308
  620. package/vendor/translators-official/The Daily Beast.js +0 -183
  621. package/vendor/translators-official/The Economic Times - The Times of India.js +0 -305
  622. package/vendor/translators-official/The Economist.js +0 -207
  623. package/vendor/translators-official/The Free Dictionary.js +0 -58
  624. package/vendor/translators-official/The Globe and Mail.js +0 -241
  625. package/vendor/translators-official/The Guardian.js +0 -717
  626. package/vendor/translators-official/The Hamilton Spectator.js +0 -129
  627. package/vendor/translators-official/The Hindu.js +0 -318
  628. package/vendor/translators-official/The Independent.js +0 -184
  629. package/vendor/translators-official/The Intercept.js +0 -258
  630. package/vendor/translators-official/The Met.js +0 -276
  631. package/vendor/translators-official/The Microfinance Gateway.js +0 -174
  632. package/vendor/translators-official/The Nation.js +0 -188
  633. package/vendor/translators-official/The National Archives (UK).js +0 -242
  634. package/vendor/translators-official/The New Republic.js +0 -160
  635. package/vendor/translators-official/The New York Review of Books.js +0 -467
  636. package/vendor/translators-official/The New Yorker.js +0 -360
  637. package/vendor/translators-official/The Open Library.js +0 -220
  638. package/vendor/translators-official/The Straits Times.js +0 -528
  639. package/vendor/translators-official/The Telegraph.js +0 -337
  640. package/vendor/translators-official/The Times and Sunday Times.js +0 -180
  641. package/vendor/translators-official/The Times of Israel.js +0 -151
  642. package/vendor/translators-official/TheMarker.js +0 -108
  643. package/vendor/translators-official/Theory of Computing.js +0 -488
  644. package/vendor/translators-official/ThesesFR.js +0 -405
  645. package/vendor/translators-official/Thieme.js +0 -326
  646. package/vendor/translators-official/Time.com.js +0 -557
  647. package/vendor/translators-official/TimesMachine.js +0 -222
  648. package/vendor/translators-official/Tony Blair Institute for Global Change.js +0 -195
  649. package/vendor/translators-official/Toronto Star.js +0 -298
  650. package/vendor/translators-official/Transportation Research Board.js +0 -253
  651. package/vendor/translators-official/Treesearch.js +0 -535
  652. package/vendor/translators-official/Trove.js +0 -616
  653. package/vendor/translators-official/Tumblr.js +0 -179
  654. package/vendor/translators-official/Twitter.js +0 -413
  655. package/vendor/translators-official/UChicago VuFind.js +0 -907
  656. package/vendor/translators-official/UNZ Print Archive.js +0 -276
  657. package/vendor/translators-official/UPCommons.js +0 -227
  658. package/vendor/translators-official/US National Archives Research Catalog.js +0 -275
  659. package/vendor/translators-official/USENIX.js +0 -151
  660. package/vendor/translators-official/Ubiquity Journals.js +0 -228
  661. package/vendor/translators-official/University Press Scholarship.js +0 -301
  662. package/vendor/translators-official/University of California Press Books.js +0 -403
  663. package/vendor/translators-official/University of Chicago Press Books.js +0 -378
  664. package/vendor/translators-official/University of Wisconsin-Madison Libraries Catalog.js +0 -298
  665. package/vendor/translators-official/Unqualified Dublin Core RDF.js +0 -153
  666. package/vendor/translators-official/UpToDate References.js +0 -203
  667. package/vendor/translators-official/Vanity Fair.js +0 -242
  668. package/vendor/translators-official/Verniana-Jules Verne Studies.js +0 -190
  669. package/vendor/translators-official/Verso Books.js +0 -311
  670. package/vendor/translators-official/Vice.js +0 -445
  671. package/vendor/translators-official/Victoria & Albert Museum.js +0 -277
  672. package/vendor/translators-official/Vimeo.js +0 -188
  673. package/vendor/translators-official/VoxEU.js +0 -151
  674. package/vendor/translators-official/WHO.js +0 -458
  675. package/vendor/translators-official/WIPO.js +0 -189
  676. package/vendor/translators-official/Wall Street Journal.js +0 -809
  677. package/vendor/translators-official/Wanfang Data.js +0 -310
  678. package/vendor/translators-official/Washington Monthly.js +0 -195
  679. package/vendor/translators-official/Washington Post.js +0 -447
  680. package/vendor/translators-official/Web of Science Nextgen.js +0 -832
  681. package/vendor/translators-official/Web of Science Tagged.js +0 -1247
  682. package/vendor/translators-official/Web of Science.js +0 -228
  683. package/vendor/translators-official/Welt Online.js +0 -161
  684. package/vendor/translators-official/WestLaw UK.js +0 -190
  685. package/vendor/translators-official/WikiLeaks PlusD.js +0 -182
  686. package/vendor/translators-official/Wikidata QuickStatements.js +0 -324
  687. package/vendor/translators-official/Wikidata.js +0 -911
  688. package/vendor/translators-official/Wikimedia Commons.js +0 -285
  689. package/vendor/translators-official/Wikipedia Citation Templates.js +0 -432
  690. package/vendor/translators-official/Wikipedia.js +0 -385
  691. package/vendor/translators-official/Wikisource.js +0 -399
  692. package/vendor/translators-official/Wikiwand.js +0 -122
  693. package/vendor/translators-official/Wiktionary.js +0 -141
  694. package/vendor/translators-official/Wildlife Biology in Practice.js +0 -172
  695. package/vendor/translators-official/Wiley Online Library.js +0 -1412
  696. package/vendor/translators-official/Wilson Center Digital Archive.js +0 -321
  697. package/vendor/translators-official/Winnipeg Free Press.js +0 -204
  698. package/vendor/translators-official/Wired.js +0 -362
  699. package/vendor/translators-official/Womennews.js +0 -230
  700. package/vendor/translators-official/World Digital Library.js +0 -403
  701. package/vendor/translators-official/World History Connected.js +0 -185
  702. package/vendor/translators-official/World Shakespeare Bibliography Online.js +0 -595
  703. package/vendor/translators-official/WorldCat Discovery Service.js +0 -630
  704. package/vendor/translators-official/XML ContextObject.js +0 -274
  705. package/vendor/translators-official/YPSF.js +0 -224
  706. package/vendor/translators-official/Yandex Books.js +0 -265
  707. package/vendor/translators-official/Ynet.js +0 -171
  708. package/vendor/translators-official/YouTube.js +0 -209
  709. package/vendor/translators-official/ZIPonline.js +0 -267
  710. package/vendor/translators-official/ZOBODAT.js +0 -341
  711. package/vendor/translators-official/Zotero RDF.js +0 -588
  712. package/vendor/translators-official/ZoteroBib.js +0 -94
  713. package/vendor/translators-official/arXiv.org.js +0 -1100
  714. package/vendor/translators-official/artnet.js +0 -207
  715. package/vendor/translators-official/beck-online.js +0 -1339
  716. package/vendor/translators-official/clinicaltrials.gov.js +0 -331
  717. package/vendor/translators-official/dLibra.js +0 -367
  718. package/vendor/translators-official/dejure.org.js +0 -242
  719. package/vendor/translators-official/dhistory.js +0 -103
  720. package/vendor/translators-official/digibib.net.js +0 -245
  721. package/vendor/translators-official/eLibrary.ru.js +0 -867
  722. package/vendor/translators-official/eLife.js +0 -462
  723. package/vendor/translators-official/eMJA.js +0 -246
  724. package/vendor/translators-official/eMedicine.js +0 -123
  725. package/vendor/translators-official/ePrint IACR.js +0 -608
  726. package/vendor/translators-official/ebrary.js +0 -140
  727. package/vendor/translators-official/etatar.ru.js +0 -104
  728. package/vendor/translators-official/feb-web.ru.js +0 -167
  729. package/vendor/translators-official/fishpond.co.nz.js +0 -224
  730. package/vendor/translators-official/fr-online.de.js +0 -209
  731. package/vendor/translators-official/govinfo.js +0 -189
  732. package/vendor/translators-official/informIT database.js +0 -248
  733. package/vendor/translators-official/io-port.js +0 -68
  734. package/vendor/translators-official/jurion.js +0 -377
  735. package/vendor/translators-official/mEDRA.js +0 -597
  736. package/vendor/translators-official/magazines.russ.ru.js +0 -120
  737. package/vendor/translators-official/medes.js +0 -284
  738. package/vendor/translators-official/newshub.co.nz.js +0 -206
  739. package/vendor/translators-official/newspapers.com.js +0 -335
  740. package/vendor/translators-official/openJur.js +0 -161
  741. package/vendor/translators-official/reddit.js +0 -275
  742. package/vendor/translators-official/sbn.it.js +0 -186
  743. package/vendor/translators-official/scinapse.js +0 -273
  744. package/vendor/translators-official/semantics Visual Library.js +0 -643
  745. package/vendor/translators-official/taz.de.js +0 -200
  746. package/vendor/translators-official/unAPI.js +0 -481
  747. package/vendor/translators-official/wiso.js +0 -314
  748. package/vendor/translators-official/zbMATH.js +0 -278
  749. package/vendor/translators-official/zotero.org.js +0 -311
  750. package/vendor/translators_CN/Angle.js +0 -468
  751. package/vendor/translators_CN/Baidu Baike.js +0 -152
  752. package/vendor/translators_CN/Baidu Scholar.js +0 -639
  753. package/vendor/translators_CN/Belt and Road Database.js +0 -496
  754. package/vendor/translators_CN/BiliBili.js +0 -776
  755. package/vendor/translators_CN/CCPINFO.js +0 -416
  756. package/vendor/translators_CN/CHINESE JOURNAL OF LAW.js +0 -169
  757. package/vendor/translators_CN/CNBKSY.js +0 -385
  758. package/vendor/translators_CN/CNKI CHKD.js +0 -692
  759. package/vendor/translators_CN/CNKI Gongjushu.js +0 -271
  760. package/vendor/translators_CN/CNKI Industry.js +0 -726
  761. package/vendor/translators_CN/CNKI Law.js +0 -842
  762. package/vendor/translators_CN/CNKI RefWorks.js +0 -826
  763. package/vendor/translators_CN/CNKI Refer.js +0 -811
  764. package/vendor/translators_CN/CNKI Scholar.js +0 -656
  765. package/vendor/translators_CN/CNKI TIKS.js +0 -1028
  766. package/vendor/translators_CN/CNKI e-Books.js +0 -309
  767. package/vendor/translators_CN/CNKI thinker.js +0 -274
  768. package/vendor/translators_CN/CNKI.js +0 -2381
  769. package/vendor/translators_CN/CNSDA.js +0 -382
  770. package/vendor/translators_CN/CQVIP Knowledge.js +0 -969
  771. package/vendor/translators_CN/CQVIP Qikan.js +0 -418
  772. package/vendor/translators_CN/CQVIP.js +0 -686
  773. package/vendor/translators_CN/CSDN.js +0 -153
  774. package/vendor/translators_CN/China Judgements Online.js +0 -282
  775. package/vendor/translators_CN/China Social Science Library.js +0 -533
  776. package/vendor/translators_CN/ChinaXiv.js +0 -375
  777. package/vendor/translators_CN/Cubox.js +0 -246
  778. package/vendor/translators_CN/Dangdang.js +0 -176
  779. package/vendor/translators_CN/Douban.js +0 -984
  780. package/vendor/translators_CN/Duxiu.js +0 -746
  781. package/vendor/translators_CN/E-Tiller.js +0 -555
  782. package/vendor/translators_CN/Encyclopedia of China 3rd.js +0 -177
  783. package/vendor/translators_CN/Founder.js +0 -483
  784. package/vendor/translators_CN/GFSOSO.js +0 -694
  785. package/vendor/translators_CN/Jd.js +0 -235
  786. package/vendor/translators_CN/Jikan Full Text Database.js +0 -188
  787. package/vendor/translators_CN/KouShare.js +0 -139
  788. package/vendor/translators_CN/LICENSE +0 -661
  789. package/vendor/translators_CN/Lawbank.js +0 -818
  790. package/vendor/translators_CN/MagTech.js +0 -473
  791. package/vendor/translators_CN/Modern History.js +0 -788
  792. package/vendor/translators_CN/NDLTD.js +0 -404
  793. package/vendor/translators_CN/NTU Digital Library of Buddhist Studies.js +0 -957
  794. package/vendor/translators_CN/National Public Service Platform for Standards Information - China.js +0 -348
  795. package/vendor/translators_CN/National Science and Technology Library - China.js +0 -646
  796. package/vendor/translators_CN/National Science and Technology Report Service - China.js +0 -271
  797. package/vendor/translators_CN/National Standards Open System - China.js +0 -296
  798. package/vendor/translators_CN/Ncpssd.js +0 -555
  799. package/vendor/translators_CN/PKULaw.js +0 -1123
  800. package/vendor/translators_CN/PatentStar.js +0 -386
  801. package/vendor/translators_CN/People's Daily Database.js +0 -186
  802. package/vendor/translators_CN/People's Daily Epaper.js +0 -279
  803. package/vendor/translators_CN/People's Daily Online.js +0 -292
  804. package/vendor/translators_CN/Pishu Database.js +0 -383
  805. package/vendor/translators_CN/ProQuestCN Thesis.js +0 -329
  806. package/vendor/translators_CN/Pss-System.js +0 -199
  807. package/vendor/translators_CN/PubScholar.js +0 -588
  808. package/vendor/translators_CN/Publications Data Center - China.js +0 -1119
  809. package/vendor/translators_CN/QStheory.js +0 -251
  810. package/vendor/translators_CN/RDFYBK.js +0 -396
  811. package/vendor/translators_CN/README.md +0 -42
  812. package/vendor/translators_CN/RHHZ.js +0 -383
  813. package/vendor/translators_CN/Rural Studies Database.js +0 -402
  814. package/vendor/translators_CN/SKCTK.js +0 -177
  815. package/vendor/translators_CN/Samson.js +0 -768
  816. package/vendor/translators_CN/SciEngine.js +0 -450
  817. package/vendor/translators_CN/Science Reading.js +0 -338
  818. package/vendor/translators_CN/Sina Weibo.js +0 -254
  819. package/vendor/translators_CN/Soopat.js +0 -427
  820. package/vendor/translators_CN/Spc.org.cn.js +0 -275
  821. package/vendor/translators_CN/Standard Full-text Database - NLC.js +0 -230
  822. package/vendor/translators_CN/SuperLib.js +0 -757
  823. package/vendor/translators_CN/TOAJ.js +0 -422
  824. package/vendor/translators_CN/Wanfang Data.js +0 -3433
  825. package/vendor/translators_CN/Wanfang Med.js +0 -671
  826. package/vendor/translators_CN/Web of Science Tagged.js +0 -1341
  827. package/vendor/translators_CN/Weixin.js +0 -130
  828. package/vendor/translators_CN/Wenjin.js +0 -492
  829. package/vendor/translators_CN/Xinhuanet.js +0 -283
  830. package/vendor/translators_CN/Yiigle.js +0 -394
  831. package/vendor/translators_CN/Zhihu.js +0 -530
  832. package/vendor/translators_CN/Zhihuiya.js +0 -246
  833. package/vendor/translators_CN/Zhizhen.js +0 -869
  834. package/vendor/translators_CN/chaoxingqikan.js +0 -360
  835. package/vendor/translators_CN/doc.taixueshu.js +0 -355
  836. package/vendor/translators_CN/dpaper.js +0 -183
  837. package/vendor/translators_CN/epaper.gmw.cn.js +0 -286
  838. package/vendor/translators_CN/flk.npc.gov.cn.js +0 -344
  839. package/vendor/translators_CN/gov.cn Policy.js +0 -559
  840. package/vendor/translators_CN/incoPat.js +0 -195
  841. package/vendor/translators_CN/pm.tsgyun.js +0 -177
  842. package/vendor/translators_CN/sanmin.com.tw.js +0 -327
  843. package/vendor/translators_CN/sharing.com.tw.js +0 -333
  844. package/vendor/translators_CN/stats.gov.cn.js +0 -170
  845. package/vendor/translators_CN/xiaoyuzhoufm.js +0 -162
  846. package/vendor/translators_CN/zhangqiaokeyan.js +0 -1130
  847. package/vendor/zotero/README.md +0 -120
  848. package/vendor/zotero/config/custom-environment-variables.json +0 -3
  849. package/vendor/zotero/config/default.json5 +0 -16
  850. package/vendor/zotero/config/production.json5 +0 -7
  851. package/vendor/zotero/config/test.json5 +0 -4
  852. package/vendor/zotero/modules/translate/README.md +0 -43
  853. package/vendor/zotero/modules/translate/src/debug.js +0 -186
  854. package/vendor/zotero/modules/translate/src/http.js +0 -158
  855. package/vendor/zotero/modules/translate/src/promise.js +0 -73
  856. package/vendor/zotero/modules/translate/src/proxy.js +0 -354
  857. package/vendor/zotero/modules/translate/src/rdf/identity.js +0 -503
  858. package/vendor/zotero/modules/translate/src/rdf/init.js +0 -56
  859. package/vendor/zotero/modules/translate/src/rdf/n3parser.js +0 -1392
  860. package/vendor/zotero/modules/translate/src/rdf/rdfparser.js +0 -578
  861. package/vendor/zotero/modules/translate/src/rdf/serialize.js +0 -886
  862. package/vendor/zotero/modules/translate/src/rdf/term.js +0 -524
  863. package/vendor/zotero/modules/translate/src/rdf/uri.js +0 -147
  864. package/vendor/zotero/modules/translate/src/repo.js +0 -80
  865. package/vendor/zotero/modules/translate/src/tlds.js +0 -274
  866. package/vendor/zotero/modules/translate/src/translation/sandboxManager.js +0 -112
  867. package/vendor/zotero/modules/translate/src/translation/translate.js +0 -3283
  868. package/vendor/zotero/modules/translate/src/translation/translate_item.js +0 -120
  869. package/vendor/zotero/modules/translate/src/translator.js +0 -186
  870. package/vendor/zotero/modules/translate/src/translators.js +0 -174
  871. package/vendor/zotero/modules/translate/src/utilities_translate.js +0 -487
  872. package/vendor/zotero/modules/translate/src/zotero.js +0 -94
  873. package/vendor/zotero/modules/translators/A Contra Corriente.js +0 -206
  874. package/vendor/zotero/modules/translators/ABC News Australia.js +0 -224
  875. package/vendor/zotero/modules/translators/ACLS Humanities EBook.js +0 -165
  876. package/vendor/zotero/modules/translators/ACLWeb.js +0 -600
  877. package/vendor/zotero/modules/translators/ACM Digital Library.js +0 -710
  878. package/vendor/zotero/modules/translators/ACS Publications.js +0 -633
  879. package/vendor/zotero/modules/translators/ADS Bibcode.js +0 -664
  880. package/vendor/zotero/modules/translators/AEA Web.js +0 -450
  881. package/vendor/zotero/modules/translators/AGRIS.js +0 -311
  882. package/vendor/zotero/modules/translators/AIP.js +0 -295
  883. package/vendor/zotero/modules/translators/AMS Journals.js +0 -136
  884. package/vendor/zotero/modules/translators/AMS MathSciNet (Legacy).js +0 -313
  885. package/vendor/zotero/modules/translators/AMS MathSciNet.js +0 -288
  886. package/vendor/zotero/modules/translators/APA PsycNET.js +0 -915
  887. package/vendor/zotero/modules/translators/APN.ru.js +0 -132
  888. package/vendor/zotero/modules/translators/APS-Physics.js +0 -204
  889. package/vendor/zotero/modules/translators/APS.js +0 -542
  890. package/vendor/zotero/modules/translators/ARTFL Encyclopedie.js +0 -283
  891. package/vendor/zotero/modules/translators/ARTnews.js +0 -155
  892. package/vendor/zotero/modules/translators/ARTstor.js +0 -619
  893. package/vendor/zotero/modules/translators/ASCE.js +0 -199
  894. package/vendor/zotero/modules/translators/ASCO Meeting Library.js +0 -153
  895. package/vendor/zotero/modules/translators/ASTIS.js +0 -337
  896. package/vendor/zotero/modules/translators/ATS International Journal.js +0 -290
  897. package/vendor/zotero/modules/translators/Access Engineering.js +0 -384
  898. package/vendor/zotero/modules/translators/Access Medicine.js +0 -343
  899. package/vendor/zotero/modules/translators/Access Science.js +0 -391
  900. package/vendor/zotero/modules/translators/Adam Matthew Digital.js +0 -405
  901. package/vendor/zotero/modules/translators/Agencia del ISBN.js +0 -77
  902. package/vendor/zotero/modules/translators/Ahval News.js +0 -309
  903. package/vendor/zotero/modules/translators/Air University Journals.js +0 -236
  904. package/vendor/zotero/modules/translators/Airiti.js +0 -423
  905. package/vendor/zotero/modules/translators/Alexander Street Press.js +0 -198
  906. package/vendor/zotero/modules/translators/AllAfrica.js +0 -291
  907. package/vendor/zotero/modules/translators/Alsharekh.js +0 -242
  908. package/vendor/zotero/modules/translators/AlterNet.js +0 -134
  909. package/vendor/zotero/modules/translators/Aluka.js +0 -261
  910. package/vendor/zotero/modules/translators/Amazon.js +0 -1043
  911. package/vendor/zotero/modules/translators/American Archive of Public Broadcasting.js +0 -592
  912. package/vendor/zotero/modules/translators/American Institute of Aeronautics and Astronautics.js +0 -210
  913. package/vendor/zotero/modules/translators/American Prospect.js +0 -114
  914. package/vendor/zotero/modules/translators/Ancestry.com US Federal Census.js +0 -164
  915. package/vendor/zotero/modules/translators/Annual Reviews.js +0 -329
  916. package/vendor/zotero/modules/translators/Antikvarium.hu.js +0 -280
  917. package/vendor/zotero/modules/translators/AquaDocs.js +0 -390
  918. package/vendor/zotero/modules/translators/Archeion.js +0 -249
  919. package/vendor/zotero/modules/translators/Archiv fuer Sozialgeschichte.js +0 -157
  920. package/vendor/zotero/modules/translators/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +0 -179
  921. package/vendor/zotero/modules/translators/Archives Canada.js +0 -142
  922. package/vendor/zotero/modules/translators/Ariana News.js +0 -203
  923. package/vendor/zotero/modules/translators/Art Institute of Chicago.js +0 -279
  924. package/vendor/zotero/modules/translators/Artefacts Canada.js +0 -192
  925. package/vendor/zotero/modules/translators/Artforum.js +0 -438
  926. package/vendor/zotero/modules/translators/Atlanta Journal Constitution.js +0 -155
  927. package/vendor/zotero/modules/translators/Atlanta Journal-Constitution.js +0 -311
  928. package/vendor/zotero/modules/translators/Atypon Journals.js +0 -1204
  929. package/vendor/zotero/modules/translators/AustLII and NZLII.js +0 -604
  930. package/vendor/zotero/modules/translators/Australian Dictionary of Biography.js +0 -196
  931. package/vendor/zotero/modules/translators/BAILII.js +0 -176
  932. package/vendor/zotero/modules/translators/BBC Genome.js +0 -254
  933. package/vendor/zotero/modules/translators/BBC.js +0 -430
  934. package/vendor/zotero/modules/translators/BIBSYS.js +0 -112
  935. package/vendor/zotero/modules/translators/BOCC.js +0 -217
  936. package/vendor/zotero/modules/translators/BOE.js +0 -229
  937. package/vendor/zotero/modules/translators/BOFiP-Impots.js +0 -132
  938. package/vendor/zotero/modules/translators/Baidu Scholar.js +0 -276
  939. package/vendor/zotero/modules/translators/Bangkok Post.js +0 -216
  940. package/vendor/zotero/modules/translators/Baruch Foundation.js +0 -175
  941. package/vendor/zotero/modules/translators/Beobachter.js +0 -175
  942. package/vendor/zotero/modules/translators/Bezneng Gajit.js +0 -92
  943. package/vendor/zotero/modules/translators/BibLaTeX.js +0 -888
  944. package/vendor/zotero/modules/translators/BibTeX.js +0 -4236
  945. package/vendor/zotero/modules/translators/Biblio.com.js +0 -216
  946. package/vendor/zotero/modules/translators/Bibliontology RDF.js +0 -1166
  947. package/vendor/zotero/modules/translators/Biblioteca Nacional de Maestros.js +0 -213
  948. package/vendor/zotero/modules/translators/Bibliotheque et Archives Nationale du Quebec (Pistard).js +0 -147
  949. package/vendor/zotero/modules/translators/Bibliotheque et Archives Nationales du Quebec.js +0 -266
  950. package/vendor/zotero/modules/translators/Bibliotheque nationale de France.js +0 -872
  951. package/vendor/zotero/modules/translators/BioMed Central.js +0 -585
  952. package/vendor/zotero/modules/translators/BioOne.js +0 -233
  953. package/vendor/zotero/modules/translators/Bioconductor.js +0 -343
  954. package/vendor/zotero/modules/translators/Blaetter.js +0 -192
  955. package/vendor/zotero/modules/translators/Blogger.js +0 -244
  956. package/vendor/zotero/modules/translators/Bloomberg.js +0 -205
  957. package/vendor/zotero/modules/translators/Bloomsbury Food Library.js +0 -296
  958. package/vendor/zotero/modules/translators/Bluesky.js +0 -195
  959. package/vendor/zotero/modules/translators/BnF ISBN.js +0 -129
  960. package/vendor/zotero/modules/translators/Bookmarks.js +0 -282
  961. package/vendor/zotero/modules/translators/Bookshop.org.js +0 -223
  962. package/vendor/zotero/modules/translators/Boston Review.js +0 -332
  963. package/vendor/zotero/modules/translators/Bosworth Toller's Anglo-Saxon Dictionary Online.js +0 -496
  964. package/vendor/zotero/modules/translators/Bracero History Archive.js +0 -200
  965. package/vendor/zotero/modules/translators/Brill Journals.js +0 -168
  966. package/vendor/zotero/modules/translators/Brill.js +0 -434
  967. package/vendor/zotero/modules/translators/Brukerhandboken.js +0 -153
  968. package/vendor/zotero/modules/translators/Bryn Mawr Classical Review.js +0 -303
  969. package/vendor/zotero/modules/translators/Bundesgesetzblatt.js +0 -231
  970. package/vendor/zotero/modules/translators/Business Standard.js +0 -151
  971. package/vendor/zotero/modules/translators/CABI - CAB Abstracts.js +0 -317
  972. package/vendor/zotero/modules/translators/CAOD.js +0 -260
  973. package/vendor/zotero/modules/translators/CBC.js +0 -439
  974. package/vendor/zotero/modules/translators/CCfr (BnF).js +0 -162
  975. package/vendor/zotero/modules/translators/CERN Document Server.js +0 -277
  976. package/vendor/zotero/modules/translators/CEUR Workshop Proceedings.js +0 -145
  977. package/vendor/zotero/modules/translators/CFF References.js +0 -170
  978. package/vendor/zotero/modules/translators/CFF.js +0 -113
  979. package/vendor/zotero/modules/translators/CIA World Factbook.js +0 -128
  980. package/vendor/zotero/modules/translators/CLACSO.js +0 -226
  981. package/vendor/zotero/modules/translators/CLASE.js +0 -135
  982. package/vendor/zotero/modules/translators/CNKI.js +0 -731
  983. package/vendor/zotero/modules/translators/COBISS.js +0 -1945
  984. package/vendor/zotero/modules/translators/COinS.js +0 -336
  985. package/vendor/zotero/modules/translators/CQ Press.js +0 -418
  986. package/vendor/zotero/modules/translators/CROSBI.js +0 -227
  987. package/vendor/zotero/modules/translators/CSIRO Publishing.js +0 -139
  988. package/vendor/zotero/modules/translators/CSL JSON.js +0 -203
  989. package/vendor/zotero/modules/translators/CSV.js +0 -294
  990. package/vendor/zotero/modules/translators/Cairn.info.js +0 -368
  991. package/vendor/zotero/modules/translators/CalMatters.js +0 -228
  992. package/vendor/zotero/modules/translators/Calisphere.js +0 -355
  993. package/vendor/zotero/modules/translators/Camara Brasileira do Livro ISBN.js +0 -842
  994. package/vendor/zotero/modules/translators/Cambridge Core.js +0 -580
  995. package/vendor/zotero/modules/translators/Cambridge Engage Preprints.js +0 -276
  996. package/vendor/zotero/modules/translators/CanLII.js +0 -284
  997. package/vendor/zotero/modules/translators/Canada.com.js +0 -171
  998. package/vendor/zotero/modules/translators/Canadian Letters and Images.js +0 -148
  999. package/vendor/zotero/modules/translators/Canadiana.ca.js +0 -196
  1000. package/vendor/zotero/modules/translators/Cascadilla Proceedings Project.js +0 -390
  1001. package/vendor/zotero/modules/translators/Cell Press.js +0 -516
  1002. package/vendor/zotero/modules/translators/Central and Eastern European Online Library Journals.js +0 -313
  1003. package/vendor/zotero/modules/translators/Champlain Society - Collection.js +0 -220
  1004. package/vendor/zotero/modules/translators/Chicago Journal of Theoretical Computer Science.js +0 -203
  1005. package/vendor/zotero/modules/translators/Christian Science Monitor.js +0 -148
  1006. package/vendor/zotero/modules/translators/Chronicling America.js +0 -131
  1007. package/vendor/zotero/modules/translators/CiNii Research.js +0 -168
  1008. package/vendor/zotero/modules/translators/Citavi 5 XML.js +0 -516
  1009. package/vendor/zotero/modules/translators/CiteSeer.js +0 -196
  1010. package/vendor/zotero/modules/translators/CiteULike.js +0 -170
  1011. package/vendor/zotero/modules/translators/Citizen Lab.js +0 -347
  1012. package/vendor/zotero/modules/translators/Civilization.ca.js +0 -146
  1013. package/vendor/zotero/modules/translators/Climate Change and Human Health Literature Portal.js +0 -283
  1014. package/vendor/zotero/modules/translators/Clinical Key.js +0 -367
  1015. package/vendor/zotero/modules/translators/Code4Lib Journal.js +0 -143
  1016. package/vendor/zotero/modules/translators/Colorado State Legislature.js +0 -215
  1017. package/vendor/zotero/modules/translators/Columbia University Press.js +0 -238
  1018. package/vendor/zotero/modules/translators/Common-Place.js +0 -218
  1019. package/vendor/zotero/modules/translators/Computer History Museum Archive.js +0 -1319
  1020. package/vendor/zotero/modules/translators/Copernicus.js +0 -461
  1021. package/vendor/zotero/modules/translators/Cornell LII.js +0 -252
  1022. package/vendor/zotero/modules/translators/Cornell University Press.js +0 -235
  1023. package/vendor/zotero/modules/translators/CourtListener.js +0 -265
  1024. package/vendor/zotero/modules/translators/CrossRef.js +0 -486
  1025. package/vendor/zotero/modules/translators/Crossref REST.js +0 -1757
  1026. package/vendor/zotero/modules/translators/Crossref Unixref XML.js +0 -965
  1027. package/vendor/zotero/modules/translators/Current Affairs.js +0 -160
  1028. package/vendor/zotero/modules/translators/Cyberpresse.js +0 -131
  1029. package/vendor/zotero/modules/translators/DABI.js +0 -476
  1030. package/vendor/zotero/modules/translators/DAI-Zenon.js +0 -392
  1031. package/vendor/zotero/modules/translators/DART-Europe.js +0 -176
  1032. package/vendor/zotero/modules/translators/DBLP Computer Science Bibliography.js +0 -462
  1033. package/vendor/zotero/modules/translators/DBpia.js +0 -233
  1034. package/vendor/zotero/modules/translators/DEPATISnet.js +0 -373
  1035. package/vendor/zotero/modules/translators/DOAJ.js +0 -243
  1036. package/vendor/zotero/modules/translators/DOI Content Negotiation.js +0 -352
  1037. package/vendor/zotero/modules/translators/DOI.js +0 -322
  1038. package/vendor/zotero/modules/translators/DPLA.js +0 -425
  1039. package/vendor/zotero/modules/translators/DSpace Intermediate Metadata.js +0 -208
  1040. package/vendor/zotero/modules/translators/DTU Orbit.js +0 -155
  1041. package/vendor/zotero/modules/translators/Dagens Nyheter.js +0 -369
  1042. package/vendor/zotero/modules/translators/Dagstuhl Research Online Publication Server.js +0 -276
  1043. package/vendor/zotero/modules/translators/Dar Almandumah.js +0 -253
  1044. package/vendor/zotero/modules/translators/Data.gov.js +0 -225
  1045. package/vendor/zotero/modules/translators/DataCite.js +0 -125
  1046. package/vendor/zotero/modules/translators/Databrary.js +0 -184
  1047. package/vendor/zotero/modules/translators/Datacite JSON.js +0 -1182
  1048. package/vendor/zotero/modules/translators/Dataverse.js +0 -418
  1049. package/vendor/zotero/modules/translators/Daum News.js +0 -139
  1050. package/vendor/zotero/modules/translators/De Gruyter Brill.js +0 -674
  1051. package/vendor/zotero/modules/translators/DeGruyter.js +0 -457
  1052. package/vendor/zotero/modules/translators/Defense Technical Information Center.js +0 -146
  1053. package/vendor/zotero/modules/translators/Delpher.js +0 -413
  1054. package/vendor/zotero/modules/translators/Demographic Research.js +0 -164
  1055. package/vendor/zotero/modules/translators/Denik CZ.js +0 -273
  1056. package/vendor/zotero/modules/translators/Der Freitag.js +0 -236
  1057. package/vendor/zotero/modules/translators/Der Spiegel.js +0 -479
  1058. package/vendor/zotero/modules/translators/Desiring God.js +0 -216
  1059. package/vendor/zotero/modules/translators/Deutsche Fotothek.js +0 -364
  1060. package/vendor/zotero/modules/translators/Deutsche Nationalbibliothek.js +0 -594
  1061. package/vendor/zotero/modules/translators/Dialnet.js +0 -258
  1062. package/vendor/zotero/modules/translators/Die Zeit.js +0 -378
  1063. package/vendor/zotero/modules/translators/DigiZeitschriften.js +0 -269
  1064. package/vendor/zotero/modules/translators/Digital Humanities Quarterly.js +0 -207
  1065. package/vendor/zotero/modules/translators/Digital Medievalist.js +0 -149
  1066. package/vendor/zotero/modules/translators/Digital Spy.js +0 -215
  1067. package/vendor/zotero/modules/translators/Dimensions.js +0 -233
  1068. package/vendor/zotero/modules/translators/Douban.js +0 -316
  1069. package/vendor/zotero/modules/translators/Dreier Neuerscheinungsdienst.js +0 -209
  1070. package/vendor/zotero/modules/translators/DrugBank.ca.js +0 -209
  1071. package/vendor/zotero/modules/translators/Dryad Digital Repository.js +0 -323
  1072. package/vendor/zotero/modules/translators/Duke University Press Books.js +0 -250
  1073. package/vendor/zotero/modules/translators/E-periodica Switzerland.js +0 -347
  1074. package/vendor/zotero/modules/translators/EBSCO Discovery Layer.js +0 -147
  1075. package/vendor/zotero/modules/translators/EBSCOhost.js +0 -592
  1076. package/vendor/zotero/modules/translators/EIDR.js +0 -184
  1077. package/vendor/zotero/modules/translators/EPA National Library Catalog.js +0 -245
  1078. package/vendor/zotero/modules/translators/ERIC.js +0 -986
  1079. package/vendor/zotero/modules/translators/ESpacenet.js +0 -465
  1080. package/vendor/zotero/modules/translators/EUR-Lex.js +0 -423
  1081. package/vendor/zotero/modules/translators/Eastview.js +0 -336
  1082. package/vendor/zotero/modules/translators/Edinburgh University Press Journals.js +0 -178
  1083. package/vendor/zotero/modules/translators/Education Week.js +0 -197
  1084. package/vendor/zotero/modules/translators/El Comercio (Peru).js +0 -347
  1085. package/vendor/zotero/modules/translators/El Pais.js +0 -262
  1086. package/vendor/zotero/modules/translators/Electronic Colloquium on Computational Complexity.js +0 -230
  1087. package/vendor/zotero/modules/translators/Elicit.js +0 -120
  1088. package/vendor/zotero/modules/translators/Elsevier Health Journals.js +0 -531
  1089. package/vendor/zotero/modules/translators/Elsevier Pure.js +0 -420
  1090. package/vendor/zotero/modules/translators/Embedded Metadata.js +0 -1951
  1091. package/vendor/zotero/modules/translators/Emerald Insight.js +0 -626
  1092. package/vendor/zotero/modules/translators/Encyclopedia of Chicago.js +0 -162
  1093. package/vendor/zotero/modules/translators/Encyclopedia of Korean Culture.js +0 -221
  1094. package/vendor/zotero/modules/translators/Endnote XML.js +0 -1407
  1095. package/vendor/zotero/modules/translators/Engineering Village.js +0 -139
  1096. package/vendor/zotero/modules/translators/Envidat.js +0 -331
  1097. package/vendor/zotero/modules/translators/Epicurious.js +0 -144
  1098. package/vendor/zotero/modules/translators/Erudit.js +0 -272
  1099. package/vendor/zotero/modules/translators/Euclid.js +0 -220
  1100. package/vendor/zotero/modules/translators/EurasiaNet.js +0 -109
  1101. package/vendor/zotero/modules/translators/Eurogamer.js +0 -112
  1102. package/vendor/zotero/modules/translators/EurogamerUSgamer.js +0 -380
  1103. package/vendor/zotero/modules/translators/Europe PMC.js +0 -448
  1104. package/vendor/zotero/modules/translators/Evernote.js +0 -104
  1105. package/vendor/zotero/modules/translators/F1000 Research.js +0 -655
  1106. package/vendor/zotero/modules/translators/FAO Publications.js +0 -1139
  1107. package/vendor/zotero/modules/translators/FAZ.NET.js +0 -231
  1108. package/vendor/zotero/modules/translators/Fachportal Padagogik.js +0 -839
  1109. package/vendor/zotero/modules/translators/Factiva.js +0 -302
  1110. package/vendor/zotero/modules/translators/Failed Architecture.js +0 -114
  1111. package/vendor/zotero/modules/translators/Fairfax Australia.js +0 -200
  1112. package/vendor/zotero/modules/translators/Fatcat.js +0 -425
  1113. package/vendor/zotero/modules/translators/Figshare.js +0 -191
  1114. package/vendor/zotero/modules/translators/Financial Times.js +0 -187
  1115. package/vendor/zotero/modules/translators/Finna.js +0 -357
  1116. package/vendor/zotero/modules/translators/Flickr.js +0 -318
  1117. package/vendor/zotero/modules/translators/Foreign Affairs.js +0 -485
  1118. package/vendor/zotero/modules/translators/Foreign Policy.js +0 -146
  1119. package/vendor/zotero/modules/translators/FreeCite.js +0 -95
  1120. package/vendor/zotero/modules/translators/FreePatentsOnline.js +0 -265
  1121. package/vendor/zotero/modules/translators/Frieze.js +0 -243
  1122. package/vendor/zotero/modules/translators/Frontiers.js +0 -667
  1123. package/vendor/zotero/modules/translators/GMS German Medical Science.js +0 -319
  1124. package/vendor/zotero/modules/translators/GPO Access e-CFR.js +0 -134
  1125. package/vendor/zotero/modules/translators/Gale Databases.js +0 -324
  1126. package/vendor/zotero/modules/translators/GaleGDC.js +0 -189
  1127. package/vendor/zotero/modules/translators/Galegroup.js +0 -327
  1128. package/vendor/zotero/modules/translators/Gallica.js +0 -194
  1129. package/vendor/zotero/modules/translators/Game Studies.js +0 -155
  1130. package/vendor/zotero/modules/translators/GameSpot.js +0 -199
  1131. package/vendor/zotero/modules/translators/GameStar GamePro.js +0 -198
  1132. package/vendor/zotero/modules/translators/Gasyrlar Awazy.js +0 -156
  1133. package/vendor/zotero/modules/translators/Gemeinsamer Bibliotheksverbund ISBN.js +0 -23
  1134. package/vendor/zotero/modules/translators/Gene Ontology.js +0 -128
  1135. package/vendor/zotero/modules/translators/Github.js +0 -268
  1136. package/vendor/zotero/modules/translators/Globes.js +0 -243
  1137. package/vendor/zotero/modules/translators/Gmail.js +0 -64
  1138. package/vendor/zotero/modules/translators/Goodreads.js +0 -219
  1139. package/vendor/zotero/modules/translators/Google Books.js +0 -552
  1140. package/vendor/zotero/modules/translators/Google Patents.js +0 -959
  1141. package/vendor/zotero/modules/translators/Google Play.js +0 -186
  1142. package/vendor/zotero/modules/translators/Google Presentation.js +0 -104
  1143. package/vendor/zotero/modules/translators/Google Research.js +0 -221
  1144. package/vendor/zotero/modules/translators/Google Scholar.js +0 -1361
  1145. package/vendor/zotero/modules/translators/Gulag Many Days, Many Lives.js +0 -179
  1146. package/vendor/zotero/modules/translators/HAL Archives Ouvertes.js +0 -429
  1147. package/vendor/zotero/modules/translators/HCSP.js +0 -312
  1148. package/vendor/zotero/modules/translators/HUDOC.js +0 -650
  1149. package/vendor/zotero/modules/translators/Haaretz.js +0 -562
  1150. package/vendor/zotero/modules/translators/Habr.js +0 -232
  1151. package/vendor/zotero/modules/translators/Handelszeitung.js +0 -273
  1152. package/vendor/zotero/modules/translators/Hanrei Watch.js +0 -123
  1153. package/vendor/zotero/modules/translators/Harper's Magazine.js +0 -365
  1154. package/vendor/zotero/modules/translators/Harpers.js +0 -209
  1155. package/vendor/zotero/modules/translators/Harvard Business Review.js +0 -326
  1156. package/vendor/zotero/modules/translators/Harvard Caselaw Access Project.js +0 -244
  1157. package/vendor/zotero/modules/translators/Harvard University Press Books.js +0 -286
  1158. package/vendor/zotero/modules/translators/Hathi Trust.js +0 -164
  1159. package/vendor/zotero/modules/translators/HathiTrust.js +0 -311
  1160. package/vendor/zotero/modules/translators/HeinOnline.js +0 -266
  1161. package/vendor/zotero/modules/translators/Heise.js +0 -200
  1162. package/vendor/zotero/modules/translators/Herder.js +0 -236
  1163. package/vendor/zotero/modules/translators/HighBeam.js +0 -198
  1164. package/vendor/zotero/modules/translators/HighWire 2.0.js +0 -1355
  1165. package/vendor/zotero/modules/translators/HighWire.js +0 -209
  1166. package/vendor/zotero/modules/translators/Hindawi Publishers.js +0 -177
  1167. package/vendor/zotero/modules/translators/Hispanic-American Periodical Index.js +0 -236
  1168. package/vendor/zotero/modules/translators/Homeland Security Digital Library.js +0 -426
  1169. package/vendor/zotero/modules/translators/Hoovers.js +0 -89
  1170. package/vendor/zotero/modules/translators/Huff Post.js +0 -223
  1171. package/vendor/zotero/modules/translators/Human Rights Watch.js +0 -450
  1172. package/vendor/zotero/modules/translators/IBISWorld.js +0 -171
  1173. package/vendor/zotero/modules/translators/IDEA ALM.js +0 -536
  1174. package/vendor/zotero/modules/translators/IEEE Computer Society.js +0 -429
  1175. package/vendor/zotero/modules/translators/IEEE Xplore.js +0 -1000
  1176. package/vendor/zotero/modules/translators/IETF.js +0 -451
  1177. package/vendor/zotero/modules/translators/IGN.js +0 -136
  1178. package/vendor/zotero/modules/translators/IMDb.js +0 -566
  1179. package/vendor/zotero/modules/translators/INSPIRE.js +0 -247
  1180. package/vendor/zotero/modules/translators/IPCC.js +0 -757
  1181. package/vendor/zotero/modules/translators/ISTC.js +0 -181
  1182. package/vendor/zotero/modules/translators/Idref.js +0 -179
  1183. package/vendor/zotero/modules/translators/In These Times.js +0 -196
  1184. package/vendor/zotero/modules/translators/InfoTrac.js +0 -279
  1185. package/vendor/zotero/modules/translators/Informationssystem Medienpaedagogik.js +0 -305
  1186. package/vendor/zotero/modules/translators/IngentaConnect.js +0 -312
  1187. package/vendor/zotero/modules/translators/Inside Higher Ed.js +0 -167
  1188. package/vendor/zotero/modules/translators/Insignia OPAC.js +0 -114
  1189. package/vendor/zotero/modules/translators/Institute of Contemporary Art.js +0 -180
  1190. package/vendor/zotero/modules/translators/Institute of Physics.js +0 -340
  1191. package/vendor/zotero/modules/translators/Integrum.js +0 -173
  1192. package/vendor/zotero/modules/translators/Intellixir.js +0 -264
  1193. package/vendor/zotero/modules/translators/Inter-Research Science Center.js +0 -185
  1194. package/vendor/zotero/modules/translators/International Nuclear Information System.js +0 -285
  1195. package/vendor/zotero/modules/translators/Internet Archive Scholar.js +0 -106
  1196. package/vendor/zotero/modules/translators/Internet Archive Wayback Machine.js +0 -152
  1197. package/vendor/zotero/modules/translators/Internet Archive.js +0 -552
  1198. package/vendor/zotero/modules/translators/InvenioRDM.js +0 -1260
  1199. package/vendor/zotero/modules/translators/Isidore.js +0 -235
  1200. package/vendor/zotero/modules/translators/J-Stage.js +0 -272
  1201. package/vendor/zotero/modules/translators/JETS.js +0 -122
  1202. package/vendor/zotero/modules/translators/JISC Historical Texts.js +0 -273
  1203. package/vendor/zotero/modules/translators/JRC Publications Repository.js +0 -569
  1204. package/vendor/zotero/modules/translators/JSTOR.js +0 -821
  1205. package/vendor/zotero/modules/translators/Jahrbuch.js +0 -213
  1206. package/vendor/zotero/modules/translators/Japan Times Online.js +0 -138
  1207. package/vendor/zotero/modules/translators/Journal of Electronic Publishing.js +0 -147
  1208. package/vendor/zotero/modules/translators/Journal of Extension.js +0 -288
  1209. package/vendor/zotero/modules/translators/Journal of Machine Learning Research.js +0 -441
  1210. package/vendor/zotero/modules/translators/Journal of Religion and Society.js +0 -174
  1211. package/vendor/zotero/modules/translators/JurPC.js +0 -274
  1212. package/vendor/zotero/modules/translators/Juricaf.js +0 -141
  1213. package/vendor/zotero/modules/translators/Juris.js +0 -728
  1214. package/vendor/zotero/modules/translators/K10plus ISBN.js +0 -386
  1215. package/vendor/zotero/modules/translators/KStudy.js +0 -632
  1216. package/vendor/zotero/modules/translators/Kanopy.js +0 -358
  1217. package/vendor/zotero/modules/translators/Khaama Press.js +0 -249
  1218. package/vendor/zotero/modules/translators/KitapYurdu.com.js +0 -376
  1219. package/vendor/zotero/modules/translators/Kommersant.js +0 -174
  1220. package/vendor/zotero/modules/translators/Korean National Library.js +0 -621
  1221. package/vendor/zotero/modules/translators/L'Annee Philologique.js +0 -267
  1222. package/vendor/zotero/modules/translators/LA Times.js +0 -239
  1223. package/vendor/zotero/modules/translators/LIBRIS ISBN.js +0 -103
  1224. package/vendor/zotero/modules/translators/LIVIVO.js +0 -260
  1225. package/vendor/zotero/modules/translators/LWN.net.js +0 -350
  1226. package/vendor/zotero/modules/translators/La Croix.js +0 -237
  1227. package/vendor/zotero/modules/translators/La Nacion (Argentina).js +0 -231
  1228. package/vendor/zotero/modules/translators/La Presse.js +0 -218
  1229. package/vendor/zotero/modules/translators/La Republica (Peru).js +0 -174
  1230. package/vendor/zotero/modules/translators/Lagen.nu.js +0 -214
  1231. package/vendor/zotero/modules/translators/Landesbibliographie Baden-Wurttemberg.js +0 -324
  1232. package/vendor/zotero/modules/translators/Lapham's Quarterly.js +0 -1062
  1233. package/vendor/zotero/modules/translators/Le Devoir.js +0 -167
  1234. package/vendor/zotero/modules/translators/Le Figaro.js +0 -225
  1235. package/vendor/zotero/modules/translators/Le Maitron.js +0 -484
  1236. package/vendor/zotero/modules/translators/Le Monde.js +0 -258
  1237. package/vendor/zotero/modules/translators/Le monde diplomatique.js +0 -200
  1238. package/vendor/zotero/modules/translators/Legifrance.js +0 -641
  1239. package/vendor/zotero/modules/translators/Legislative Insight.js +0 -406
  1240. package/vendor/zotero/modules/translators/Lexis+.js +0 -264
  1241. package/vendor/zotero/modules/translators/LexisNexis.js +0 -505
  1242. package/vendor/zotero/modules/translators/Libraries Tasmania.js +0 -778
  1243. package/vendor/zotero/modules/translators/Library Catalog (Aleph).js +0 -385
  1244. package/vendor/zotero/modules/translators/Library Catalog (Amicus).js +0 -254
  1245. package/vendor/zotero/modules/translators/Library Catalog (Aquabrowser).js +0 -253
  1246. package/vendor/zotero/modules/translators/Library Catalog (BiblioCommons).js +0 -249
  1247. package/vendor/zotero/modules/translators/Library Catalog (Blacklight).js +0 -341
  1248. package/vendor/zotero/modules/translators/Library Catalog (Capita Prism).js +0 -162
  1249. package/vendor/zotero/modules/translators/Library Catalog (DRA).js +0 -203
  1250. package/vendor/zotero/modules/translators/Library Catalog (Dynix).js +0 -315
  1251. package/vendor/zotero/modules/translators/Library Catalog (EBSCO Locate).js +0 -349
  1252. package/vendor/zotero/modules/translators/Library Catalog (Encore).js +0 -211
  1253. package/vendor/zotero/modules/translators/Library Catalog (GEAC).js +0 -104
  1254. package/vendor/zotero/modules/translators/Library Catalog (InnoPAC).js +0 -305
  1255. package/vendor/zotero/modules/translators/Library Catalog (Koha).js +0 -225
  1256. package/vendor/zotero/modules/translators/Library Catalog (Mango).js +0 -285
  1257. package/vendor/zotero/modules/translators/Library Catalog (OPALS).js +0 -200
  1258. package/vendor/zotero/modules/translators/Library Catalog (PICA).js +0 -2120
  1259. package/vendor/zotero/modules/translators/Library Catalog (PICA2).js +0 -331
  1260. package/vendor/zotero/modules/translators/Library Catalog (Pika).js +0 -488
  1261. package/vendor/zotero/modules/translators/Library Catalog (Polaris).js +0 -183
  1262. package/vendor/zotero/modules/translators/Library Catalog (Quolto).js +0 -320
  1263. package/vendor/zotero/modules/translators/Library Catalog (RERO ILS).js +0 -754
  1264. package/vendor/zotero/modules/translators/Library Catalog (SIRSI eLibrary).js +0 -407
  1265. package/vendor/zotero/modules/translators/Library Catalog (SIRSI).js +0 -452
  1266. package/vendor/zotero/modules/translators/Library Catalog (SLIMS).js +0 -146
  1267. package/vendor/zotero/modules/translators/Library Catalog (TIND ILS).js +0 -773
  1268. package/vendor/zotero/modules/translators/Library Catalog (TLCYouSeeMore).js +0 -132
  1269. package/vendor/zotero/modules/translators/Library Catalog (TinREAD).js +0 -277
  1270. package/vendor/zotero/modules/translators/Library Catalog (VTLS).js +0 -125
  1271. package/vendor/zotero/modules/translators/Library Catalog (Visual Library 2021).js +0 -765
  1272. package/vendor/zotero/modules/translators/Library Catalog (Voyager 7).js +0 -199
  1273. package/vendor/zotero/modules/translators/Library Catalog (Voyager).js +0 -212
  1274. package/vendor/zotero/modules/translators/Library Genesis.js +0 -337
  1275. package/vendor/zotero/modules/translators/Library Hub Discover.js +0 -359
  1276. package/vendor/zotero/modules/translators/Library of Congress Digital Collections.js +0 -869
  1277. package/vendor/zotero/modules/translators/Library of Congress ISBN.js +0 -86
  1278. package/vendor/zotero/modules/translators/LingBuzz.js +0 -359
  1279. package/vendor/zotero/modules/translators/Lippincott Williams and Wilkins.js +0 -341
  1280. package/vendor/zotero/modules/translators/Literary Hub.js +0 -950
  1281. package/vendor/zotero/modules/translators/Litres.js +0 -236
  1282. package/vendor/zotero/modules/translators/LiveJournal.js +0 -219
  1283. package/vendor/zotero/modules/translators/London Review of Books.js +0 -291
  1284. package/vendor/zotero/modules/translators/LookUs.js +0 -260
  1285. package/vendor/zotero/modules/translators/Lulu.js +0 -264
  1286. package/vendor/zotero/modules/translators/MAB2.js +0 -373
  1287. package/vendor/zotero/modules/translators/MARC.js +0 -1080
  1288. package/vendor/zotero/modules/translators/MARCXML.js +0 -489
  1289. package/vendor/zotero/modules/translators/MCV.js +0 -258
  1290. package/vendor/zotero/modules/translators/MDPI Journals.js +0 -356
  1291. package/vendor/zotero/modules/translators/MEDLINEnbib.js +0 -1561
  1292. package/vendor/zotero/modules/translators/METS.js +0 -384
  1293. package/vendor/zotero/modules/translators/MIDAS Journals.js +0 -343
  1294. package/vendor/zotero/modules/translators/MIT Press Books.js +0 -637
  1295. package/vendor/zotero/modules/translators/MIT Press Journals.js +0 -176
  1296. package/vendor/zotero/modules/translators/MODS.js +0 -2545
  1297. package/vendor/zotero/modules/translators/MPG PuRe.js +0 -541
  1298. package/vendor/zotero/modules/translators/Mailman.js +0 -136
  1299. package/vendor/zotero/modules/translators/Mainichi Daily News.js +0 -189
  1300. package/vendor/zotero/modules/translators/Mastodon.js +0 -198
  1301. package/vendor/zotero/modules/translators/Matbugat.ru.js +0 -110
  1302. package/vendor/zotero/modules/translators/Max Planck Institute for the History of Science Virtual Laboratory Library.js +0 -136
  1303. package/vendor/zotero/modules/translators/Medium.js +0 -208
  1304. package/vendor/zotero/modules/translators/MetaLib.js +0 -126
  1305. package/vendor/zotero/modules/translators/Microbiology Society Journals.js +0 -343
  1306. package/vendor/zotero/modules/translators/Microsoft Academic.js +0 -424
  1307. package/vendor/zotero/modules/translators/Mikromarc.js +0 -207
  1308. package/vendor/zotero/modules/translators/Milli Kutuphane.js +0 -244
  1309. package/vendor/zotero/modules/translators/Musee du Louvre.js +0 -265
  1310. package/vendor/zotero/modules/translators/NASA ADS.js +0 -889
  1311. package/vendor/zotero/modules/translators/NASA NTRS.js +0 -610
  1312. package/vendor/zotero/modules/translators/NCBI Nucleotide.js +0 -227
  1313. package/vendor/zotero/modules/translators/NPR.js +0 -341
  1314. package/vendor/zotero/modules/translators/NRC Research Press.js +0 -181
  1315. package/vendor/zotero/modules/translators/NRC.nl.js +0 -226
  1316. package/vendor/zotero/modules/translators/NTSB Accident Reports.js +0 -226
  1317. package/vendor/zotero/modules/translators/NYPL Menus.js +0 -275
  1318. package/vendor/zotero/modules/translators/NYPL Research Catalog.js +0 -458
  1319. package/vendor/zotero/modules/translators/NYTimes.com.js +0 -858
  1320. package/vendor/zotero/modules/translators/NZZ.ch.js +0 -272
  1321. package/vendor/zotero/modules/translators/Nagoya University OPAC.js +0 -336
  1322. package/vendor/zotero/modules/translators/National Academies Press.js +0 -243
  1323. package/vendor/zotero/modules/translators/National Agriculture Library.js +0 -524
  1324. package/vendor/zotero/modules/translators/National Archive of the UK.js +0 -237
  1325. package/vendor/zotero/modules/translators/National Archives of Australia.js +0 -522
  1326. package/vendor/zotero/modules/translators/National Archives of South Africa.js +0 -122
  1327. package/vendor/zotero/modules/translators/National Archives of the United States.js +0 -278
  1328. package/vendor/zotero/modules/translators/National Bureau of Economic Research.js +0 -363
  1329. package/vendor/zotero/modules/translators/National Diet Library Catalogue.js +0 -333
  1330. package/vendor/zotero/modules/translators/National Gallery of Art - USA.js +0 -149
  1331. package/vendor/zotero/modules/translators/National Gallery of Australia.js +0 -252
  1332. package/vendor/zotero/modules/translators/National Library of Australia (new catalog).js +0 -223
  1333. package/vendor/zotero/modules/translators/National Library of Belarus.js +0 -171
  1334. package/vendor/zotero/modules/translators/National Library of Norway.js +0 -310
  1335. package/vendor/zotero/modules/translators/National Library of Poland ISBN.js +0 -140
  1336. package/vendor/zotero/modules/translators/National Post.js +0 -186
  1337. package/vendor/zotero/modules/translators/National Technical Reports Library.js +0 -276
  1338. package/vendor/zotero/modules/translators/National Transportation Library ROSA P.js +0 -562
  1339. package/vendor/zotero/modules/translators/Nature Publishing Group.js +0 -3394
  1340. package/vendor/zotero/modules/translators/Neural Information Processing Systems.js +0 -385
  1341. package/vendor/zotero/modules/translators/New Left Review.js +0 -245
  1342. package/vendor/zotero/modules/translators/New Zealand Herald.js +0 -282
  1343. package/vendor/zotero/modules/translators/Newlines Magazine.js +0 -190
  1344. package/vendor/zotero/modules/translators/News Corp Australia.js +0 -251
  1345. package/vendor/zotero/modules/translators/NewsBank.js +0 -202
  1346. package/vendor/zotero/modules/translators/NewsnetTamedia.js +0 -509
  1347. package/vendor/zotero/modules/translators/Noor Digital Library.js +0 -267
  1348. package/vendor/zotero/modules/translators/Note HTML.js +0 -206
  1349. package/vendor/zotero/modules/translators/Note Markdown.js +0 -1638
  1350. package/vendor/zotero/modules/translators/Notre Dame Philosophical Reviews.js +0 -201
  1351. package/vendor/zotero/modules/translators/Nuclear Receptor Signaling.js +0 -241
  1352. package/vendor/zotero/modules/translators/OAPEN.js +0 -331
  1353. package/vendor/zotero/modules/translators/OECD.js +0 -216
  1354. package/vendor/zotero/modules/translators/ORCID.js +0 -104
  1355. package/vendor/zotero/modules/translators/OSF Preprints.js +0 -417
  1356. package/vendor/zotero/modules/translators/OSTI Energy Citations.js +0 -202
  1357. package/vendor/zotero/modules/translators/OVID Tagged.js +0 -1226
  1358. package/vendor/zotero/modules/translators/OZON.ru.js +0 -465
  1359. package/vendor/zotero/modules/translators/OhioLINK.js +0 -43
  1360. package/vendor/zotero/modules/translators/Old Bailey Online.js +0 -315
  1361. package/vendor/zotero/modules/translators/Open Conf.js +0 -172
  1362. package/vendor/zotero/modules/translators/Open Journal Systems.js +0 -729
  1363. package/vendor/zotero/modules/translators/Open Knowledge Repository.js +0 -811
  1364. package/vendor/zotero/modules/translators/OpenAlex JSON.js +0 -740
  1365. package/vendor/zotero/modules/translators/OpenAlex.js +0 -444
  1366. package/vendor/zotero/modules/translators/OpenEdition Books.js +0 -155
  1367. package/vendor/zotero/modules/translators/OpenEdition Journals.js +0 -432
  1368. package/vendor/zotero/modules/translators/Optical Society of America.js +0 -562
  1369. package/vendor/zotero/modules/translators/Optimization Online.js +0 -418
  1370. package/vendor/zotero/modules/translators/Ovid OCE.js +0 -353
  1371. package/vendor/zotero/modules/translators/Ovid.js +0 -302
  1372. package/vendor/zotero/modules/translators/Oxford Dictionaries Premium.js +0 -194
  1373. package/vendor/zotero/modules/translators/Oxford English Dictionary.js +0 -122
  1374. package/vendor/zotero/modules/translators/Oxford Music and Art Online.js +0 -120
  1375. package/vendor/zotero/modules/translators/Oxford Reference.js +0 -202
  1376. package/vendor/zotero/modules/translators/Oxford University Press.js +0 -277
  1377. package/vendor/zotero/modules/translators/PC Gamer.js +0 -302
  1378. package/vendor/zotero/modules/translators/PC Games.js +0 -128
  1379. package/vendor/zotero/modules/translators/PEI Archival Information Network.js +0 -242
  1380. package/vendor/zotero/modules/translators/PEP Web.js +0 -165
  1381. package/vendor/zotero/modules/translators/PKP Catalog Systems.js +0 -1455
  1382. package/vendor/zotero/modules/translators/PLoS Journals.js +0 -284
  1383. package/vendor/zotero/modules/translators/PRC History Review.js +0 -298
  1384. package/vendor/zotero/modules/translators/Pajhwok Afghan News.js +0 -198
  1385. package/vendor/zotero/modules/translators/Papers Past.js +0 -297
  1386. package/vendor/zotero/modules/translators/Paris Review.js +0 -227
  1387. package/vendor/zotero/modules/translators/Pastebin.js +0 -199
  1388. package/vendor/zotero/modules/translators/Patents - USPTO.js +0 -210
  1389. package/vendor/zotero/modules/translators/Peeters.js +0 -587
  1390. package/vendor/zotero/modules/translators/Perceiving Systems.js +0 -350
  1391. package/vendor/zotero/modules/translators/Perlego.js +0 -416
  1392. package/vendor/zotero/modules/translators/PhilPapers.js +0 -233
  1393. package/vendor/zotero/modules/translators/Philosopher's Imprint.js +0 -169
  1394. package/vendor/zotero/modules/translators/Pleade.js +0 -329
  1395. package/vendor/zotero/modules/translators/Polygon.js +0 -270
  1396. package/vendor/zotero/modules/translators/Potsdamer Neueste Nachrichten.js +0 -188
  1397. package/vendor/zotero/modules/translators/Premium Times.js +0 -144
  1398. package/vendor/zotero/modules/translators/Preprints.org.js +0 -305
  1399. package/vendor/zotero/modules/translators/Prime 9ja Online.js +0 -289
  1400. package/vendor/zotero/modules/translators/Primo 2018.js +0 -126
  1401. package/vendor/zotero/modules/translators/Primo Normalized XML.js +0 -987
  1402. package/vendor/zotero/modules/translators/Primo.js +0 -322
  1403. package/vendor/zotero/modules/translators/ProMED.js +0 -66
  1404. package/vendor/zotero/modules/translators/ProQuest Ebook Central.js +0 -226
  1405. package/vendor/zotero/modules/translators/ProQuest PolicyFile.js +0 -115
  1406. package/vendor/zotero/modules/translators/ProQuest.js +0 -2210
  1407. package/vendor/zotero/modules/translators/Probing the Past.js +0 -151
  1408. package/vendor/zotero/modules/translators/Project Gutenberg.js +0 -191
  1409. package/vendor/zotero/modules/translators/Project MUSE.js +0 -451
  1410. package/vendor/zotero/modules/translators/Protein Data Bank.js +0 -445
  1411. package/vendor/zotero/modules/translators/PubFactory Journals.js +0 -712
  1412. package/vendor/zotero/modules/translators/PubMed Central.js +0 -577
  1413. package/vendor/zotero/modules/translators/PubMed XML.js +0 -1139
  1414. package/vendor/zotero/modules/translators/PubMed.js +0 -1317
  1415. package/vendor/zotero/modules/translators/PubPub.js +0 -530
  1416. package/vendor/zotero/modules/translators/Pubget.js +0 -164
  1417. package/vendor/zotero/modules/translators/Public Record Office Victoria.js +0 -252
  1418. package/vendor/zotero/modules/translators/Publications Office of the European Union.js +0 -540
  1419. package/vendor/zotero/modules/translators/Publications du Quebec.js +0 -225
  1420. package/vendor/zotero/modules/translators/PyPI.js +0 -288
  1421. package/vendor/zotero/modules/translators/Qatar Digital Library.js +0 -802
  1422. package/vendor/zotero/modules/translators/Queensland State Archives.js +0 -303
  1423. package/vendor/zotero/modules/translators/R-Packages.js +0 -410
  1424. package/vendor/zotero/modules/translators/RAND.js +0 -283
  1425. package/vendor/zotero/modules/translators/RDF.js +0 -1780
  1426. package/vendor/zotero/modules/translators/REDALYC.js +0 -196
  1427. package/vendor/zotero/modules/translators/RIS.js +0 -7265
  1428. package/vendor/zotero/modules/translators/RSC Publishing.js +0 -250
  1429. package/vendor/zotero/modules/translators/Radio Free Europe Radio Liberty.js +0 -706
  1430. package/vendor/zotero/modules/translators/RePEc - Econpapers.js +0 -725
  1431. package/vendor/zotero/modules/translators/RePEc - IDEAS.js +0 -337
  1432. package/vendor/zotero/modules/translators/Rechtspraak.nl.js +0 -295
  1433. package/vendor/zotero/modules/translators/RefWorks Tagged.js +0 -1185
  1434. package/vendor/zotero/modules/translators/ReferBibIX.js +0 -463
  1435. package/vendor/zotero/modules/translators/Regeringskansliet.js +0 -89
  1436. package/vendor/zotero/modules/translators/Research Square.js +0 -335
  1437. package/vendor/zotero/modules/translators/ResearchGate.js +0 -394
  1438. package/vendor/zotero/modules/translators/Retsinformation.js +0 -348
  1439. package/vendor/zotero/modules/translators/Reuters.js +0 -255
  1440. package/vendor/zotero/modules/translators/Revues.org.js +0 -378
  1441. package/vendor/zotero/modules/translators/Rock, Paper, Shotgun.js +0 -304
  1442. package/vendor/zotero/modules/translators/Roll Call.js +0 -173
  1443. package/vendor/zotero/modules/translators/Russian State Library.js +0 -1517
  1444. package/vendor/zotero/modules/translators/SAE Papers.js +0 -241
  1445. package/vendor/zotero/modules/translators/SAGE Journals.js +0 -427
  1446. package/vendor/zotero/modules/translators/SAGE Knowledge.js +0 -505
  1447. package/vendor/zotero/modules/translators/SAILDART.js +0 -364
  1448. package/vendor/zotero/modules/translators/SALT Research Archives.js +0 -196
  1449. package/vendor/zotero/modules/translators/SFU IPinCH.js +0 -946
  1450. package/vendor/zotero/modules/translators/SIPRI.js +0 -256
  1451. package/vendor/zotero/modules/translators/SIRS Knowledge Source.js +0 -546
  1452. package/vendor/zotero/modules/translators/SLUB Dresden.js +0 -300
  1453. package/vendor/zotero/modules/translators/SORA.js +0 -340
  1454. package/vendor/zotero/modules/translators/SSOAR.js +0 -399
  1455. package/vendor/zotero/modules/translators/SSRN.js +0 -235
  1456. package/vendor/zotero/modules/translators/SVT Nyheter.js +0 -381
  1457. package/vendor/zotero/modules/translators/Sacramento Bee.js +0 -274
  1458. package/vendor/zotero/modules/translators/Safari Books Online.js +0 -391
  1459. package/vendor/zotero/modules/translators/Scholars Portal Journals.js +0 -220
  1460. package/vendor/zotero/modules/translators/Scholia.js +0 -189
  1461. package/vendor/zotero/modules/translators/Schweizer Radio und Fernsehen SRF.js +0 -152
  1462. package/vendor/zotero/modules/translators/SciELO.js +0 -440
  1463. package/vendor/zotero/modules/translators/ScienceDirect.js +0 -1304
  1464. package/vendor/zotero/modules/translators/Scopus.js +0 -418
  1465. package/vendor/zotero/modules/translators/Semantic Scholar.js +0 -513
  1466. package/vendor/zotero/modules/translators/Silverchair.js +0 -886
  1467. package/vendor/zotero/modules/translators/Slate.js +0 -228
  1468. package/vendor/zotero/modules/translators/SlideShare.js +0 -112
  1469. package/vendor/zotero/modules/translators/Spiegel Online.js +0 -343
  1470. package/vendor/zotero/modules/translators/Springer Link.js +0 -696
  1471. package/vendor/zotero/modules/translators/Stack Exchange.js +0 -134
  1472. package/vendor/zotero/modules/translators/Standard Ebooks.js +0 -198
  1473. package/vendor/zotero/modules/translators/Stanford Encyclopedia of Philosophy.js +0 -285
  1474. package/vendor/zotero/modules/translators/Stanford University Press.js +0 -343
  1475. package/vendor/zotero/modules/translators/State Records Office of Western Australia.js +0 -439
  1476. package/vendor/zotero/modules/translators/Stitcher.js +0 -141
  1477. package/vendor/zotero/modules/translators/Store norske leksikon.js +0 -291
  1478. package/vendor/zotero/modules/translators/Stuff.co.nz.js +0 -446
  1479. package/vendor/zotero/modules/translators/Substack.js +0 -237
  1480. package/vendor/zotero/modules/translators/Sud Ouest.js +0 -181
  1481. package/vendor/zotero/modules/translators/Sueddeutsche.de.js +0 -205
  1482. package/vendor/zotero/modules/translators/Summon 2.js +0 -117
  1483. package/vendor/zotero/modules/translators/Superlib.js +0 -647
  1484. package/vendor/zotero/modules/translators/Svenska Dagbladet.js +0 -274
  1485. package/vendor/zotero/modules/translators/Sveriges radio.js +0 -416
  1486. package/vendor/zotero/modules/translators/TEI.js +0 -648
  1487. package/vendor/zotero/modules/translators/TV by the Numbers.js +0 -194
  1488. package/vendor/zotero/modules/translators/TVNZ.js +0 -165
  1489. package/vendor/zotero/modules/translators/Tagesspiegel.js +0 -249
  1490. package/vendor/zotero/modules/translators/Talis Aspire.js +0 -316
  1491. package/vendor/zotero/modules/translators/TalisPrism.js +0 -445
  1492. package/vendor/zotero/modules/translators/Tatknigafund.js +0 -174
  1493. package/vendor/zotero/modules/translators/Tatpressa.ru.js +0 -121
  1494. package/vendor/zotero/modules/translators/Taylor & Francis eBooks.js +0 -334
  1495. package/vendor/zotero/modules/translators/Taylor and Francis+NEJM.js +0 -813
  1496. package/vendor/zotero/modules/translators/Tesis Doctorals en Xarxa.js +0 -233
  1497. package/vendor/zotero/modules/translators/The Art Newspaper.js +0 -268
  1498. package/vendor/zotero/modules/translators/The Atlantic.js +0 -535
  1499. package/vendor/zotero/modules/translators/The Australian.js +0 -105
  1500. package/vendor/zotero/modules/translators/The Boston Globe.js +0 -285
  1501. package/vendor/zotero/modules/translators/The Chronicle of Higher Education.js +0 -308
  1502. package/vendor/zotero/modules/translators/The Daily Beast.js +0 -183
  1503. package/vendor/zotero/modules/translators/The Economic Times - The Times of India.js +0 -305
  1504. package/vendor/zotero/modules/translators/The Economic Times.js +0 -191
  1505. package/vendor/zotero/modules/translators/The Economist.js +0 -207
  1506. package/vendor/zotero/modules/translators/The Free Dictionary.js +0 -58
  1507. package/vendor/zotero/modules/translators/The Globe and Mail.js +0 -241
  1508. package/vendor/zotero/modules/translators/The Guardian.js +0 -717
  1509. package/vendor/zotero/modules/translators/The Hamilton Spectator.js +0 -129
  1510. package/vendor/zotero/modules/translators/The Hindu (old).js +0 -128
  1511. package/vendor/zotero/modules/translators/The Hindu.js +0 -318
  1512. package/vendor/zotero/modules/translators/The Independent.js +0 -184
  1513. package/vendor/zotero/modules/translators/The Intercept.js +0 -258
  1514. package/vendor/zotero/modules/translators/The Met.js +0 -300
  1515. package/vendor/zotero/modules/translators/The Microfinance Gateway.js +0 -174
  1516. package/vendor/zotero/modules/translators/The Nation.js +0 -188
  1517. package/vendor/zotero/modules/translators/The National Archives (UK).js +0 -242
  1518. package/vendor/zotero/modules/translators/The New Republic.js +0 -160
  1519. package/vendor/zotero/modules/translators/The New York Review of Books.js +0 -467
  1520. package/vendor/zotero/modules/translators/The New Yorker.js +0 -360
  1521. package/vendor/zotero/modules/translators/The Open Library.js +0 -220
  1522. package/vendor/zotero/modules/translators/The Straits Times.js +0 -528
  1523. package/vendor/zotero/modules/translators/The Telegraph.js +0 -337
  1524. package/vendor/zotero/modules/translators/The Times and Sunday Times.js +0 -180
  1525. package/vendor/zotero/modules/translators/The Times of Israel.js +0 -151
  1526. package/vendor/zotero/modules/translators/TheMarker.js +0 -108
  1527. package/vendor/zotero/modules/translators/Theory of Computing.js +0 -488
  1528. package/vendor/zotero/modules/translators/ThesesFR.js +0 -350
  1529. package/vendor/zotero/modules/translators/Thieme.js +0 -326
  1530. package/vendor/zotero/modules/translators/Time.com.js +0 -557
  1531. package/vendor/zotero/modules/translators/TimesMachine.js +0 -222
  1532. package/vendor/zotero/modules/translators/Tony Blair Institute for Global Change.js +0 -195
  1533. package/vendor/zotero/modules/translators/Toronto Star.js +0 -331
  1534. package/vendor/zotero/modules/translators/Transportation Research Board.js +0 -253
  1535. package/vendor/zotero/modules/translators/Treesearch.js +0 -535
  1536. package/vendor/zotero/modules/translators/Trove.js +0 -616
  1537. package/vendor/zotero/modules/translators/Tumblr.js +0 -179
  1538. package/vendor/zotero/modules/translators/Twitter.js +0 -413
  1539. package/vendor/zotero/modules/translators/UChicago VuFind.js +0 -907
  1540. package/vendor/zotero/modules/translators/UNZ Print Archive.js +0 -276
  1541. package/vendor/zotero/modules/translators/UPCommons.js +0 -227
  1542. package/vendor/zotero/modules/translators/US National Archives Research Catalog.js +0 -275
  1543. package/vendor/zotero/modules/translators/USENIX.js +0 -151
  1544. package/vendor/zotero/modules/translators/USgamer.js +0 -120
  1545. package/vendor/zotero/modules/translators/Ubiquity Journals.js +0 -228
  1546. package/vendor/zotero/modules/translators/University Press Scholarship.js +0 -301
  1547. package/vendor/zotero/modules/translators/University of California Press Books.js +0 -403
  1548. package/vendor/zotero/modules/translators/University of Chicago Press Books.js +0 -378
  1549. package/vendor/zotero/modules/translators/University of Wisconsin-Madison Libraries Catalog.js +0 -298
  1550. package/vendor/zotero/modules/translators/Unqualified Dublin Core RDF.js +0 -153
  1551. package/vendor/zotero/modules/translators/UpToDate References.js +0 -203
  1552. package/vendor/zotero/modules/translators/Vanity Fair.js +0 -242
  1553. package/vendor/zotero/modules/translators/Verniana-Jules Verne Studies.js +0 -190
  1554. package/vendor/zotero/modules/translators/Verso Books.js +0 -311
  1555. package/vendor/zotero/modules/translators/Vice.js +0 -445
  1556. package/vendor/zotero/modules/translators/Victoria & Albert Museum.js +0 -277
  1557. package/vendor/zotero/modules/translators/Vimeo.js +0 -188
  1558. package/vendor/zotero/modules/translators/VoxEU.js +0 -151
  1559. package/vendor/zotero/modules/translators/WHO.js +0 -458
  1560. package/vendor/zotero/modules/translators/WIPO.js +0 -189
  1561. package/vendor/zotero/modules/translators/Wall Street Journal.js +0 -525
  1562. package/vendor/zotero/modules/translators/Wanfang Data.js +0 -310
  1563. package/vendor/zotero/modules/translators/Washington Monthly.js +0 -195
  1564. package/vendor/zotero/modules/translators/Washington Post.js +0 -447
  1565. package/vendor/zotero/modules/translators/Web of Science Nextgen.js +0 -832
  1566. package/vendor/zotero/modules/translators/Web of Science Tagged.js +0 -1247
  1567. package/vendor/zotero/modules/translators/Web of Science.js +0 -228
  1568. package/vendor/zotero/modules/translators/Welt Online.js +0 -161
  1569. package/vendor/zotero/modules/translators/WestLaw UK.js +0 -190
  1570. package/vendor/zotero/modules/translators/WikiLeaks PlusD.js +0 -182
  1571. package/vendor/zotero/modules/translators/Wikidata QuickStatements.js +0 -324
  1572. package/vendor/zotero/modules/translators/Wikidata.js +0 -911
  1573. package/vendor/zotero/modules/translators/Wikimedia Commons.js +0 -285
  1574. package/vendor/zotero/modules/translators/Wikipedia Citation Templates.js +0 -432
  1575. package/vendor/zotero/modules/translators/Wikipedia.js +0 -385
  1576. package/vendor/zotero/modules/translators/Wikisource.js +0 -399
  1577. package/vendor/zotero/modules/translators/Wikiwand.js +0 -122
  1578. package/vendor/zotero/modules/translators/Wiktionary.js +0 -141
  1579. package/vendor/zotero/modules/translators/Wildlife Biology in Practice.js +0 -172
  1580. package/vendor/zotero/modules/translators/Wiley Online Library.js +0 -1412
  1581. package/vendor/zotero/modules/translators/Wilson Center Digital Archive.js +0 -321
  1582. package/vendor/zotero/modules/translators/Winnipeg Free Press.js +0 -204
  1583. package/vendor/zotero/modules/translators/Wired.js +0 -249
  1584. package/vendor/zotero/modules/translators/Womennews.js +0 -230
  1585. package/vendor/zotero/modules/translators/World Digital Library.js +0 -403
  1586. package/vendor/zotero/modules/translators/World History Connected.js +0 -185
  1587. package/vendor/zotero/modules/translators/World Shakespeare Bibliography Online.js +0 -595
  1588. package/vendor/zotero/modules/translators/XML ContextObject.js +0 -274
  1589. package/vendor/zotero/modules/translators/YPSF.js +0 -224
  1590. package/vendor/zotero/modules/translators/Yandex Books.js +0 -265
  1591. package/vendor/zotero/modules/translators/Ynet.js +0 -171
  1592. package/vendor/zotero/modules/translators/YouTube.js +0 -209
  1593. package/vendor/zotero/modules/translators/ZIPonline.js +0 -267
  1594. package/vendor/zotero/modules/translators/ZOBODAT.js +0 -341
  1595. package/vendor/zotero/modules/translators/Zotero RDF.js +0 -583
  1596. package/vendor/zotero/modules/translators/ZoteroBib.js +0 -94
  1597. package/vendor/zotero/modules/translators/arXiv.org.js +0 -1099
  1598. package/vendor/zotero/modules/translators/artnet.js +0 -207
  1599. package/vendor/zotero/modules/translators/beck-online.js +0 -1339
  1600. package/vendor/zotero/modules/translators/clinicaltrials.gov.js +0 -331
  1601. package/vendor/zotero/modules/translators/dLibra.js +0 -367
  1602. package/vendor/zotero/modules/translators/dejure.org.js +0 -242
  1603. package/vendor/zotero/modules/translators/dhistory.js +0 -103
  1604. package/vendor/zotero/modules/translators/digibib.net.js +0 -245
  1605. package/vendor/zotero/modules/translators/eLibrary.ru.js +0 -867
  1606. package/vendor/zotero/modules/translators/eLife.js +0 -462
  1607. package/vendor/zotero/modules/translators/eMJA.js +0 -246
  1608. package/vendor/zotero/modules/translators/eMedicine.js +0 -123
  1609. package/vendor/zotero/modules/translators/ePrint IACR.js +0 -608
  1610. package/vendor/zotero/modules/translators/ebrary.js +0 -140
  1611. package/vendor/zotero/modules/translators/etatar.ru.js +0 -104
  1612. package/vendor/zotero/modules/translators/feb-web.ru.js +0 -167
  1613. package/vendor/zotero/modules/translators/fishpond.co.nz.js +0 -224
  1614. package/vendor/zotero/modules/translators/fr-online.de.js +0 -209
  1615. package/vendor/zotero/modules/translators/govinfo.js +0 -189
  1616. package/vendor/zotero/modules/translators/informIT database.js +0 -248
  1617. package/vendor/zotero/modules/translators/io-port.js +0 -68
  1618. package/vendor/zotero/modules/translators/jmlr.js +0 -299
  1619. package/vendor/zotero/modules/translators/jurion.js +0 -377
  1620. package/vendor/zotero/modules/translators/mEDRA.js +0 -597
  1621. package/vendor/zotero/modules/translators/magazines.russ.ru.js +0 -120
  1622. package/vendor/zotero/modules/translators/medes.js +0 -284
  1623. package/vendor/zotero/modules/translators/newshub.co.nz.js +0 -206
  1624. package/vendor/zotero/modules/translators/newspapers.com.js +0 -335
  1625. package/vendor/zotero/modules/translators/openJur.js +0 -161
  1626. package/vendor/zotero/modules/translators/reddit.js +0 -275
  1627. package/vendor/zotero/modules/translators/sbn.it.js +0 -186
  1628. package/vendor/zotero/modules/translators/scinapse.js +0 -273
  1629. package/vendor/zotero/modules/translators/semantics Visual Library.js +0 -643
  1630. package/vendor/zotero/modules/translators/taz.de.js +0 -200
  1631. package/vendor/zotero/modules/translators/unAPI.js +0 -481
  1632. package/vendor/zotero/modules/translators/washingtonpost.com.js +0 -257
  1633. package/vendor/zotero/modules/translators/wiso.js +0 -314
  1634. package/vendor/zotero/modules/translators/zbMATH.js +0 -278
  1635. package/vendor/zotero/modules/translators/zotero.org.js +0 -311
  1636. package/vendor/zotero/modules/utilities/README.md +0 -25
  1637. package/vendor/zotero/modules/utilities/cachedTypes.js +0 -193
  1638. package/vendor/zotero/modules/utilities/date.js +0 -958
  1639. package/vendor/zotero/modules/utilities/openurl.js +0 -458
  1640. package/vendor/zotero/modules/utilities/resource/README.md +0 -4
  1641. package/vendor/zotero/modules/utilities/resource/dateFormats.json +0 -1322
  1642. package/vendor/zotero/modules/utilities/resource/schema/global/README.md +0 -15
  1643. package/vendor/zotero/modules/utilities/resource/schema/global/schema.json +0 -12072
  1644. package/vendor/zotero/modules/utilities/resource/zoteroTypeSchemaData.js +0 -5
  1645. package/vendor/zotero/modules/utilities/schema.js +0 -65
  1646. package/vendor/zotero/modules/utilities/utilities.js +0 -1841
  1647. package/vendor/zotero/modules/utilities/utilities_item.js +0 -1082
  1648. package/vendor/zotero/modules/utilities/xregexp-all.js +0 -4652
  1649. package/vendor/zotero/modules/utilities/xregexp-unicode-zotero.js +0 -58
  1650. package/vendor/zotero/modules/zotero-schema/README.md +0 -15
  1651. package/vendor/zotero/modules/zotero-schema/schema.json +0 -12072
  1652. package/vendor/zotero/package-lock.json +0 -4332
  1653. package/vendor/zotero/package.json +0 -44
  1654. package/vendor/zotero/spec.yaml +0 -142
  1655. package/vendor/zotero/src/args.js +0 -43
  1656. package/vendor/zotero/src/cors.js +0 -28
  1657. package/vendor/zotero/src/debug.js +0 -189
  1658. package/vendor/zotero/src/exportEndpoint.js +0 -97
  1659. package/vendor/zotero/src/formats.js +0 -43
  1660. package/vendor/zotero/src/http.js +0 -478
  1661. package/vendor/zotero/src/importEndpoint.js +0 -54
  1662. package/vendor/zotero/src/lambda.js +0 -75
  1663. package/vendor/zotero/src/proxy.js +0 -356
  1664. package/vendor/zotero/src/searchEndpoint.js +0 -97
  1665. package/vendor/zotero/src/server.js +0 -85
  1666. package/vendor/zotero/src/specEndpoint.js +0 -135
  1667. package/vendor/zotero/src/testEndpoint.js +0 -50
  1668. package/vendor/zotero/src/textSearch.js +0 -527
  1669. package/vendor/zotero/src/translation/sandboxManager.js +0 -109
  1670. package/vendor/zotero/src/translation/translate.js +0 -101
  1671. package/vendor/zotero/src/translation/translate_item.js +0 -88
  1672. package/vendor/zotero/src/translators.js +0 -264
  1673. package/vendor/zotero/src/utilities.js +0 -49
  1674. package/vendor/zotero/src/webEndpoint.js +0 -113
  1675. package/vendor/zotero/src/webSession.js +0 -476
  1676. package/vendor/zotero/src/zotero.js +0 -117
  1677. package/vendor/zotero/translate_export +0 -10
  1678. package/vendor/zotero/translate_search +0 -9
  1679. package/vendor/zotero/translate_url +0 -9
  1680. package/vendor/zotero/translate_url_multiple +0 -9
  1681. package/vendor/zotero/translate_url_single +0 -9
@@ -1,4652 +0,0 @@
1
- (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.XRegExp = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2
- /*!
3
- * XRegExp.build 3.2.0
4
- * <xregexp.com>
5
- * Steven Levithan (c) 2012-2017 MIT License
6
- * Inspired by Lea Verou's RegExp.create <lea.verou.me>
7
- */
8
-
9
- module.exports = function(XRegExp) {
10
- 'use strict';
11
-
12
- var REGEX_DATA = 'xregexp';
13
- var subParts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g;
14
- var parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subParts], 'g', {
15
- conjunction: 'or'
16
- });
17
-
18
- /**
19
- * Strips a leading `^` and trailing unescaped `$`, if both are present.
20
- *
21
- * @private
22
- * @param {String} pattern Pattern to process.
23
- * @returns {String} Pattern with edge anchors removed.
24
- */
25
- function deanchor(pattern) {
26
- // Allow any number of empty noncapturing groups before/after anchors, because regexes
27
- // built/generated by XRegExp sometimes include them
28
- var leadingAnchor = /^(?:\(\?:\))*\^/;
29
- var trailingAnchor = /\$(?:\(\?:\))*$/;
30
-
31
- if (
32
- leadingAnchor.test(pattern) &&
33
- trailingAnchor.test(pattern) &&
34
- // Ensure that the trailing `$` isn't escaped
35
- trailingAnchor.test(pattern.replace(/\\[\s\S]/g, ''))
36
- ) {
37
- return pattern.replace(leadingAnchor, '').replace(trailingAnchor, '');
38
- }
39
-
40
- return pattern;
41
- }
42
-
43
- /**
44
- * Converts the provided value to an XRegExp. Native RegExp flags are not preserved.
45
- *
46
- * @private
47
- * @param {String|RegExp} value Value to convert.
48
- * @param {Boolean} [addFlagX] Whether to apply the `x` flag in cases when `value` is not
49
- * already a regex generated by XRegExp
50
- * @returns {RegExp} XRegExp object with XRegExp syntax applied.
51
- */
52
- function asXRegExp(value, addFlagX) {
53
- var flags = addFlagX ? 'x' : '';
54
- return XRegExp.isRegExp(value) ?
55
- (value[REGEX_DATA] && value[REGEX_DATA].captureNames ?
56
- // Don't recompile, to preserve capture names
57
- value :
58
- // Recompile as XRegExp
59
- XRegExp(value.source, flags)
60
- ) :
61
- // Compile string as XRegExp
62
- XRegExp(value, flags);
63
- }
64
-
65
- /**
66
- * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in
67
- * the outer pattern and provided subpatterns are automatically renumbered to work correctly.
68
- * Native flags used by provided subpatterns are ignored in favor of the `flags` argument.
69
- *
70
- * @memberOf XRegExp
71
- * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows
72
- * `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within
73
- * character classes.
74
- * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A
75
- * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present.
76
- * @param {String} [flags] Any combination of XRegExp flags.
77
- * @returns {RegExp} Regex with interpolated subpatterns.
78
- * @example
79
- *
80
- * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', {
81
- * hours: XRegExp.build('{{h12}} : | {{h24}}', {
82
- * h12: /1[0-2]|0?[1-9]/,
83
- * h24: /2[0-3]|[01][0-9]/
84
- * }, 'x'),
85
- * minutes: /^[0-5][0-9]$/
86
- * });
87
- * time.test('10:59'); // -> true
88
- * XRegExp.exec('10:59', time).minutes; // -> '59'
89
- */
90
- XRegExp.build = function(pattern, subs, flags) {
91
- flags = flags || '';
92
- // Used with `asXRegExp` calls for `pattern` and subpatterns in `subs`, to work around how
93
- // some browsers convert `RegExp('\n')` to a regex that contains the literal characters `\`
94
- // and `n`. See more details at <https://github.com/slevithan/xregexp/pull/163>.
95
- var addFlagX = flags.indexOf('x') > -1;
96
- var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern);
97
- // Add flags within a leading mode modifier to the overall pattern's flags
98
- if (inlineFlags) {
99
- flags = XRegExp._clipDuplicates(flags + inlineFlags[1]);
100
- }
101
-
102
- var data = {};
103
- for (var p in subs) {
104
- if (subs.hasOwnProperty(p)) {
105
- // Passing to XRegExp enables extended syntax and ensures independent validity,
106
- // lest an unescaped `(`, `)`, `[`, or trailing `\` breaks the `(?:)` wrapper. For
107
- // subpatterns provided as native regexes, it dies on octals and adds the property
108
- // used to hold extended regex instance data, for simplicity.
109
- var sub = asXRegExp(subs[p], addFlagX);
110
- data[p] = {
111
- // Deanchoring allows embedding independently useful anchored regexes. If you
112
- // really need to keep your anchors, double them (i.e., `^^...$$`).
113
- pattern: deanchor(sub.source),
114
- names: sub[REGEX_DATA].captureNames || []
115
- };
116
- }
117
- }
118
-
119
- // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid;
120
- // helps keep this simple. Named captures will be put back.
121
- var patternAsRegex = asXRegExp(pattern, addFlagX);
122
-
123
- // 'Caps' is short for 'captures'
124
- var numCaps = 0;
125
- var numPriorCaps;
126
- var numOuterCaps = 0;
127
- var outerCapsMap = [0];
128
- var outerCapNames = patternAsRegex[REGEX_DATA].captureNames || [];
129
- var output = patternAsRegex.source.replace(parts, function($0, $1, $2, $3, $4) {
130
- var subName = $1 || $2;
131
- var capName;
132
- var intro;
133
- var localCapIndex;
134
- // Named subpattern
135
- if (subName) {
136
- if (!data.hasOwnProperty(subName)) {
137
- throw new ReferenceError('Undefined property ' + $0);
138
- }
139
- // Named subpattern was wrapped in a capturing group
140
- if ($1) {
141
- capName = outerCapNames[numOuterCaps];
142
- outerCapsMap[++numOuterCaps] = ++numCaps;
143
- // If it's a named group, preserve the name. Otherwise, use the subpattern name
144
- // as the capture name
145
- intro = '(?<' + (capName || subName) + '>';
146
- } else {
147
- intro = '(?:';
148
- }
149
- numPriorCaps = numCaps;
150
- return intro + data[subName].pattern.replace(subParts, function(match, paren, backref) {
151
- // Capturing group
152
- if (paren) {
153
- capName = data[subName].names[numCaps - numPriorCaps];
154
- ++numCaps;
155
- // If the current capture has a name, preserve the name
156
- if (capName) {
157
- return '(?<' + capName + '>';
158
- }
159
- // Backreference
160
- } else if (backref) {
161
- localCapIndex = +backref - 1;
162
- // Rewrite the backreference
163
- return data[subName].names[localCapIndex] ?
164
- // Need to preserve the backreference name in case using flag `n`
165
- '\\k<' + data[subName].names[localCapIndex] + '>' :
166
- '\\' + (+backref + numPriorCaps);
167
- }
168
- return match;
169
- }) + ')';
170
- }
171
- // Capturing group
172
- if ($3) {
173
- capName = outerCapNames[numOuterCaps];
174
- outerCapsMap[++numOuterCaps] = ++numCaps;
175
- // If the current capture has a name, preserve the name
176
- if (capName) {
177
- return '(?<' + capName + '>';
178
- }
179
- // Backreference
180
- } else if ($4) {
181
- localCapIndex = +$4 - 1;
182
- // Rewrite the backreference
183
- return outerCapNames[localCapIndex] ?
184
- // Need to preserve the backreference name in case using flag `n`
185
- '\\k<' + outerCapNames[localCapIndex] + '>' :
186
- '\\' + outerCapsMap[+$4];
187
- }
188
- return $0;
189
- });
190
-
191
- return XRegExp(output, flags);
192
- };
193
-
194
- };
195
-
196
- },{}],2:[function(require,module,exports){
197
- /*!
198
- * XRegExp.matchRecursive 3.2.0
199
- * <xregexp.com>
200
- * Steven Levithan (c) 2009-2017 MIT License
201
- */
202
-
203
- module.exports = function(XRegExp) {
204
- 'use strict';
205
-
206
- /**
207
- * Returns a match detail object composed of the provided values.
208
- *
209
- * @private
210
- */
211
- function row(name, value, start, end) {
212
- return {
213
- name: name,
214
- value: value,
215
- start: start,
216
- end: end
217
- };
218
- }
219
-
220
- /**
221
- * Returns an array of match strings between outermost left and right delimiters, or an array of
222
- * objects with detailed match parts and position data. An error is thrown if delimiters are
223
- * unbalanced within the data.
224
- *
225
- * @memberOf XRegExp
226
- * @param {String} str String to search.
227
- * @param {String} left Left delimiter as an XRegExp pattern.
228
- * @param {String} right Right delimiter as an XRegExp pattern.
229
- * @param {String} [flags] Any native or XRegExp flags, used for the left and right delimiters.
230
- * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options.
231
- * @returns {Array} Array of matches, or an empty array.
232
- * @example
233
- *
234
- * // Basic usage
235
- * var str = '(t((e))s)t()(ing)';
236
- * XRegExp.matchRecursive(str, '\\(', '\\)', 'g');
237
- * // -> ['t((e))s', '', 'ing']
238
- *
239
- * // Extended information mode with valueNames
240
- * str = 'Here is <div> <div>an</div></div> example';
241
- * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', {
242
- * valueNames: ['between', 'left', 'match', 'right']
243
- * });
244
- * // -> [
245
- * // {name: 'between', value: 'Here is ', start: 0, end: 8},
246
- * // {name: 'left', value: '<div>', start: 8, end: 13},
247
- * // {name: 'match', value: ' <div>an</div>', start: 13, end: 27},
248
- * // {name: 'right', value: '</div>', start: 27, end: 33},
249
- * // {name: 'between', value: ' example', start: 33, end: 41}
250
- * // ]
251
- *
252
- * // Omitting unneeded parts with null valueNames, and using escapeChar
253
- * str = '...{1}.\\{{function(x,y){return {y:x}}}';
254
- * XRegExp.matchRecursive(str, '{', '}', 'g', {
255
- * valueNames: ['literal', null, 'value', null],
256
- * escapeChar: '\\'
257
- * });
258
- * // -> [
259
- * // {name: 'literal', value: '...', start: 0, end: 3},
260
- * // {name: 'value', value: '1', start: 4, end: 5},
261
- * // {name: 'literal', value: '.\\{', start: 6, end: 9},
262
- * // {name: 'value', value: 'function(x,y){return {y:x}}', start: 10, end: 37}
263
- * // ]
264
- *
265
- * // Sticky mode via flag y
266
- * str = '<1><<<2>>><3>4<5>';
267
- * XRegExp.matchRecursive(str, '<', '>', 'gy');
268
- * // -> ['1', '<<2>>', '3']
269
- */
270
- XRegExp.matchRecursive = function(str, left, right, flags, options) {
271
- flags = flags || '';
272
- options = options || {};
273
- var global = flags.indexOf('g') > -1;
274
- var sticky = flags.indexOf('y') > -1;
275
- // Flag `y` is controlled internally
276
- var basicFlags = flags.replace(/y/g, '');
277
- var escapeChar = options.escapeChar;
278
- var vN = options.valueNames;
279
- var output = [];
280
- var openTokens = 0;
281
- var delimStart = 0;
282
- var delimEnd = 0;
283
- var lastOuterEnd = 0;
284
- var outerStart;
285
- var innerStart;
286
- var leftMatch;
287
- var rightMatch;
288
- var esc;
289
- left = XRegExp(left, basicFlags);
290
- right = XRegExp(right, basicFlags);
291
-
292
- if (escapeChar) {
293
- if (escapeChar.length > 1) {
294
- throw new Error('Cannot use more than one escape character');
295
- }
296
- escapeChar = XRegExp.escape(escapeChar);
297
- // Example of concatenated `esc` regex:
298
- // `escapeChar`: '%'
299
- // `left`: '<'
300
- // `right`: '>'
301
- // Regex is: /(?:%[\S\s]|(?:(?!<|>)[^%])+)+/
302
- esc = new RegExp(
303
- '(?:' + escapeChar + '[\\S\\s]|(?:(?!' +
304
- // Using `XRegExp.union` safely rewrites backreferences in `left` and `right`.
305
- // Intentionally not passing `basicFlags` to `XRegExp.union` since any syntax
306
- // transformation resulting from those flags was already applied to `left` and
307
- // `right` when they were passed through the XRegExp constructor above.
308
- XRegExp.union([left, right], '', {conjunction: 'or'}).source +
309
- ')[^' + escapeChar + '])+)+',
310
- // Flags `gy` not needed here
311
- flags.replace(/[^imu]+/g, '')
312
- );
313
- }
314
-
315
- while (true) {
316
- // If using an escape character, advance to the delimiter's next starting position,
317
- // skipping any escaped characters in between
318
- if (escapeChar) {
319
- delimEnd += (XRegExp.exec(str, esc, delimEnd, 'sticky') || [''])[0].length;
320
- }
321
- leftMatch = XRegExp.exec(str, left, delimEnd);
322
- rightMatch = XRegExp.exec(str, right, delimEnd);
323
- // Keep the leftmost match only
324
- if (leftMatch && rightMatch) {
325
- if (leftMatch.index <= rightMatch.index) {
326
- rightMatch = null;
327
- } else {
328
- leftMatch = null;
329
- }
330
- }
331
- // Paths (LM: leftMatch, RM: rightMatch, OT: openTokens):
332
- // LM | RM | OT | Result
333
- // 1 | 0 | 1 | loop
334
- // 1 | 0 | 0 | loop
335
- // 0 | 1 | 1 | loop
336
- // 0 | 1 | 0 | throw
337
- // 0 | 0 | 1 | throw
338
- // 0 | 0 | 0 | break
339
- // The paths above don't include the sticky mode special case. The loop ends after the
340
- // first completed match if not `global`.
341
- if (leftMatch || rightMatch) {
342
- delimStart = (leftMatch || rightMatch).index;
343
- delimEnd = delimStart + (leftMatch || rightMatch)[0].length;
344
- } else if (!openTokens) {
345
- break;
346
- }
347
- if (sticky && !openTokens && delimStart > lastOuterEnd) {
348
- break;
349
- }
350
- if (leftMatch) {
351
- if (!openTokens) {
352
- outerStart = delimStart;
353
- innerStart = delimEnd;
354
- }
355
- ++openTokens;
356
- } else if (rightMatch && openTokens) {
357
- if (!--openTokens) {
358
- if (vN) {
359
- if (vN[0] && outerStart > lastOuterEnd) {
360
- output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart));
361
- }
362
- if (vN[1]) {
363
- output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart));
364
- }
365
- if (vN[2]) {
366
- output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart));
367
- }
368
- if (vN[3]) {
369
- output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd));
370
- }
371
- } else {
372
- output.push(str.slice(innerStart, delimStart));
373
- }
374
- lastOuterEnd = delimEnd;
375
- if (!global) {
376
- break;
377
- }
378
- }
379
- } else {
380
- throw new Error('Unbalanced delimiter found in string');
381
- }
382
- // If the delimiter matched an empty string, avoid an infinite loop
383
- if (delimStart === delimEnd) {
384
- ++delimEnd;
385
- }
386
- }
387
-
388
- if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) {
389
- output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length));
390
- }
391
-
392
- return output;
393
- };
394
-
395
- };
396
-
397
- },{}],3:[function(require,module,exports){
398
- /*!
399
- * XRegExp Unicode Base 3.2.0
400
- * <xregexp.com>
401
- * Steven Levithan (c) 2008-2017 MIT License
402
- */
403
-
404
- module.exports = function(XRegExp) {
405
- 'use strict';
406
-
407
- /**
408
- * Adds base support for Unicode matching:
409
- * - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or
410
- * `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the
411
- * braces for token names that are a single letter (e.g. `\pL` or `PL`).
412
- * - Adds flag A (astral), which enables 21-bit Unicode support.
413
- * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data.
414
- *
415
- * Unicode Base relies on externally provided Unicode character data. Official addons are
416
- * available to provide data for Unicode categories, scripts, blocks, and properties.
417
- *
418
- * @requires XRegExp
419
- */
420
-
421
- // ==--------------------------==
422
- // Private stuff
423
- // ==--------------------------==
424
-
425
- // Storage for Unicode data
426
- var unicode = {};
427
-
428
- // Reuse utils
429
- var dec = XRegExp._dec;
430
- var hex = XRegExp._hex;
431
- var pad4 = XRegExp._pad4;
432
-
433
- // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed
434
- function normalize(name) {
435
- return name.replace(/[- _]+/g, '').toLowerCase();
436
- }
437
-
438
- // Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal
439
- function charCode(chr) {
440
- var esc = /^\\[xu](.+)/.exec(chr);
441
- return esc ?
442
- dec(esc[1]) :
443
- chr.charCodeAt(chr.charAt(0) === '\\' ? 1 : 0);
444
- }
445
-
446
- // Inverts a list of ordered BMP characters and ranges
447
- function invertBmp(range) {
448
- var output = '';
449
- var lastEnd = -1;
450
-
451
- XRegExp.forEach(
452
- range,
453
- /(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,
454
- function(m) {
455
- var start = charCode(m[1]);
456
- if (start > (lastEnd + 1)) {
457
- output += '\\u' + pad4(hex(lastEnd + 1));
458
- if (start > (lastEnd + 2)) {
459
- output += '-\\u' + pad4(hex(start - 1));
460
- }
461
- }
462
- lastEnd = charCode(m[2] || m[1]);
463
- }
464
- );
465
-
466
- if (lastEnd < 0xFFFF) {
467
- output += '\\u' + pad4(hex(lastEnd + 1));
468
- if (lastEnd < 0xFFFE) {
469
- output += '-\\uFFFF';
470
- }
471
- }
472
-
473
- return output;
474
- }
475
-
476
- // Generates an inverted BMP range on first use
477
- function cacheInvertedBmp(slug) {
478
- var prop = 'b!';
479
- return (
480
- unicode[slug][prop] ||
481
- (unicode[slug][prop] = invertBmp(unicode[slug].bmp))
482
- );
483
- }
484
-
485
- // Combines and optionally negates BMP and astral data
486
- function buildAstral(slug, isNegated) {
487
- var item = unicode[slug];
488
- var combined = '';
489
-
490
- if (item.bmp && !item.isBmpLast) {
491
- combined = '[' + item.bmp + ']' + (item.astral ? '|' : '');
492
- }
493
- if (item.astral) {
494
- combined += item.astral;
495
- }
496
- if (item.isBmpLast && item.bmp) {
497
- combined += (item.astral ? '|' : '') + '[' + item.bmp + ']';
498
- }
499
-
500
- // Astral Unicode tokens always match a code point, never a code unit
501
- return isNegated ?
502
- '(?:(?!' + combined + ')(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))' :
503
- '(?:' + combined + ')';
504
- }
505
-
506
- // Builds a complete astral pattern on first use
507
- function cacheAstral(slug, isNegated) {
508
- var prop = isNegated ? 'a!' : 'a=';
509
- return (
510
- unicode[slug][prop] ||
511
- (unicode[slug][prop] = buildAstral(slug, isNegated))
512
- );
513
- }
514
-
515
- // ==--------------------------==
516
- // Core functionality
517
- // ==--------------------------==
518
-
519
- /*
520
- * Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`.
521
- */
522
- XRegExp.addToken(
523
- // Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}`
524
- /\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,
525
- function(match, scope, flags) {
526
- var ERR_DOUBLE_NEG = 'Invalid double negation ';
527
- var ERR_UNKNOWN_NAME = 'Unknown Unicode token ';
528
- var ERR_UNKNOWN_REF = 'Unicode token missing data ';
529
- var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token ';
530
- var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes';
531
- // Negated via \P{..} or \p{^..}
532
- var isNegated = match[1] === 'P' || !!match[2];
533
- // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A
534
- var isAstralMode = flags.indexOf('A') > -1;
535
- // Token lookup name. Check `[4]` first to avoid passing `undefined` via `\p{}`
536
- var slug = normalize(match[4] || match[3]);
537
- // Token data object
538
- var item = unicode[slug];
539
-
540
- if (match[1] === 'P' && match[2]) {
541
- throw new SyntaxError(ERR_DOUBLE_NEG + match[0]);
542
- }
543
- if (!unicode.hasOwnProperty(slug)) {
544
- throw new SyntaxError(ERR_UNKNOWN_NAME + match[0]);
545
- }
546
-
547
- // Switch to the negated form of the referenced Unicode token
548
- if (item.inverseOf) {
549
- slug = normalize(item.inverseOf);
550
- if (!unicode.hasOwnProperty(slug)) {
551
- throw new ReferenceError(ERR_UNKNOWN_REF + match[0] + ' -> ' + item.inverseOf);
552
- }
553
- item = unicode[slug];
554
- isNegated = !isNegated;
555
- }
556
-
557
- if (!(item.bmp || isAstralMode)) {
558
- throw new SyntaxError(ERR_ASTRAL_ONLY + match[0]);
559
- }
560
- if (isAstralMode) {
561
- if (scope === 'class') {
562
- throw new SyntaxError(ERR_ASTRAL_IN_CLASS);
563
- }
564
-
565
- return cacheAstral(slug, isNegated);
566
- }
567
-
568
- return scope === 'class' ?
569
- (isNegated ? cacheInvertedBmp(slug) : item.bmp) :
570
- (isNegated ? '[^' : '[') + item.bmp + ']';
571
- },
572
- {
573
- scope: 'all',
574
- optionalFlags: 'A',
575
- leadChar: '\\'
576
- }
577
- );
578
-
579
- /**
580
- * Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`.
581
- *
582
- * @memberOf XRegExp
583
- * @param {Array} data Objects with named character ranges. Each object may have properties
584
- * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are
585
- * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If
586
- * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent,
587
- * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are
588
- * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and
589
- * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan
590
- * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and
591
- * `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape
592
- * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be
593
- * escaped, apart from range-creating hyphens. The `astral` data can additionally use
594
- * character classes and alternation, and should use surrogate pairs to represent astral code
595
- * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is
596
- * defined as the exact inverse of another token.
597
- * @example
598
- *
599
- * // Basic use
600
- * XRegExp.addUnicodeData([{
601
- * name: 'XDigit',
602
- * alias: 'Hexadecimal',
603
- * bmp: '0-9A-Fa-f'
604
- * }]);
605
- * XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true
606
- */
607
- XRegExp.addUnicodeData = function(data) {
608
- var ERR_NO_NAME = 'Unicode token requires name';
609
- var ERR_NO_DATA = 'Unicode token has no character data ';
610
- var item;
611
-
612
- for (var i = 0; i < data.length; ++i) {
613
- item = data[i];
614
- if (!item.name) {
615
- throw new Error(ERR_NO_NAME);
616
- }
617
- if (!(item.inverseOf || item.bmp || item.astral)) {
618
- throw new Error(ERR_NO_DATA + item.name);
619
- }
620
- unicode[normalize(item.name)] = item;
621
- if (item.alias) {
622
- unicode[normalize(item.alias)] = item;
623
- }
624
- }
625
-
626
- // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and
627
- // flags might now produce different results
628
- XRegExp.cache.flush('patterns');
629
- };
630
-
631
- /**
632
- * @ignore
633
- *
634
- * Return a reference to the internal Unicode definition structure for the given Unicode
635
- * Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex
636
- * constructs.
637
- *
638
- * @memberOf XRegExp
639
- * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive),
640
- * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode
641
- * Properties and Property Aliases.
642
- * @returns {Object} Reference to definition structure when the name matches a Unicode Property.
643
- *
644
- * @note
645
- * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories.
646
- *
647
- * @note
648
- * This method is *not* part of the officially documented API and may change or be removed in
649
- * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode
650
- * structures set up by XRegExp.
651
- */
652
- XRegExp._getUnicodeProperty = function(name) {
653
- var slug = normalize(name);
654
- return unicode[slug];
655
- };
656
-
657
- };
658
-
659
- },{}],4:[function(require,module,exports){
660
- /*!
661
- * XRegExp Unicode Blocks 3.2.0
662
- * <xregexp.com>
663
- * Steven Levithan (c) 2010-2017 MIT License
664
- * Unicode data by Mathias Bynens <mathiasbynens.be>
665
- */
666
-
667
- module.exports = function(XRegExp) {
668
- 'use strict';
669
-
670
- /**
671
- * Adds support for all Unicode blocks. Block names use the prefix 'In'. E.g.,
672
- * `\p{InBasicLatin}`. Token names are case insensitive, and any spaces, hyphens, and
673
- * underscores are ignored.
674
- *
675
- * Uses Unicode 9.0.0.
676
- *
677
- * @requires XRegExp, Unicode Base
678
- */
679
-
680
- if (!XRegExp.addUnicodeData) {
681
- throw new ReferenceError('Unicode Base must be loaded before Unicode Blocks');
682
- }
683
-
684
- XRegExp.addUnicodeData([
685
- {
686
- name: 'InAdlam',
687
- astral: '\uD83A[\uDD00-\uDD5F]'
688
- },
689
- {
690
- name: 'InAegean_Numbers',
691
- astral: '\uD800[\uDD00-\uDD3F]'
692
- },
693
- {
694
- name: 'InAhom',
695
- astral: '\uD805[\uDF00-\uDF3F]'
696
- },
697
- {
698
- name: 'InAlchemical_Symbols',
699
- astral: '\uD83D[\uDF00-\uDF7F]'
700
- },
701
- {
702
- name: 'InAlphabetic_Presentation_Forms',
703
- bmp: '\uFB00-\uFB4F'
704
- },
705
- {
706
- name: 'InAnatolian_Hieroglyphs',
707
- astral: '\uD811[\uDC00-\uDE7F]'
708
- },
709
- {
710
- name: 'InAncient_Greek_Musical_Notation',
711
- astral: '\uD834[\uDE00-\uDE4F]'
712
- },
713
- {
714
- name: 'InAncient_Greek_Numbers',
715
- astral: '\uD800[\uDD40-\uDD8F]'
716
- },
717
- {
718
- name: 'InAncient_Symbols',
719
- astral: '\uD800[\uDD90-\uDDCF]'
720
- },
721
- {
722
- name: 'InArabic',
723
- bmp: '\u0600-\u06FF'
724
- },
725
- {
726
- name: 'InArabic_Extended_A',
727
- bmp: '\u08A0-\u08FF'
728
- },
729
- {
730
- name: 'InArabic_Mathematical_Alphabetic_Symbols',
731
- astral: '\uD83B[\uDE00-\uDEFF]'
732
- },
733
- {
734
- name: 'InArabic_Presentation_Forms_A',
735
- bmp: '\uFB50-\uFDFF'
736
- },
737
- {
738
- name: 'InArabic_Presentation_Forms_B',
739
- bmp: '\uFE70-\uFEFF'
740
- },
741
- {
742
- name: 'InArabic_Supplement',
743
- bmp: '\u0750-\u077F'
744
- },
745
- {
746
- name: 'InArmenian',
747
- bmp: '\u0530-\u058F'
748
- },
749
- {
750
- name: 'InArrows',
751
- bmp: '\u2190-\u21FF'
752
- },
753
- {
754
- name: 'InAvestan',
755
- astral: '\uD802[\uDF00-\uDF3F]'
756
- },
757
- {
758
- name: 'InBalinese',
759
- bmp: '\u1B00-\u1B7F'
760
- },
761
- {
762
- name: 'InBamum',
763
- bmp: '\uA6A0-\uA6FF'
764
- },
765
- {
766
- name: 'InBamum_Supplement',
767
- astral: '\uD81A[\uDC00-\uDE3F]'
768
- },
769
- {
770
- name: 'InBasic_Latin',
771
- bmp: '\0-\x7F'
772
- },
773
- {
774
- name: 'InBassa_Vah',
775
- astral: '\uD81A[\uDED0-\uDEFF]'
776
- },
777
- {
778
- name: 'InBatak',
779
- bmp: '\u1BC0-\u1BFF'
780
- },
781
- {
782
- name: 'InBengali',
783
- bmp: '\u0980-\u09FF'
784
- },
785
- {
786
- name: 'InBhaiksuki',
787
- astral: '\uD807[\uDC00-\uDC6F]'
788
- },
789
- {
790
- name: 'InBlock_Elements',
791
- bmp: '\u2580-\u259F'
792
- },
793
- {
794
- name: 'InBopomofo',
795
- bmp: '\u3100-\u312F'
796
- },
797
- {
798
- name: 'InBopomofo_Extended',
799
- bmp: '\u31A0-\u31BF'
800
- },
801
- {
802
- name: 'InBox_Drawing',
803
- bmp: '\u2500-\u257F'
804
- },
805
- {
806
- name: 'InBrahmi',
807
- astral: '\uD804[\uDC00-\uDC7F]'
808
- },
809
- {
810
- name: 'InBraille_Patterns',
811
- bmp: '\u2800-\u28FF'
812
- },
813
- {
814
- name: 'InBuginese',
815
- bmp: '\u1A00-\u1A1F'
816
- },
817
- {
818
- name: 'InBuhid',
819
- bmp: '\u1740-\u175F'
820
- },
821
- {
822
- name: 'InByzantine_Musical_Symbols',
823
- astral: '\uD834[\uDC00-\uDCFF]'
824
- },
825
- {
826
- name: 'InCJK_Compatibility',
827
- bmp: '\u3300-\u33FF'
828
- },
829
- {
830
- name: 'InCJK_Compatibility_Forms',
831
- bmp: '\uFE30-\uFE4F'
832
- },
833
- {
834
- name: 'InCJK_Compatibility_Ideographs',
835
- bmp: '\uF900-\uFAFF'
836
- },
837
- {
838
- name: 'InCJK_Compatibility_Ideographs_Supplement',
839
- astral: '\uD87E[\uDC00-\uDE1F]'
840
- },
841
- {
842
- name: 'InCJK_Radicals_Supplement',
843
- bmp: '\u2E80-\u2EFF'
844
- },
845
- {
846
- name: 'InCJK_Strokes',
847
- bmp: '\u31C0-\u31EF'
848
- },
849
- {
850
- name: 'InCJK_Symbols_and_Punctuation',
851
- bmp: '\u3000-\u303F'
852
- },
853
- {
854
- name: 'InCJK_Unified_Ideographs',
855
- bmp: '\u4E00-\u9FFF'
856
- },
857
- {
858
- name: 'InCJK_Unified_Ideographs_Extension_A',
859
- bmp: '\u3400-\u4DBF'
860
- },
861
- {
862
- name: 'InCJK_Unified_Ideographs_Extension_B',
863
- astral: '[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF]'
864
- },
865
- {
866
- name: 'InCJK_Unified_Ideographs_Extension_C',
867
- astral: '\uD869[\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF3F]'
868
- },
869
- {
870
- name: 'InCJK_Unified_Ideographs_Extension_D',
871
- astral: '\uD86D[\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1F]'
872
- },
873
- {
874
- name: 'InCJK_Unified_Ideographs_Extension_E',
875
- astral: '\uD86E[\uDC20-\uDFFF]|[\uD86F-\uD872][\uDC00-\uDFFF]|\uD873[\uDC00-\uDEAF]'
876
- },
877
- {
878
- name: 'InCarian',
879
- astral: '\uD800[\uDEA0-\uDEDF]'
880
- },
881
- {
882
- name: 'InCaucasian_Albanian',
883
- astral: '\uD801[\uDD30-\uDD6F]'
884
- },
885
- {
886
- name: 'InChakma',
887
- astral: '\uD804[\uDD00-\uDD4F]'
888
- },
889
- {
890
- name: 'InCham',
891
- bmp: '\uAA00-\uAA5F'
892
- },
893
- {
894
- name: 'InCherokee',
895
- bmp: '\u13A0-\u13FF'
896
- },
897
- {
898
- name: 'InCherokee_Supplement',
899
- bmp: '\uAB70-\uABBF'
900
- },
901
- {
902
- name: 'InCombining_Diacritical_Marks',
903
- bmp: '\u0300-\u036F'
904
- },
905
- {
906
- name: 'InCombining_Diacritical_Marks_Extended',
907
- bmp: '\u1AB0-\u1AFF'
908
- },
909
- {
910
- name: 'InCombining_Diacritical_Marks_Supplement',
911
- bmp: '\u1DC0-\u1DFF'
912
- },
913
- {
914
- name: 'InCombining_Diacritical_Marks_for_Symbols',
915
- bmp: '\u20D0-\u20FF'
916
- },
917
- {
918
- name: 'InCombining_Half_Marks',
919
- bmp: '\uFE20-\uFE2F'
920
- },
921
- {
922
- name: 'InCommon_Indic_Number_Forms',
923
- bmp: '\uA830-\uA83F'
924
- },
925
- {
926
- name: 'InControl_Pictures',
927
- bmp: '\u2400-\u243F'
928
- },
929
- {
930
- name: 'InCoptic',
931
- bmp: '\u2C80-\u2CFF'
932
- },
933
- {
934
- name: 'InCoptic_Epact_Numbers',
935
- astral: '\uD800[\uDEE0-\uDEFF]'
936
- },
937
- {
938
- name: 'InCounting_Rod_Numerals',
939
- astral: '\uD834[\uDF60-\uDF7F]'
940
- },
941
- {
942
- name: 'InCuneiform',
943
- astral: '\uD808[\uDC00-\uDFFF]'
944
- },
945
- {
946
- name: 'InCuneiform_Numbers_and_Punctuation',
947
- astral: '\uD809[\uDC00-\uDC7F]'
948
- },
949
- {
950
- name: 'InCurrency_Symbols',
951
- bmp: '\u20A0-\u20CF'
952
- },
953
- {
954
- name: 'InCypriot_Syllabary',
955
- astral: '\uD802[\uDC00-\uDC3F]'
956
- },
957
- {
958
- name: 'InCyrillic',
959
- bmp: '\u0400-\u04FF'
960
- },
961
- {
962
- name: 'InCyrillic_Extended_A',
963
- bmp: '\u2DE0-\u2DFF'
964
- },
965
- {
966
- name: 'InCyrillic_Extended_B',
967
- bmp: '\uA640-\uA69F'
968
- },
969
- {
970
- name: 'InCyrillic_Extended_C',
971
- bmp: '\u1C80-\u1C8F'
972
- },
973
- {
974
- name: 'InCyrillic_Supplement',
975
- bmp: '\u0500-\u052F'
976
- },
977
- {
978
- name: 'InDeseret',
979
- astral: '\uD801[\uDC00-\uDC4F]'
980
- },
981
- {
982
- name: 'InDevanagari',
983
- bmp: '\u0900-\u097F'
984
- },
985
- {
986
- name: 'InDevanagari_Extended',
987
- bmp: '\uA8E0-\uA8FF'
988
- },
989
- {
990
- name: 'InDingbats',
991
- bmp: '\u2700-\u27BF'
992
- },
993
- {
994
- name: 'InDomino_Tiles',
995
- astral: '\uD83C[\uDC30-\uDC9F]'
996
- },
997
- {
998
- name: 'InDuployan',
999
- astral: '\uD82F[\uDC00-\uDC9F]'
1000
- },
1001
- {
1002
- name: 'InEarly_Dynastic_Cuneiform',
1003
- astral: '\uD809[\uDC80-\uDD4F]'
1004
- },
1005
- {
1006
- name: 'InEgyptian_Hieroglyphs',
1007
- astral: '\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F]'
1008
- },
1009
- {
1010
- name: 'InElbasan',
1011
- astral: '\uD801[\uDD00-\uDD2F]'
1012
- },
1013
- {
1014
- name: 'InEmoticons',
1015
- astral: '\uD83D[\uDE00-\uDE4F]'
1016
- },
1017
- {
1018
- name: 'InEnclosed_Alphanumeric_Supplement',
1019
- astral: '\uD83C[\uDD00-\uDDFF]'
1020
- },
1021
- {
1022
- name: 'InEnclosed_Alphanumerics',
1023
- bmp: '\u2460-\u24FF'
1024
- },
1025
- {
1026
- name: 'InEnclosed_CJK_Letters_and_Months',
1027
- bmp: '\u3200-\u32FF'
1028
- },
1029
- {
1030
- name: 'InEnclosed_Ideographic_Supplement',
1031
- astral: '\uD83C[\uDE00-\uDEFF]'
1032
- },
1033
- {
1034
- name: 'InEthiopic',
1035
- bmp: '\u1200-\u137F'
1036
- },
1037
- {
1038
- name: 'InEthiopic_Extended',
1039
- bmp: '\u2D80-\u2DDF'
1040
- },
1041
- {
1042
- name: 'InEthiopic_Extended_A',
1043
- bmp: '\uAB00-\uAB2F'
1044
- },
1045
- {
1046
- name: 'InEthiopic_Supplement',
1047
- bmp: '\u1380-\u139F'
1048
- },
1049
- {
1050
- name: 'InGeneral_Punctuation',
1051
- bmp: '\u2000-\u206F'
1052
- },
1053
- {
1054
- name: 'InGeometric_Shapes',
1055
- bmp: '\u25A0-\u25FF'
1056
- },
1057
- {
1058
- name: 'InGeometric_Shapes_Extended',
1059
- astral: '\uD83D[\uDF80-\uDFFF]'
1060
- },
1061
- {
1062
- name: 'InGeorgian',
1063
- bmp: '\u10A0-\u10FF'
1064
- },
1065
- {
1066
- name: 'InGeorgian_Supplement',
1067
- bmp: '\u2D00-\u2D2F'
1068
- },
1069
- {
1070
- name: 'InGlagolitic',
1071
- bmp: '\u2C00-\u2C5F'
1072
- },
1073
- {
1074
- name: 'InGlagolitic_Supplement',
1075
- astral: '\uD838[\uDC00-\uDC2F]'
1076
- },
1077
- {
1078
- name: 'InGothic',
1079
- astral: '\uD800[\uDF30-\uDF4F]'
1080
- },
1081
- {
1082
- name: 'InGrantha',
1083
- astral: '\uD804[\uDF00-\uDF7F]'
1084
- },
1085
- {
1086
- name: 'InGreek_Extended',
1087
- bmp: '\u1F00-\u1FFF'
1088
- },
1089
- {
1090
- name: 'InGreek_and_Coptic',
1091
- bmp: '\u0370-\u03FF'
1092
- },
1093
- {
1094
- name: 'InGujarati',
1095
- bmp: '\u0A80-\u0AFF'
1096
- },
1097
- {
1098
- name: 'InGurmukhi',
1099
- bmp: '\u0A00-\u0A7F'
1100
- },
1101
- {
1102
- name: 'InHalfwidth_and_Fullwidth_Forms',
1103
- bmp: '\uFF00-\uFFEF'
1104
- },
1105
- {
1106
- name: 'InHangul_Compatibility_Jamo',
1107
- bmp: '\u3130-\u318F'
1108
- },
1109
- {
1110
- name: 'InHangul_Jamo',
1111
- bmp: '\u1100-\u11FF'
1112
- },
1113
- {
1114
- name: 'InHangul_Jamo_Extended_A',
1115
- bmp: '\uA960-\uA97F'
1116
- },
1117
- {
1118
- name: 'InHangul_Jamo_Extended_B',
1119
- bmp: '\uD7B0-\uD7FF'
1120
- },
1121
- {
1122
- name: 'InHangul_Syllables',
1123
- bmp: '\uAC00-\uD7AF'
1124
- },
1125
- {
1126
- name: 'InHanunoo',
1127
- bmp: '\u1720-\u173F'
1128
- },
1129
- {
1130
- name: 'InHatran',
1131
- astral: '\uD802[\uDCE0-\uDCFF]'
1132
- },
1133
- {
1134
- name: 'InHebrew',
1135
- bmp: '\u0590-\u05FF'
1136
- },
1137
- {
1138
- name: 'InHigh_Private_Use_Surrogates',
1139
- bmp: '\uDB80-\uDBFF'
1140
- },
1141
- {
1142
- name: 'InHigh_Surrogates',
1143
- bmp: '\uD800-\uDB7F'
1144
- },
1145
- {
1146
- name: 'InHiragana',
1147
- bmp: '\u3040-\u309F'
1148
- },
1149
- {
1150
- name: 'InIPA_Extensions',
1151
- bmp: '\u0250-\u02AF'
1152
- },
1153
- {
1154
- name: 'InIdeographic_Description_Characters',
1155
- bmp: '\u2FF0-\u2FFF'
1156
- },
1157
- {
1158
- name: 'InIdeographic_Symbols_and_Punctuation',
1159
- astral: '\uD81B[\uDFE0-\uDFFF]'
1160
- },
1161
- {
1162
- name: 'InImperial_Aramaic',
1163
- astral: '\uD802[\uDC40-\uDC5F]'
1164
- },
1165
- {
1166
- name: 'InInscriptional_Pahlavi',
1167
- astral: '\uD802[\uDF60-\uDF7F]'
1168
- },
1169
- {
1170
- name: 'InInscriptional_Parthian',
1171
- astral: '\uD802[\uDF40-\uDF5F]'
1172
- },
1173
- {
1174
- name: 'InJavanese',
1175
- bmp: '\uA980-\uA9DF'
1176
- },
1177
- {
1178
- name: 'InKaithi',
1179
- astral: '\uD804[\uDC80-\uDCCF]'
1180
- },
1181
- {
1182
- name: 'InKana_Supplement',
1183
- astral: '\uD82C[\uDC00-\uDCFF]'
1184
- },
1185
- {
1186
- name: 'InKanbun',
1187
- bmp: '\u3190-\u319F'
1188
- },
1189
- {
1190
- name: 'InKangxi_Radicals',
1191
- bmp: '\u2F00-\u2FDF'
1192
- },
1193
- {
1194
- name: 'InKannada',
1195
- bmp: '\u0C80-\u0CFF'
1196
- },
1197
- {
1198
- name: 'InKatakana',
1199
- bmp: '\u30A0-\u30FF'
1200
- },
1201
- {
1202
- name: 'InKatakana_Phonetic_Extensions',
1203
- bmp: '\u31F0-\u31FF'
1204
- },
1205
- {
1206
- name: 'InKayah_Li',
1207
- bmp: '\uA900-\uA92F'
1208
- },
1209
- {
1210
- name: 'InKharoshthi',
1211
- astral: '\uD802[\uDE00-\uDE5F]'
1212
- },
1213
- {
1214
- name: 'InKhmer',
1215
- bmp: '\u1780-\u17FF'
1216
- },
1217
- {
1218
- name: 'InKhmer_Symbols',
1219
- bmp: '\u19E0-\u19FF'
1220
- },
1221
- {
1222
- name: 'InKhojki',
1223
- astral: '\uD804[\uDE00-\uDE4F]'
1224
- },
1225
- {
1226
- name: 'InKhudawadi',
1227
- astral: '\uD804[\uDEB0-\uDEFF]'
1228
- },
1229
- {
1230
- name: 'InLao',
1231
- bmp: '\u0E80-\u0EFF'
1232
- },
1233
- {
1234
- name: 'InLatin_Extended_Additional',
1235
- bmp: '\u1E00-\u1EFF'
1236
- },
1237
- {
1238
- name: 'InLatin_Extended_A',
1239
- bmp: '\u0100-\u017F'
1240
- },
1241
- {
1242
- name: 'InLatin_Extended_B',
1243
- bmp: '\u0180-\u024F'
1244
- },
1245
- {
1246
- name: 'InLatin_Extended_C',
1247
- bmp: '\u2C60-\u2C7F'
1248
- },
1249
- {
1250
- name: 'InLatin_Extended_D',
1251
- bmp: '\uA720-\uA7FF'
1252
- },
1253
- {
1254
- name: 'InLatin_Extended_E',
1255
- bmp: '\uAB30-\uAB6F'
1256
- },
1257
- {
1258
- name: 'InLatin_1_Supplement',
1259
- bmp: '\x80-\xFF'
1260
- },
1261
- {
1262
- name: 'InLepcha',
1263
- bmp: '\u1C00-\u1C4F'
1264
- },
1265
- {
1266
- name: 'InLetterlike_Symbols',
1267
- bmp: '\u2100-\u214F'
1268
- },
1269
- {
1270
- name: 'InLimbu',
1271
- bmp: '\u1900-\u194F'
1272
- },
1273
- {
1274
- name: 'InLinear_A',
1275
- astral: '\uD801[\uDE00-\uDF7F]'
1276
- },
1277
- {
1278
- name: 'InLinear_B_Ideograms',
1279
- astral: '\uD800[\uDC80-\uDCFF]'
1280
- },
1281
- {
1282
- name: 'InLinear_B_Syllabary',
1283
- astral: '\uD800[\uDC00-\uDC7F]'
1284
- },
1285
- {
1286
- name: 'InLisu',
1287
- bmp: '\uA4D0-\uA4FF'
1288
- },
1289
- {
1290
- name: 'InLow_Surrogates',
1291
- bmp: '\uDC00-\uDFFF'
1292
- },
1293
- {
1294
- name: 'InLycian',
1295
- astral: '\uD800[\uDE80-\uDE9F]'
1296
- },
1297
- {
1298
- name: 'InLydian',
1299
- astral: '\uD802[\uDD20-\uDD3F]'
1300
- },
1301
- {
1302
- name: 'InMahajani',
1303
- astral: '\uD804[\uDD50-\uDD7F]'
1304
- },
1305
- {
1306
- name: 'InMahjong_Tiles',
1307
- astral: '\uD83C[\uDC00-\uDC2F]'
1308
- },
1309
- {
1310
- name: 'InMalayalam',
1311
- bmp: '\u0D00-\u0D7F'
1312
- },
1313
- {
1314
- name: 'InMandaic',
1315
- bmp: '\u0840-\u085F'
1316
- },
1317
- {
1318
- name: 'InManichaean',
1319
- astral: '\uD802[\uDEC0-\uDEFF]'
1320
- },
1321
- {
1322
- name: 'InMarchen',
1323
- astral: '\uD807[\uDC70-\uDCBF]'
1324
- },
1325
- {
1326
- name: 'InMathematical_Alphanumeric_Symbols',
1327
- astral: '\uD835[\uDC00-\uDFFF]'
1328
- },
1329
- {
1330
- name: 'InMathematical_Operators',
1331
- bmp: '\u2200-\u22FF'
1332
- },
1333
- {
1334
- name: 'InMeetei_Mayek',
1335
- bmp: '\uABC0-\uABFF'
1336
- },
1337
- {
1338
- name: 'InMeetei_Mayek_Extensions',
1339
- bmp: '\uAAE0-\uAAFF'
1340
- },
1341
- {
1342
- name: 'InMende_Kikakui',
1343
- astral: '\uD83A[\uDC00-\uDCDF]'
1344
- },
1345
- {
1346
- name: 'InMeroitic_Cursive',
1347
- astral: '\uD802[\uDDA0-\uDDFF]'
1348
- },
1349
- {
1350
- name: 'InMeroitic_Hieroglyphs',
1351
- astral: '\uD802[\uDD80-\uDD9F]'
1352
- },
1353
- {
1354
- name: 'InMiao',
1355
- astral: '\uD81B[\uDF00-\uDF9F]'
1356
- },
1357
- {
1358
- name: 'InMiscellaneous_Mathematical_Symbols_A',
1359
- bmp: '\u27C0-\u27EF'
1360
- },
1361
- {
1362
- name: 'InMiscellaneous_Mathematical_Symbols_B',
1363
- bmp: '\u2980-\u29FF'
1364
- },
1365
- {
1366
- name: 'InMiscellaneous_Symbols',
1367
- bmp: '\u2600-\u26FF'
1368
- },
1369
- {
1370
- name: 'InMiscellaneous_Symbols_and_Arrows',
1371
- bmp: '\u2B00-\u2BFF'
1372
- },
1373
- {
1374
- name: 'InMiscellaneous_Symbols_and_Pictographs',
1375
- astral: '\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF]'
1376
- },
1377
- {
1378
- name: 'InMiscellaneous_Technical',
1379
- bmp: '\u2300-\u23FF'
1380
- },
1381
- {
1382
- name: 'InModi',
1383
- astral: '\uD805[\uDE00-\uDE5F]'
1384
- },
1385
- {
1386
- name: 'InModifier_Tone_Letters',
1387
- bmp: '\uA700-\uA71F'
1388
- },
1389
- {
1390
- name: 'InMongolian',
1391
- bmp: '\u1800-\u18AF'
1392
- },
1393
- {
1394
- name: 'InMongolian_Supplement',
1395
- astral: '\uD805[\uDE60-\uDE7F]'
1396
- },
1397
- {
1398
- name: 'InMro',
1399
- astral: '\uD81A[\uDE40-\uDE6F]'
1400
- },
1401
- {
1402
- name: 'InMultani',
1403
- astral: '\uD804[\uDE80-\uDEAF]'
1404
- },
1405
- {
1406
- name: 'InMusical_Symbols',
1407
- astral: '\uD834[\uDD00-\uDDFF]'
1408
- },
1409
- {
1410
- name: 'InMyanmar',
1411
- bmp: '\u1000-\u109F'
1412
- },
1413
- {
1414
- name: 'InMyanmar_Extended_A',
1415
- bmp: '\uAA60-\uAA7F'
1416
- },
1417
- {
1418
- name: 'InMyanmar_Extended_B',
1419
- bmp: '\uA9E0-\uA9FF'
1420
- },
1421
- {
1422
- name: 'InNKo',
1423
- bmp: '\u07C0-\u07FF'
1424
- },
1425
- {
1426
- name: 'InNabataean',
1427
- astral: '\uD802[\uDC80-\uDCAF]'
1428
- },
1429
- {
1430
- name: 'InNew_Tai_Lue',
1431
- bmp: '\u1980-\u19DF'
1432
- },
1433
- {
1434
- name: 'InNewa',
1435
- astral: '\uD805[\uDC00-\uDC7F]'
1436
- },
1437
- {
1438
- name: 'InNumber_Forms',
1439
- bmp: '\u2150-\u218F'
1440
- },
1441
- {
1442
- name: 'InOgham',
1443
- bmp: '\u1680-\u169F'
1444
- },
1445
- {
1446
- name: 'InOl_Chiki',
1447
- bmp: '\u1C50-\u1C7F'
1448
- },
1449
- {
1450
- name: 'InOld_Hungarian',
1451
- astral: '\uD803[\uDC80-\uDCFF]'
1452
- },
1453
- {
1454
- name: 'InOld_Italic',
1455
- astral: '\uD800[\uDF00-\uDF2F]'
1456
- },
1457
- {
1458
- name: 'InOld_North_Arabian',
1459
- astral: '\uD802[\uDE80-\uDE9F]'
1460
- },
1461
- {
1462
- name: 'InOld_Permic',
1463
- astral: '\uD800[\uDF50-\uDF7F]'
1464
- },
1465
- {
1466
- name: 'InOld_Persian',
1467
- astral: '\uD800[\uDFA0-\uDFDF]'
1468
- },
1469
- {
1470
- name: 'InOld_South_Arabian',
1471
- astral: '\uD802[\uDE60-\uDE7F]'
1472
- },
1473
- {
1474
- name: 'InOld_Turkic',
1475
- astral: '\uD803[\uDC00-\uDC4F]'
1476
- },
1477
- {
1478
- name: 'InOptical_Character_Recognition',
1479
- bmp: '\u2440-\u245F'
1480
- },
1481
- {
1482
- name: 'InOriya',
1483
- bmp: '\u0B00-\u0B7F'
1484
- },
1485
- {
1486
- name: 'InOrnamental_Dingbats',
1487
- astral: '\uD83D[\uDE50-\uDE7F]'
1488
- },
1489
- {
1490
- name: 'InOsage',
1491
- astral: '\uD801[\uDCB0-\uDCFF]'
1492
- },
1493
- {
1494
- name: 'InOsmanya',
1495
- astral: '\uD801[\uDC80-\uDCAF]'
1496
- },
1497
- {
1498
- name: 'InPahawh_Hmong',
1499
- astral: '\uD81A[\uDF00-\uDF8F]'
1500
- },
1501
- {
1502
- name: 'InPalmyrene',
1503
- astral: '\uD802[\uDC60-\uDC7F]'
1504
- },
1505
- {
1506
- name: 'InPau_Cin_Hau',
1507
- astral: '\uD806[\uDEC0-\uDEFF]'
1508
- },
1509
- {
1510
- name: 'InPhags_pa',
1511
- bmp: '\uA840-\uA87F'
1512
- },
1513
- {
1514
- name: 'InPhaistos_Disc',
1515
- astral: '\uD800[\uDDD0-\uDDFF]'
1516
- },
1517
- {
1518
- name: 'InPhoenician',
1519
- astral: '\uD802[\uDD00-\uDD1F]'
1520
- },
1521
- {
1522
- name: 'InPhonetic_Extensions',
1523
- bmp: '\u1D00-\u1D7F'
1524
- },
1525
- {
1526
- name: 'InPhonetic_Extensions_Supplement',
1527
- bmp: '\u1D80-\u1DBF'
1528
- },
1529
- {
1530
- name: 'InPlaying_Cards',
1531
- astral: '\uD83C[\uDCA0-\uDCFF]'
1532
- },
1533
- {
1534
- name: 'InPrivate_Use_Area',
1535
- bmp: '\uE000-\uF8FF'
1536
- },
1537
- {
1538
- name: 'InPsalter_Pahlavi',
1539
- astral: '\uD802[\uDF80-\uDFAF]'
1540
- },
1541
- {
1542
- name: 'InRejang',
1543
- bmp: '\uA930-\uA95F'
1544
- },
1545
- {
1546
- name: 'InRumi_Numeral_Symbols',
1547
- astral: '\uD803[\uDE60-\uDE7F]'
1548
- },
1549
- {
1550
- name: 'InRunic',
1551
- bmp: '\u16A0-\u16FF'
1552
- },
1553
- {
1554
- name: 'InSamaritan',
1555
- bmp: '\u0800-\u083F'
1556
- },
1557
- {
1558
- name: 'InSaurashtra',
1559
- bmp: '\uA880-\uA8DF'
1560
- },
1561
- {
1562
- name: 'InSharada',
1563
- astral: '\uD804[\uDD80-\uDDDF]'
1564
- },
1565
- {
1566
- name: 'InShavian',
1567
- astral: '\uD801[\uDC50-\uDC7F]'
1568
- },
1569
- {
1570
- name: 'InShorthand_Format_Controls',
1571
- astral: '\uD82F[\uDCA0-\uDCAF]'
1572
- },
1573
- {
1574
- name: 'InSiddham',
1575
- astral: '\uD805[\uDD80-\uDDFF]'
1576
- },
1577
- {
1578
- name: 'InSinhala',
1579
- bmp: '\u0D80-\u0DFF'
1580
- },
1581
- {
1582
- name: 'InSinhala_Archaic_Numbers',
1583
- astral: '\uD804[\uDDE0-\uDDFF]'
1584
- },
1585
- {
1586
- name: 'InSmall_Form_Variants',
1587
- bmp: '\uFE50-\uFE6F'
1588
- },
1589
- {
1590
- name: 'InSora_Sompeng',
1591
- astral: '\uD804[\uDCD0-\uDCFF]'
1592
- },
1593
- {
1594
- name: 'InSpacing_Modifier_Letters',
1595
- bmp: '\u02B0-\u02FF'
1596
- },
1597
- {
1598
- name: 'InSpecials',
1599
- bmp: '\uFFF0-\uFFFF'
1600
- },
1601
- {
1602
- name: 'InSundanese',
1603
- bmp: '\u1B80-\u1BBF'
1604
- },
1605
- {
1606
- name: 'InSundanese_Supplement',
1607
- bmp: '\u1CC0-\u1CCF'
1608
- },
1609
- {
1610
- name: 'InSuperscripts_and_Subscripts',
1611
- bmp: '\u2070-\u209F'
1612
- },
1613
- {
1614
- name: 'InSupplemental_Arrows_A',
1615
- bmp: '\u27F0-\u27FF'
1616
- },
1617
- {
1618
- name: 'InSupplemental_Arrows_B',
1619
- bmp: '\u2900-\u297F'
1620
- },
1621
- {
1622
- name: 'InSupplemental_Arrows_C',
1623
- astral: '\uD83E[\uDC00-\uDCFF]'
1624
- },
1625
- {
1626
- name: 'InSupplemental_Mathematical_Operators',
1627
- bmp: '\u2A00-\u2AFF'
1628
- },
1629
- {
1630
- name: 'InSupplemental_Punctuation',
1631
- bmp: '\u2E00-\u2E7F'
1632
- },
1633
- {
1634
- name: 'InSupplemental_Symbols_and_Pictographs',
1635
- astral: '\uD83E[\uDD00-\uDDFF]'
1636
- },
1637
- {
1638
- name: 'InSupplementary_Private_Use_Area_A',
1639
- astral: '[\uDB80-\uDBBF][\uDC00-\uDFFF]'
1640
- },
1641
- {
1642
- name: 'InSupplementary_Private_Use_Area_B',
1643
- astral: '[\uDBC0-\uDBFF][\uDC00-\uDFFF]'
1644
- },
1645
- {
1646
- name: 'InSutton_SignWriting',
1647
- astral: '\uD836[\uDC00-\uDEAF]'
1648
- },
1649
- {
1650
- name: 'InSyloti_Nagri',
1651
- bmp: '\uA800-\uA82F'
1652
- },
1653
- {
1654
- name: 'InSyriac',
1655
- bmp: '\u0700-\u074F'
1656
- },
1657
- {
1658
- name: 'InTagalog',
1659
- bmp: '\u1700-\u171F'
1660
- },
1661
- {
1662
- name: 'InTagbanwa',
1663
- bmp: '\u1760-\u177F'
1664
- },
1665
- {
1666
- name: 'InTags',
1667
- astral: '\uDB40[\uDC00-\uDC7F]'
1668
- },
1669
- {
1670
- name: 'InTai_Le',
1671
- bmp: '\u1950-\u197F'
1672
- },
1673
- {
1674
- name: 'InTai_Tham',
1675
- bmp: '\u1A20-\u1AAF'
1676
- },
1677
- {
1678
- name: 'InTai_Viet',
1679
- bmp: '\uAA80-\uAADF'
1680
- },
1681
- {
1682
- name: 'InTai_Xuan_Jing_Symbols',
1683
- astral: '\uD834[\uDF00-\uDF5F]'
1684
- },
1685
- {
1686
- name: 'InTakri',
1687
- astral: '\uD805[\uDE80-\uDECF]'
1688
- },
1689
- {
1690
- name: 'InTamil',
1691
- bmp: '\u0B80-\u0BFF'
1692
- },
1693
- {
1694
- name: 'InTangut',
1695
- astral: '[\uD81C-\uD821][\uDC00-\uDFFF]'
1696
- },
1697
- {
1698
- name: 'InTangut_Components',
1699
- astral: '\uD822[\uDC00-\uDEFF]'
1700
- },
1701
- {
1702
- name: 'InTelugu',
1703
- bmp: '\u0C00-\u0C7F'
1704
- },
1705
- {
1706
- name: 'InThaana',
1707
- bmp: '\u0780-\u07BF'
1708
- },
1709
- {
1710
- name: 'InThai',
1711
- bmp: '\u0E00-\u0E7F'
1712
- },
1713
- {
1714
- name: 'InTibetan',
1715
- bmp: '\u0F00-\u0FFF'
1716
- },
1717
- {
1718
- name: 'InTifinagh',
1719
- bmp: '\u2D30-\u2D7F'
1720
- },
1721
- {
1722
- name: 'InTirhuta',
1723
- astral: '\uD805[\uDC80-\uDCDF]'
1724
- },
1725
- {
1726
- name: 'InTransport_and_Map_Symbols',
1727
- astral: '\uD83D[\uDE80-\uDEFF]'
1728
- },
1729
- {
1730
- name: 'InUgaritic',
1731
- astral: '\uD800[\uDF80-\uDF9F]'
1732
- },
1733
- {
1734
- name: 'InUnified_Canadian_Aboriginal_Syllabics',
1735
- bmp: '\u1400-\u167F'
1736
- },
1737
- {
1738
- name: 'InUnified_Canadian_Aboriginal_Syllabics_Extended',
1739
- bmp: '\u18B0-\u18FF'
1740
- },
1741
- {
1742
- name: 'InVai',
1743
- bmp: '\uA500-\uA63F'
1744
- },
1745
- {
1746
- name: 'InVariation_Selectors',
1747
- bmp: '\uFE00-\uFE0F'
1748
- },
1749
- {
1750
- name: 'InVariation_Selectors_Supplement',
1751
- astral: '\uDB40[\uDD00-\uDDEF]'
1752
- },
1753
- {
1754
- name: 'InVedic_Extensions',
1755
- bmp: '\u1CD0-\u1CFF'
1756
- },
1757
- {
1758
- name: 'InVertical_Forms',
1759
- bmp: '\uFE10-\uFE1F'
1760
- },
1761
- {
1762
- name: 'InWarang_Citi',
1763
- astral: '\uD806[\uDCA0-\uDCFF]'
1764
- },
1765
- {
1766
- name: 'InYi_Radicals',
1767
- bmp: '\uA490-\uA4CF'
1768
- },
1769
- {
1770
- name: 'InYi_Syllables',
1771
- bmp: '\uA000-\uA48F'
1772
- },
1773
- {
1774
- name: 'InYijing_Hexagram_Symbols',
1775
- bmp: '\u4DC0-\u4DFF'
1776
- }
1777
- ]);
1778
-
1779
- };
1780
-
1781
- },{}],5:[function(require,module,exports){
1782
- /*!
1783
- * XRegExp Unicode Categories 3.2.0
1784
- * <xregexp.com>
1785
- * Steven Levithan (c) 2010-2017 MIT License
1786
- * Unicode data by Mathias Bynens <mathiasbynens.be>
1787
- */
1788
-
1789
- module.exports = function(XRegExp) {
1790
- 'use strict';
1791
-
1792
- /**
1793
- * Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See
1794
- * category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token
1795
- * names are case insensitive, and any spaces, hyphens, and underscores are ignored.
1796
- *
1797
- * Uses Unicode 9.0.0.
1798
- *
1799
- * @requires XRegExp, Unicode Base
1800
- */
1801
-
1802
- if (!XRegExp.addUnicodeData) {
1803
- throw new ReferenceError('Unicode Base must be loaded before Unicode Categories');
1804
- }
1805
-
1806
- XRegExp.addUnicodeData([
1807
- {
1808
- name: 'C',
1809
- alias: 'Other',
1810
- isBmpLast: true,
1811
- bmp: '\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u0560\u0588\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08B5\u08BE-\u08D3\u08E2\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0AFA-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D00\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180E\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1CBF\u1CC8-\u1CCF\u1CF7\u1CFA-\u1CFF\u1DF6-\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BF-\u20CF\u20F1-\u20FF\u218C-\u218F\u23FF\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2B97\u2BBA-\u2BBC\u2BC9\u2BD2-\u2BEB\u2BF0-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E45-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FD6-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7AF\uA7B8-\uA7F6\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA8FE\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB66-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF',
1812
- astral: '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9C-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2F\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD70-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE34-\uDE37\uDE3B-\uDE3E\uDE48-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD00-\uDE5F\uDE7F-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC70-\uDC7E\uDCBD\uDCC2-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD44-\uDD4F\uDD77-\uDD7F\uDDCE\uDDCF\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF3B\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5A\uDC5C\uDC5E-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEB8-\uDEBF\uDECA-\uDEFF\uDF1A-\uDF1C\uDF2C-\uDF2F\uDF40-\uDFFF]|\uD806[\uDC00-\uDC9F\uDCF3-\uDCFE\uDD00-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83F\uD874-\uD87D\uD87F-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDE70-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDEFF\uDF45-\uDF4F\uDF7F-\uDF8E\uDFA0-\uDFDF\uDFE1-\uDFFF]|\uD821[\uDFED-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDC02-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDE9-\uDDFF\uDE46-\uDEFF\uDF57-\uDF5F\uDF72-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4B-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD6F\uDDAD-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDEFF]|\uD83D[\uDED3-\uDEDF\uDEED-\uDEEF\uDEF7-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDD0F\uDD1F\uDD28-\uDD2F\uDD31\uDD32\uDD3F\uDD4C-\uDD4F\uDD5F-\uDD7F\uDD92-\uDDBF\uDDC1-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]'
1813
- },
1814
- {
1815
- name: 'Cc',
1816
- alias: 'Control',
1817
- bmp: '\0-\x1F\x7F-\x9F'
1818
- },
1819
- {
1820
- name: 'Cf',
1821
- alias: 'Format',
1822
- bmp: '\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB',
1823
- astral: '\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]'
1824
- },
1825
- {
1826
- name: 'Cn',
1827
- alias: 'Unassigned',
1828
- bmp: '\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u0560\u0588\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u05FF\u061D\u070E\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08B5\u08BE-\u08D3\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0AFA-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D00\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1CBF\u1CC8-\u1CCF\u1CF7\u1CFA-\u1CFF\u1DF6-\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u2065\u2072\u2073\u208F\u209D-\u209F\u20BF-\u20CF\u20F1-\u20FF\u218C-\u218F\u23FF\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2B97\u2BBA-\u2BBC\u2BC9\u2BD2-\u2BEB\u2BF0-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E45-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FD6-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7AF\uA7B8-\uA7F6\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA8FE\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB66-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD\uFEFE\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFF8\uFFFE\uFFFF',
1829
- astral: '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9C-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2F\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD70-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE34-\uDE37\uDE3B-\uDE3E\uDE48-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD00-\uDE5F\uDE7F-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC70-\uDC7E\uDCC2-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD44-\uDD4F\uDD77-\uDD7F\uDDCE\uDDCF\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF3B\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5A\uDC5C\uDC5E-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEB8-\uDEBF\uDECA-\uDEFF\uDF1A-\uDF1C\uDF2C-\uDF2F\uDF40-\uDFFF]|\uD806[\uDC00-\uDC9F\uDCF3-\uDCFE\uDD00-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83F\uD874-\uD87D\uD87F-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDE70-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDEFF\uDF45-\uDF4F\uDF7F-\uDF8E\uDFA0-\uDFDF\uDFE1-\uDFFF]|\uD821[\uDFED-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDC02-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDE9-\uDDFF\uDE46-\uDEFF\uDF57-\uDF5F\uDF72-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4B-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD6F\uDDAD-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDEFF]|\uD83D[\uDED3-\uDEDF\uDEED-\uDEEF\uDEF7-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDD0F\uDD1F\uDD28-\uDD2F\uDD31\uDD32\uDD3F\uDD4C-\uDD4F\uDD5F-\uDD7F\uDD92-\uDDBF\uDDC1-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]'
1830
- },
1831
- {
1832
- name: 'Co',
1833
- alias: 'Private_Use',
1834
- bmp: '\uE000-\uF8FF',
1835
- astral: '[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]'
1836
- },
1837
- {
1838
- name: 'Cs',
1839
- alias: 'Surrogate',
1840
- bmp: '\uD800-\uDFFF'
1841
- },
1842
- {
1843
- name: 'L',
1844
- alias: 'Letter',
1845
- bmp: 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC',
1846
- astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]'
1847
- },
1848
- {
1849
- name: 'Ll',
1850
- alias: 'Lowercase_Letter',
1851
- bmp: 'a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A',
1852
- astral: '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43]'
1853
- },
1854
- {
1855
- name: 'Lm',
1856
- alias: 'Modifier_Letter',
1857
- bmp: '\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E\uFF9F',
1858
- astral: '\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0]'
1859
- },
1860
- {
1861
- name: 'Lo',
1862
- alias: 'Other_Letter',
1863
- bmp: '\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC',
1864
- astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]'
1865
- },
1866
- {
1867
- name: 'Lt',
1868
- alias: 'Titlecase_Letter',
1869
- bmp: '\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC'
1870
- },
1871
- {
1872
- name: 'Lu',
1873
- alias: 'Uppercase_Letter',
1874
- bmp: 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A',
1875
- astral: '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]'
1876
- },
1877
- {
1878
- name: 'M',
1879
- alias: 'Mark',
1880
- bmp: '\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F',
1881
- astral: '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDCA-\uDDCC\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]'
1882
- },
1883
- {
1884
- name: 'Mc',
1885
- alias: 'Spacing_Mark',
1886
- bmp: '\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2\u1CF3\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC',
1887
- astral: '\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4]|\uD81B[\uDF51-\uDF7E]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]'
1888
- },
1889
- {
1890
- name: 'Me',
1891
- alias: 'Enclosing_Mark',
1892
- bmp: '\u0488\u0489\u1ABE\u20DD-\u20E0\u20E2-\u20E4\uA670-\uA672'
1893
- },
1894
- {
1895
- name: 'Mn',
1896
- alias: 'Nonspacing_Mark',
1897
- bmp: '\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F',
1898
- astral: '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDCA-\uDDCC\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]'
1899
- },
1900
- {
1901
- name: 'N',
1902
- alias: 'Number',
1903
- bmp: '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19',
1904
- astral: '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE47\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2]|\uD807[\uDC50-\uDC6C]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59\uDF5B-\uDF61]|\uD834[\uDF60-\uDF71]|\uD835[\uDFCE-\uDFFF]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83C[\uDD00-\uDD0C]'
1905
- },
1906
- {
1907
- name: 'Nd',
1908
- alias: 'Decimal_Number',
1909
- bmp: '0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19',
1910
- astral: '\uD801[\uDCA0-\uDCA9]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9]|\uD807[\uDC50-\uDC59]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD83A[\uDD50-\uDD59]'
1911
- },
1912
- {
1913
- name: 'Nl',
1914
- alias: 'Letter_Number',
1915
- bmp: '\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF',
1916
- astral: '\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]'
1917
- },
1918
- {
1919
- name: 'No',
1920
- alias: 'Other_Number',
1921
- bmp: '\xB2\xB3\xB9\xBC-\xBE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D58-\u0D5E\u0D70-\u0D78\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835',
1922
- astral: '\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE47\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C]|\uD81A[\uDF5B-\uDF61]|\uD834[\uDF60-\uDF71]|\uD83A[\uDCC7-\uDCCF]|\uD83C[\uDD00-\uDD0C]'
1923
- },
1924
- {
1925
- name: 'P',
1926
- alias: 'Punctuation',
1927
- bmp: '\x21-\x23\x25-\\x2A\x2C-\x2F\x3A\x3B\\x3F\x40\\x5B-\\x5D\x5F\\x7B\x7D\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E44\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65',
1928
- astral: '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]'
1929
- },
1930
- {
1931
- name: 'Pc',
1932
- alias: 'Connector_Punctuation',
1933
- bmp: '\x5F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F'
1934
- },
1935
- {
1936
- name: 'Pd',
1937
- alias: 'Dash_Punctuation',
1938
- bmp: '\\x2D\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D'
1939
- },
1940
- {
1941
- name: 'Pe',
1942
- alias: 'Close_Punctuation',
1943
- bmp: '\\x29\\x5D\x7D\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u2309\u230B\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3E\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63'
1944
- },
1945
- {
1946
- name: 'Pf',
1947
- alias: 'Final_Punctuation',
1948
- bmp: '\xBB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21'
1949
- },
1950
- {
1951
- name: 'Pi',
1952
- alias: 'Initial_Punctuation',
1953
- bmp: '\xAB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20'
1954
- },
1955
- {
1956
- name: 'Po',
1957
- alias: 'Other_Punctuation',
1958
- bmp: '\x21-\x23\x25-\x27\\x2A\x2C\\x2E\x2F\x3A\x3B\\x3F\x40\\x5C\xA1\xA7\xB6\xB7\xBF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166D\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u2E3C-\u2E3F\u2E41\u2E43\u2E44\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65',
1959
- astral: '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]'
1960
- },
1961
- {
1962
- name: 'Ps',
1963
- alias: 'Open_Punctuation',
1964
- bmp: '\\x28\\x5B\\x7B\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2308\u230A\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u2E42\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3F\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62'
1965
- },
1966
- {
1967
- name: 'S',
1968
- alias: 'Symbol',
1969
- bmp: '\\x24\\x2B\x3C-\x3E\\x5E\x60\\x7C\x7E\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BE\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u23FE\u2400-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD',
1970
- astral: '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD83B[\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]'
1971
- },
1972
- {
1973
- name: 'Sc',
1974
- alias: 'Currency_Symbol',
1975
- bmp: '\\x24\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BE\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6'
1976
- },
1977
- {
1978
- name: 'Sk',
1979
- alias: 'Modifier_Symbol',
1980
- bmp: '\\x5E\x60\xA8\xAF\xB4\xB8\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u309B\u309C\uA700-\uA716\uA720\uA721\uA789\uA78A\uAB5B\uFBB2-\uFBC1\uFF3E\uFF40\uFFE3',
1981
- astral: '\uD83C[\uDFFB-\uDFFF]'
1982
- },
1983
- {
1984
- name: 'Sm',
1985
- alias: 'Math_Symbol',
1986
- bmp: '\\x2B\x3C-\x3E\\x7C\x7E\xAC\xB1\xD7\xF7\u03F6\u0606-\u0608\u2044\u2052\u207A-\u207C\u208A-\u208C\u2118\u2140-\u2144\u214B\u2190-\u2194\u219A\u219B\u21A0\u21A3\u21A6\u21AE\u21CE\u21CF\u21D2\u21D4\u21F4-\u22FF\u2320\u2321\u237C\u239B-\u23B3\u23DC-\u23E1\u25B7\u25C1\u25F8-\u25FF\u266F\u27C0-\u27C4\u27C7-\u27E5\u27F0-\u27FF\u2900-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2AFF\u2B30-\u2B44\u2B47-\u2B4C\uFB29\uFE62\uFE64-\uFE66\uFF0B\uFF1C-\uFF1E\uFF5C\uFF5E\uFFE2\uFFE9-\uFFEC',
1987
- astral: '\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]'
1988
- },
1989
- {
1990
- name: 'So',
1991
- alias: 'Other_Symbol',
1992
- bmp: '\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u23FE\u2400-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD',
1993
- astral: '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]'
1994
- },
1995
- {
1996
- name: 'Z',
1997
- alias: 'Separator',
1998
- bmp: '\x20\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000'
1999
- },
2000
- {
2001
- name: 'Zl',
2002
- alias: 'Line_Separator',
2003
- bmp: '\u2028'
2004
- },
2005
- {
2006
- name: 'Zp',
2007
- alias: 'Paragraph_Separator',
2008
- bmp: '\u2029'
2009
- },
2010
- {
2011
- name: 'Zs',
2012
- alias: 'Space_Separator',
2013
- bmp: '\x20\xA0\u1680\u2000-\u200A\u202F\u205F\u3000'
2014
- }
2015
- ]);
2016
-
2017
- };
2018
-
2019
- },{}],6:[function(require,module,exports){
2020
- /*!
2021
- * XRegExp Unicode Properties 3.2.0
2022
- * <xregexp.com>
2023
- * Steven Levithan (c) 2012-2017 MIT License
2024
- * Unicode data by Mathias Bynens <mathiasbynens.be>
2025
- */
2026
-
2027
- module.exports = function(XRegExp) {
2028
- 'use strict';
2029
-
2030
- /**
2031
- * Adds properties to meet the UTS #18 Level 1 RL1.2 requirements for Unicode regex support. See
2032
- * <http://unicode.org/reports/tr18/#RL1.2>. Following are definitions of these properties from
2033
- * UAX #44 <http://unicode.org/reports/tr44/>:
2034
- *
2035
- * - Alphabetic
2036
- * Characters with the Alphabetic property. Generated from: Lowercase + Uppercase + Lt + Lm +
2037
- * Lo + Nl + Other_Alphabetic.
2038
- *
2039
- * - Default_Ignorable_Code_Point
2040
- * For programmatic determination of default ignorable code points. New characters that should
2041
- * be ignored in rendering (unless explicitly supported) will be assigned in these ranges,
2042
- * permitting programs to correctly handle the default rendering of such characters when not
2043
- * otherwise supported.
2044
- *
2045
- * - Lowercase
2046
- * Characters with the Lowercase property. Generated from: Ll + Other_Lowercase.
2047
- *
2048
- * - Noncharacter_Code_Point
2049
- * Code points permanently reserved for internal use.
2050
- *
2051
- * - Uppercase
2052
- * Characters with the Uppercase property. Generated from: Lu + Other_Uppercase.
2053
- *
2054
- * - White_Space
2055
- * Spaces, separator characters and other control characters which should be treated by
2056
- * programming languages as "white space" for the purpose of parsing elements.
2057
- *
2058
- * The properties ASCII, Any, and Assigned are also included but are not defined in UAX #44. UTS
2059
- * #18 RL1.2 additionally requires support for Unicode scripts and general categories. These are
2060
- * included in XRegExp's Unicode Categories and Unicode Scripts addons.
2061
- *
2062
- * Token names are case insensitive, and any spaces, hyphens, and underscores are ignored.
2063
- *
2064
- * Uses Unicode 9.0.0.
2065
- *
2066
- * @requires XRegExp, Unicode Base
2067
- */
2068
-
2069
- if (!XRegExp.addUnicodeData) {
2070
- throw new ReferenceError('Unicode Base must be loaded before Unicode Properties');
2071
- }
2072
-
2073
- var unicodeData = [
2074
- {
2075
- name: 'ASCII',
2076
- bmp: '\0-\x7F'
2077
- },
2078
- {
2079
- name: 'Alphabetic',
2080
- bmp: 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0345\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05B0-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0657\u0659-\u065F\u066E-\u06D3\u06D5-\u06DC\u06E1-\u06E8\u06ED-\u06EF\u06FA-\u06FC\u06FF\u0710-\u073F\u074D-\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0817\u081A-\u082C\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08DF\u08E3-\u08E9\u08F0-\u093B\u093D-\u094C\u094E-\u0950\u0955-\u0963\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C4\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09F0\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A42\u0A47\u0A48\u0A4B\u0A4C\u0A51\u0A59-\u0A5C\u0A5E\u0A70-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC5\u0AC7-\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0-\u0AE3\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D-\u0B44\u0B47\u0B48\u0B4B\u0B4C\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4C\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCC\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E46\u0E4D\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0ECD\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F71-\u0F81\u0F88-\u0F97\u0F99-\u0FBC\u1000-\u1036\u1038\u103B-\u103F\u1050-\u1062\u1065-\u1068\u106E-\u1086\u108E\u109C\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1713\u1720-\u1733\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17B3\u17B6-\u17C8\u17D7\u17DC\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u1938\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A1B\u1A20-\u1A5E\u1A61-\u1A74\u1AA7\u1B00-\u1B33\u1B35-\u1B43\u1B45-\u1B4B\u1B80-\u1BA9\u1BAC-\u1BAF\u1BBA-\u1BE5\u1BE7-\u1BF1\u1C00-\u1C35\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1D00-\u1DBF\u1DE7-\u1DF4\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u24B6-\u24E9\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA674-\uA67B\uA67F-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA827\uA840-\uA873\uA880-\uA8C3\uA8C5\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA92A\uA930-\uA952\uA960-\uA97C\uA980-\uA9B2\uA9B4-\uA9BF\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA60-\uAA76\uAA7A\uAA7E-\uAABE\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC',
2081
- astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC45\uDC82-\uDCB8\uDCD0-\uDCE8\uDD00-\uDD32\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDF00-\uDF19\uDF1D-\uDF2A]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF36\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]'
2082
- },
2083
- {
2084
- name: 'Any',
2085
- isBmpLast: true,
2086
- bmp: '\0-\uFFFF',
2087
- astral: '[\uD800-\uDBFF][\uDC00-\uDFFF]'
2088
- },
2089
- {
2090
- name: 'Default_Ignorable_Code_Point',
2091
- bmp: '\xAD\u034F\u061C\u115F\u1160\u17B4\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8',
2092
- astral: '\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]'
2093
- },
2094
- {
2095
- name: 'Lowercase',
2096
- bmp: 'a-z\xAA\xB5\xBA\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02B8\u02C0\u02C1\u02E0-\u02E4\u0345\u0371\u0373\u0377\u037A-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1DBF\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u2071\u207F\u2090-\u209C\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2170-\u217F\u2184\u24D0-\u24E9\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7D\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B-\uA69D\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7F8-\uA7FA\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A',
2097
- astral: '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43]'
2098
- },
2099
- {
2100
- name: 'Noncharacter_Code_Point',
2101
- bmp: '\uFDD0-\uFDEF\uFFFE\uFFFF',
2102
- astral: '[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]'
2103
- },
2104
- {
2105
- name: 'Uppercase',
2106
- bmp: 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A',
2107
- astral: '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]'
2108
- },
2109
- {
2110
- name: 'White_Space',
2111
- bmp: '\x09-\x0D\x20\x85\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000'
2112
- }
2113
- ];
2114
-
2115
- // Add non-generated data
2116
- unicodeData.push({
2117
- name: 'Assigned',
2118
- // Since this is defined as the inverse of Unicode category Cn (Unassigned), the Unicode
2119
- // Categories addon is required to use this property
2120
- inverseOf: 'Cn'
2121
- });
2122
-
2123
- XRegExp.addUnicodeData(unicodeData);
2124
-
2125
- };
2126
-
2127
- },{}],7:[function(require,module,exports){
2128
- /*!
2129
- * XRegExp Unicode Scripts 3.2.0
2130
- * <xregexp.com>
2131
- * Steven Levithan (c) 2010-2017 MIT License
2132
- * Unicode data by Mathias Bynens <mathiasbynens.be>
2133
- */
2134
-
2135
- module.exports = function(XRegExp) {
2136
- 'use strict';
2137
-
2138
- /**
2139
- * Adds support for all Unicode scripts. E.g., `\p{Latin}`. Token names are case insensitive,
2140
- * and any spaces, hyphens, and underscores are ignored.
2141
- *
2142
- * Uses Unicode 9.0.0.
2143
- *
2144
- * @requires XRegExp, Unicode Base
2145
- */
2146
-
2147
- if (!XRegExp.addUnicodeData) {
2148
- throw new ReferenceError('Unicode Base must be loaded before Unicode Scripts');
2149
- }
2150
-
2151
- XRegExp.addUnicodeData([
2152
- {
2153
- name: 'Adlam',
2154
- astral: '\uD83A[\uDD00-\uDD4A\uDD50-\uDD59\uDD5E\uDD5F]'
2155
- },
2156
- {
2157
- name: 'Ahom',
2158
- astral: '\uD805[\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF3F]'
2159
- },
2160
- {
2161
- name: 'Anatolian_Hieroglyphs',
2162
- astral: '\uD811[\uDC00-\uDE46]'
2163
- },
2164
- {
2165
- name: 'Arabic',
2166
- bmp: '\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u06FF\u0750-\u077F\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u08FF\uFB50-\uFBC1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFD\uFE70-\uFE74\uFE76-\uFEFC',
2167
- astral: '\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]'
2168
- },
2169
- {
2170
- name: 'Armenian',
2171
- bmp: '\u0531-\u0556\u0559-\u055F\u0561-\u0587\u058A\u058D-\u058F\uFB13-\uFB17'
2172
- },
2173
- {
2174
- name: 'Avestan',
2175
- astral: '\uD802[\uDF00-\uDF35\uDF39-\uDF3F]'
2176
- },
2177
- {
2178
- name: 'Balinese',
2179
- bmp: '\u1B00-\u1B4B\u1B50-\u1B7C'
2180
- },
2181
- {
2182
- name: 'Bamum',
2183
- bmp: '\uA6A0-\uA6F7',
2184
- astral: '\uD81A[\uDC00-\uDE38]'
2185
- },
2186
- {
2187
- name: 'Bassa_Vah',
2188
- astral: '\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]'
2189
- },
2190
- {
2191
- name: 'Batak',
2192
- bmp: '\u1BC0-\u1BF3\u1BFC-\u1BFF'
2193
- },
2194
- {
2195
- name: 'Bengali',
2196
- bmp: '\u0980-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FB'
2197
- },
2198
- {
2199
- name: 'Bhaiksuki',
2200
- astral: '\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]'
2201
- },
2202
- {
2203
- name: 'Bopomofo',
2204
- bmp: '\u02EA\u02EB\u3105-\u312D\u31A0-\u31BA'
2205
- },
2206
- {
2207
- name: 'Brahmi',
2208
- astral: '\uD804[\uDC00-\uDC4D\uDC52-\uDC6F\uDC7F]'
2209
- },
2210
- {
2211
- name: 'Braille',
2212
- bmp: '\u2800-\u28FF'
2213
- },
2214
- {
2215
- name: 'Buginese',
2216
- bmp: '\u1A00-\u1A1B\u1A1E\u1A1F'
2217
- },
2218
- {
2219
- name: 'Buhid',
2220
- bmp: '\u1740-\u1753'
2221
- },
2222
- {
2223
- name: 'Canadian_Aboriginal',
2224
- bmp: '\u1400-\u167F\u18B0-\u18F5'
2225
- },
2226
- {
2227
- name: 'Carian',
2228
- astral: '\uD800[\uDEA0-\uDED0]'
2229
- },
2230
- {
2231
- name: 'Caucasian_Albanian',
2232
- astral: '\uD801[\uDD30-\uDD63\uDD6F]'
2233
- },
2234
- {
2235
- name: 'Chakma',
2236
- astral: '\uD804[\uDD00-\uDD34\uDD36-\uDD43]'
2237
- },
2238
- {
2239
- name: 'Cham',
2240
- bmp: '\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA5C-\uAA5F'
2241
- },
2242
- {
2243
- name: 'Cherokee',
2244
- bmp: '\u13A0-\u13F5\u13F8-\u13FD\uAB70-\uABBF'
2245
- },
2246
- {
2247
- name: 'Common',
2248
- bmp: '\0-\x40\\x5B-\x60\\x7B-\xA9\xAB-\xB9\xBB-\xBF\xD7\xF7\u02B9-\u02DF\u02E5-\u02E9\u02EC-\u02FF\u0374\u037E\u0385\u0387\u0589\u0605\u060C\u061B\u061C\u061F\u0640\u06DD\u08E2\u0964\u0965\u0E3F\u0FD5-\u0FD8\u10FB\u16EB-\u16ED\u1735\u1736\u1802\u1803\u1805\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u2000-\u200B\u200E-\u2064\u2066-\u2070\u2074-\u207E\u2080-\u208E\u20A0-\u20BE\u2100-\u2125\u2127-\u2129\u212C-\u2131\u2133-\u214D\u214F-\u215F\u2189-\u218B\u2190-\u23FE\u2400-\u2426\u2440-\u244A\u2460-\u27FF\u2900-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2E00-\u2E44\u2FF0-\u2FFB\u3000-\u3004\u3006\u3008-\u3020\u3030-\u3037\u303C-\u303F\u309B\u309C\u30A0\u30FB\u30FC\u3190-\u319F\u31C0-\u31E3\u3220-\u325F\u327F-\u32CF\u3358-\u33FF\u4DC0-\u4DFF\uA700-\uA721\uA788-\uA78A\uA830-\uA839\uA92E\uA9CF\uAB5B\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFEFF\uFF01-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFF70\uFF9E\uFF9F\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD',
2249
- astral: '\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9B\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDF00-\uDF56\uDF60-\uDF71]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDD0C\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]|\uDB40[\uDC01\uDC20-\uDC7F]'
2250
- },
2251
- {
2252
- name: 'Coptic',
2253
- bmp: '\u03E2-\u03EF\u2C80-\u2CF3\u2CF9-\u2CFF'
2254
- },
2255
- {
2256
- name: 'Cuneiform',
2257
- astral: '\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]'
2258
- },
2259
- {
2260
- name: 'Cypriot',
2261
- astral: '\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]'
2262
- },
2263
- {
2264
- name: 'Cyrillic',
2265
- bmp: '\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F'
2266
- },
2267
- {
2268
- name: 'Deseret',
2269
- astral: '\uD801[\uDC00-\uDC4F]'
2270
- },
2271
- {
2272
- name: 'Devanagari',
2273
- bmp: '\u0900-\u0950\u0953-\u0963\u0966-\u097F\uA8E0-\uA8FD'
2274
- },
2275
- {
2276
- name: 'Duployan',
2277
- astral: '\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]'
2278
- },
2279
- {
2280
- name: 'Egyptian_Hieroglyphs',
2281
- astral: '\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]'
2282
- },
2283
- {
2284
- name: 'Elbasan',
2285
- astral: '\uD801[\uDD00-\uDD27]'
2286
- },
2287
- {
2288
- name: 'Ethiopic',
2289
- bmp: '\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u137C\u1380-\u1399\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E'
2290
- },
2291
- {
2292
- name: 'Georgian',
2293
- bmp: '\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u10FF\u2D00-\u2D25\u2D27\u2D2D'
2294
- },
2295
- {
2296
- name: 'Glagolitic',
2297
- bmp: '\u2C00-\u2C2E\u2C30-\u2C5E',
2298
- astral: '\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]'
2299
- },
2300
- {
2301
- name: 'Gothic',
2302
- astral: '\uD800[\uDF30-\uDF4A]'
2303
- },
2304
- {
2305
- name: 'Grantha',
2306
- astral: '\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]'
2307
- },
2308
- {
2309
- name: 'Greek',
2310
- bmp: '\u0370-\u0373\u0375-\u0377\u037A-\u037D\u037F\u0384\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03E1\u03F0-\u03FF\u1D26-\u1D2A\u1D5D-\u1D61\u1D66-\u1D6A\u1DBF\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u2126\uAB65',
2311
- astral: '\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]'
2312
- },
2313
- {
2314
- name: 'Gujarati',
2315
- bmp: '\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9'
2316
- },
2317
- {
2318
- name: 'Gurmukhi',
2319
- bmp: '\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75'
2320
- },
2321
- {
2322
- name: 'Han',
2323
- bmp: '\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FD5\uF900-\uFA6D\uFA70-\uFAD9',
2324
- astral: '[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]'
2325
- },
2326
- {
2327
- name: 'Hangul',
2328
- bmp: '\u1100-\u11FF\u302E\u302F\u3131-\u318E\u3200-\u321E\u3260-\u327E\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC'
2329
- },
2330
- {
2331
- name: 'Hanunoo',
2332
- bmp: '\u1720-\u1734'
2333
- },
2334
- {
2335
- name: 'Hatran',
2336
- astral: '\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]'
2337
- },
2338
- {
2339
- name: 'Hebrew',
2340
- bmp: '\u0591-\u05C7\u05D0-\u05EA\u05F0-\u05F4\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFB4F'
2341
- },
2342
- {
2343
- name: 'Hiragana',
2344
- bmp: '\u3041-\u3096\u309D-\u309F',
2345
- astral: '\uD82C\uDC01|\uD83C\uDE00'
2346
- },
2347
- {
2348
- name: 'Imperial_Aramaic',
2349
- astral: '\uD802[\uDC40-\uDC55\uDC57-\uDC5F]'
2350
- },
2351
- {
2352
- name: 'Inherited',
2353
- bmp: '\u0300-\u036F\u0485\u0486\u064B-\u0655\u0670\u0951\u0952\u1AB0-\u1ABE\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u200C\u200D\u20D0-\u20F0\u302A-\u302D\u3099\u309A\uFE00-\uFE0F\uFE20-\uFE2D',
2354
- astral: '\uD800[\uDDFD\uDEE0]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]'
2355
- },
2356
- {
2357
- name: 'Inscriptional_Pahlavi',
2358
- astral: '\uD802[\uDF60-\uDF72\uDF78-\uDF7F]'
2359
- },
2360
- {
2361
- name: 'Inscriptional_Parthian',
2362
- astral: '\uD802[\uDF40-\uDF55\uDF58-\uDF5F]'
2363
- },
2364
- {
2365
- name: 'Javanese',
2366
- bmp: '\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE\uA9DF'
2367
- },
2368
- {
2369
- name: 'Kaithi',
2370
- astral: '\uD804[\uDC80-\uDCC1]'
2371
- },
2372
- {
2373
- name: 'Kannada',
2374
- bmp: '\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2'
2375
- },
2376
- {
2377
- name: 'Katakana',
2378
- bmp: '\u30A1-\u30FA\u30FD-\u30FF\u31F0-\u31FF\u32D0-\u32FE\u3300-\u3357\uFF66-\uFF6F\uFF71-\uFF9D',
2379
- astral: '\uD82C\uDC00'
2380
- },
2381
- {
2382
- name: 'Kayah_Li',
2383
- bmp: '\uA900-\uA92D\uA92F'
2384
- },
2385
- {
2386
- name: 'Kharoshthi',
2387
- astral: '\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F-\uDE47\uDE50-\uDE58]'
2388
- },
2389
- {
2390
- name: 'Khmer',
2391
- bmp: '\u1780-\u17DD\u17E0-\u17E9\u17F0-\u17F9\u19E0-\u19FF'
2392
- },
2393
- {
2394
- name: 'Khojki',
2395
- astral: '\uD804[\uDE00-\uDE11\uDE13-\uDE3E]'
2396
- },
2397
- {
2398
- name: 'Khudawadi',
2399
- astral: '\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]'
2400
- },
2401
- {
2402
- name: 'Lao',
2403
- bmp: '\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF'
2404
- },
2405
- {
2406
- name: 'Latin',
2407
- bmp: 'A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A'
2408
- },
2409
- {
2410
- name: 'Lepcha',
2411
- bmp: '\u1C00-\u1C37\u1C3B-\u1C49\u1C4D-\u1C4F'
2412
- },
2413
- {
2414
- name: 'Limbu',
2415
- bmp: '\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1940\u1944-\u194F'
2416
- },
2417
- {
2418
- name: 'Linear_A',
2419
- astral: '\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]'
2420
- },
2421
- {
2422
- name: 'Linear_B',
2423
- astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]'
2424
- },
2425
- {
2426
- name: 'Lisu',
2427
- bmp: '\uA4D0-\uA4FF'
2428
- },
2429
- {
2430
- name: 'Lycian',
2431
- astral: '\uD800[\uDE80-\uDE9C]'
2432
- },
2433
- {
2434
- name: 'Lydian',
2435
- astral: '\uD802[\uDD20-\uDD39\uDD3F]'
2436
- },
2437
- {
2438
- name: 'Mahajani',
2439
- astral: '\uD804[\uDD50-\uDD76]'
2440
- },
2441
- {
2442
- name: 'Malayalam',
2443
- bmp: '\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F'
2444
- },
2445
- {
2446
- name: 'Mandaic',
2447
- bmp: '\u0840-\u085B\u085E'
2448
- },
2449
- {
2450
- name: 'Manichaean',
2451
- astral: '\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]'
2452
- },
2453
- {
2454
- name: 'Marchen',
2455
- astral: '\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]'
2456
- },
2457
- {
2458
- name: 'Meetei_Mayek',
2459
- bmp: '\uAAE0-\uAAF6\uABC0-\uABED\uABF0-\uABF9'
2460
- },
2461
- {
2462
- name: 'Mende_Kikakui',
2463
- astral: '\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]'
2464
- },
2465
- {
2466
- name: 'Meroitic_Cursive',
2467
- astral: '\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]'
2468
- },
2469
- {
2470
- name: 'Meroitic_Hieroglyphs',
2471
- astral: '\uD802[\uDD80-\uDD9F]'
2472
- },
2473
- {
2474
- name: 'Miao',
2475
- astral: '\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]'
2476
- },
2477
- {
2478
- name: 'Modi',
2479
- astral: '\uD805[\uDE00-\uDE44\uDE50-\uDE59]'
2480
- },
2481
- {
2482
- name: 'Mongolian',
2483
- bmp: '\u1800\u1801\u1804\u1806-\u180E\u1810-\u1819\u1820-\u1877\u1880-\u18AA',
2484
- astral: '\uD805[\uDE60-\uDE6C]'
2485
- },
2486
- {
2487
- name: 'Mro',
2488
- astral: '\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]'
2489
- },
2490
- {
2491
- name: 'Multani',
2492
- astral: '\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]'
2493
- },
2494
- {
2495
- name: 'Myanmar',
2496
- bmp: '\u1000-\u109F\uA9E0-\uA9FE\uAA60-\uAA7F'
2497
- },
2498
- {
2499
- name: 'Nabataean',
2500
- astral: '\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]'
2501
- },
2502
- {
2503
- name: 'New_Tai_Lue',
2504
- bmp: '\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u19DE\u19DF'
2505
- },
2506
- {
2507
- name: 'Newa',
2508
- astral: '\uD805[\uDC00-\uDC59\uDC5B\uDC5D]'
2509
- },
2510
- {
2511
- name: 'Nko',
2512
- bmp: '\u07C0-\u07FA'
2513
- },
2514
- {
2515
- name: 'Ogham',
2516
- bmp: '\u1680-\u169C'
2517
- },
2518
- {
2519
- name: 'Ol_Chiki',
2520
- bmp: '\u1C50-\u1C7F'
2521
- },
2522
- {
2523
- name: 'Old_Hungarian',
2524
- astral: '\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]'
2525
- },
2526
- {
2527
- name: 'Old_Italic',
2528
- astral: '\uD800[\uDF00-\uDF23]'
2529
- },
2530
- {
2531
- name: 'Old_North_Arabian',
2532
- astral: '\uD802[\uDE80-\uDE9F]'
2533
- },
2534
- {
2535
- name: 'Old_Permic',
2536
- astral: '\uD800[\uDF50-\uDF7A]'
2537
- },
2538
- {
2539
- name: 'Old_Persian',
2540
- astral: '\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]'
2541
- },
2542
- {
2543
- name: 'Old_South_Arabian',
2544
- astral: '\uD802[\uDE60-\uDE7F]'
2545
- },
2546
- {
2547
- name: 'Old_Turkic',
2548
- astral: '\uD803[\uDC00-\uDC48]'
2549
- },
2550
- {
2551
- name: 'Oriya',
2552
- bmp: '\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B77'
2553
- },
2554
- {
2555
- name: 'Osage',
2556
- astral: '\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]'
2557
- },
2558
- {
2559
- name: 'Osmanya',
2560
- astral: '\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]'
2561
- },
2562
- {
2563
- name: 'Pahawh_Hmong',
2564
- astral: '\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]'
2565
- },
2566
- {
2567
- name: 'Palmyrene',
2568
- astral: '\uD802[\uDC60-\uDC7F]'
2569
- },
2570
- {
2571
- name: 'Pau_Cin_Hau',
2572
- astral: '\uD806[\uDEC0-\uDEF8]'
2573
- },
2574
- {
2575
- name: 'Phags_Pa',
2576
- bmp: '\uA840-\uA877'
2577
- },
2578
- {
2579
- name: 'Phoenician',
2580
- astral: '\uD802[\uDD00-\uDD1B\uDD1F]'
2581
- },
2582
- {
2583
- name: 'Psalter_Pahlavi',
2584
- astral: '\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]'
2585
- },
2586
- {
2587
- name: 'Rejang',
2588
- bmp: '\uA930-\uA953\uA95F'
2589
- },
2590
- {
2591
- name: 'Runic',
2592
- bmp: '\u16A0-\u16EA\u16EE-\u16F8'
2593
- },
2594
- {
2595
- name: 'Samaritan',
2596
- bmp: '\u0800-\u082D\u0830-\u083E'
2597
- },
2598
- {
2599
- name: 'Saurashtra',
2600
- bmp: '\uA880-\uA8C5\uA8CE-\uA8D9'
2601
- },
2602
- {
2603
- name: 'Sharada',
2604
- astral: '\uD804[\uDD80-\uDDCD\uDDD0-\uDDDF]'
2605
- },
2606
- {
2607
- name: 'Shavian',
2608
- astral: '\uD801[\uDC50-\uDC7F]'
2609
- },
2610
- {
2611
- name: 'Siddham',
2612
- astral: '\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]'
2613
- },
2614
- {
2615
- name: 'SignWriting',
2616
- astral: '\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]'
2617
- },
2618
- {
2619
- name: 'Sinhala',
2620
- bmp: '\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4',
2621
- astral: '\uD804[\uDDE1-\uDDF4]'
2622
- },
2623
- {
2624
- name: 'Sora_Sompeng',
2625
- astral: '\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]'
2626
- },
2627
- {
2628
- name: 'Sundanese',
2629
- bmp: '\u1B80-\u1BBF\u1CC0-\u1CC7'
2630
- },
2631
- {
2632
- name: 'Syloti_Nagri',
2633
- bmp: '\uA800-\uA82B'
2634
- },
2635
- {
2636
- name: 'Syriac',
2637
- bmp: '\u0700-\u070D\u070F-\u074A\u074D-\u074F'
2638
- },
2639
- {
2640
- name: 'Tagalog',
2641
- bmp: '\u1700-\u170C\u170E-\u1714'
2642
- },
2643
- {
2644
- name: 'Tagbanwa',
2645
- bmp: '\u1760-\u176C\u176E-\u1770\u1772\u1773'
2646
- },
2647
- {
2648
- name: 'Tai_Le',
2649
- bmp: '\u1950-\u196D\u1970-\u1974'
2650
- },
2651
- {
2652
- name: 'Tai_Tham',
2653
- bmp: '\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD'
2654
- },
2655
- {
2656
- name: 'Tai_Viet',
2657
- bmp: '\uAA80-\uAAC2\uAADB-\uAADF'
2658
- },
2659
- {
2660
- name: 'Takri',
2661
- astral: '\uD805[\uDE80-\uDEB7\uDEC0-\uDEC9]'
2662
- },
2663
- {
2664
- name: 'Tamil',
2665
- bmp: '\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA'
2666
- },
2667
- {
2668
- name: 'Tangut',
2669
- astral: '\uD81B\uDFE0|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]'
2670
- },
2671
- {
2672
- name: 'Telugu',
2673
- bmp: '\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F'
2674
- },
2675
- {
2676
- name: 'Thaana',
2677
- bmp: '\u0780-\u07B1'
2678
- },
2679
- {
2680
- name: 'Thai',
2681
- bmp: '\u0E01-\u0E3A\u0E40-\u0E5B'
2682
- },
2683
- {
2684
- name: 'Tibetan',
2685
- bmp: '\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA'
2686
- },
2687
- {
2688
- name: 'Tifinagh',
2689
- bmp: '\u2D30-\u2D67\u2D6F\u2D70\u2D7F'
2690
- },
2691
- {
2692
- name: 'Tirhuta',
2693
- astral: '\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]'
2694
- },
2695
- {
2696
- name: 'Ugaritic',
2697
- astral: '\uD800[\uDF80-\uDF9D\uDF9F]'
2698
- },
2699
- {
2700
- name: 'Vai',
2701
- bmp: '\uA500-\uA62B'
2702
- },
2703
- {
2704
- name: 'Warang_Citi',
2705
- astral: '\uD806[\uDCA0-\uDCF2\uDCFF]'
2706
- },
2707
- {
2708
- name: 'Yi',
2709
- bmp: '\uA000-\uA48C\uA490-\uA4C6'
2710
- }
2711
- ]);
2712
-
2713
- };
2714
-
2715
- },{}],8:[function(require,module,exports){
2716
- var XRegExp = require('./xregexp');
2717
-
2718
- require('./addons/build')(XRegExp);
2719
- require('./addons/matchrecursive')(XRegExp);
2720
- require('./addons/unicode-base')(XRegExp);
2721
- require('./addons/unicode-blocks')(XRegExp);
2722
- require('./addons/unicode-categories')(XRegExp);
2723
- require('./addons/unicode-properties')(XRegExp);
2724
- require('./addons/unicode-scripts')(XRegExp);
2725
-
2726
- module.exports = XRegExp;
2727
-
2728
- },{"./addons/build":1,"./addons/matchrecursive":2,"./addons/unicode-base":3,"./addons/unicode-blocks":4,"./addons/unicode-categories":5,"./addons/unicode-properties":6,"./addons/unicode-scripts":7,"./xregexp":9}],9:[function(require,module,exports){
2729
- /*!
2730
- * XRegExp 3.2.0
2731
- * <xregexp.com>
2732
- * Steven Levithan (c) 2007-2017 MIT License
2733
- */
2734
-
2735
- 'use strict';
2736
-
2737
- /**
2738
- * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and
2739
- * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to
2740
- * make your client-side grepping simpler and more powerful, while freeing you from related
2741
- * cross-browser inconsistencies.
2742
- */
2743
-
2744
- // ==--------------------------==
2745
- // Private stuff
2746
- // ==--------------------------==
2747
-
2748
- // Property name used for extended regex instance data
2749
- var REGEX_DATA = 'xregexp';
2750
- // Optional features that can be installed and uninstalled
2751
- var features = {
2752
- astral: false,
2753
- natives: false
2754
- };
2755
- // Native methods to use and restore ('native' is an ES3 reserved keyword)
2756
- var nativ = {
2757
- exec: RegExp.prototype.exec,
2758
- test: RegExp.prototype.test,
2759
- match: String.prototype.match,
2760
- replace: String.prototype.replace,
2761
- split: String.prototype.split
2762
- };
2763
- // Storage for fixed/extended native methods
2764
- var fixed = {};
2765
- // Storage for regexes cached by `XRegExp.cache`
2766
- var regexCache = {};
2767
- // Storage for pattern details cached by the `XRegExp` constructor
2768
- var patternCache = {};
2769
- // Storage for regex syntax tokens added internally or by `XRegExp.addToken`
2770
- var tokens = [];
2771
- // Token scopes
2772
- var defaultScope = 'default';
2773
- var classScope = 'class';
2774
- // Regexes that match native regex syntax, including octals
2775
- var nativeTokens = {
2776
- // Any native multicharacter token in default scope, or any single character
2777
- 'default': /\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,
2778
- // Any native multicharacter token in character class scope, or any single character
2779
- 'class': /\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/
2780
- };
2781
- // Any backreference or dollar-prefixed character in replacement strings
2782
- var replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g;
2783
- // Check for correct `exec` handling of nonparticipating capturing groups
2784
- var correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined;
2785
- // Check for ES6 `flags` prop support
2786
- var hasFlagsProp = /x/.flags !== undefined;
2787
- // Shortcut to `Object.prototype.toString`
2788
- var toString = {}.toString;
2789
-
2790
- function hasNativeFlag(flag) {
2791
- // Can't check based on the presence of properties/getters since browsers might support such
2792
- // properties even when they don't support the corresponding flag in regex construction (tested
2793
- // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u`
2794
- // throws an error)
2795
- var isSupported = true;
2796
- try {
2797
- // Can't use regex literals for testing even in a `try` because regex literals with
2798
- // unsupported flags cause a compilation error in IE
2799
- new RegExp('', flag);
2800
- } catch (exception) {
2801
- isSupported = false;
2802
- }
2803
- return isSupported;
2804
- }
2805
- // Check for ES6 `u` flag support
2806
- var hasNativeU = hasNativeFlag('u');
2807
- // Check for ES6 `y` flag support
2808
- var hasNativeY = hasNativeFlag('y');
2809
- // Tracker for known flags, including addon flags
2810
- var registeredFlags = {
2811
- g: true,
2812
- i: true,
2813
- m: true,
2814
- u: hasNativeU,
2815
- y: hasNativeY
2816
- };
2817
-
2818
- /**
2819
- * Attaches extended data and `XRegExp.prototype` properties to a regex object.
2820
- *
2821
- * @private
2822
- * @param {RegExp} regex Regex to augment.
2823
- * @param {Array} captureNames Array with capture names, or `null`.
2824
- * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A.
2825
- * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A.
2826
- * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal
2827
- * operations, and never exposed to users. For internal-only regexes, we can improve perf by
2828
- * skipping some operations like attaching `XRegExp.prototype` properties.
2829
- * @returns {RegExp} Augmented regex.
2830
- */
2831
- function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {
2832
- var p;
2833
-
2834
- regex[REGEX_DATA] = {
2835
- captureNames: captureNames
2836
- };
2837
-
2838
- if (isInternalOnly) {
2839
- return regex;
2840
- }
2841
-
2842
- // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value
2843
- if (regex.__proto__) {
2844
- regex.__proto__ = XRegExp.prototype;
2845
- } else {
2846
- for (p in XRegExp.prototype) {
2847
- // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this
2848
- // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype`
2849
- // extensions exist on `regex.prototype` anyway
2850
- regex[p] = XRegExp.prototype[p];
2851
- }
2852
- }
2853
-
2854
- regex[REGEX_DATA].source = xSource;
2855
- // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order
2856
- regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags;
2857
-
2858
- return regex;
2859
- }
2860
-
2861
- /**
2862
- * Removes any duplicate characters from the provided string.
2863
- *
2864
- * @private
2865
- * @param {String} str String to remove duplicate characters from.
2866
- * @returns {String} String with any duplicate characters removed.
2867
- */
2868
- function clipDuplicates(str) {
2869
- return nativ.replace.call(str, /([\s\S])(?=[\s\S]*\1)/g, '');
2870
- }
2871
-
2872
- /**
2873
- * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype`
2874
- * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing
2875
- * flags g and y while copying the regex.
2876
- *
2877
- * @private
2878
- * @param {RegExp} regex Regex to copy.
2879
- * @param {Object} [options] Options object with optional properties:
2880
- * - `addG` {Boolean} Add flag g while copying the regex.
2881
- * - `addY` {Boolean} Add flag y while copying the regex.
2882
- * - `removeG` {Boolean} Remove flag g while copying the regex.
2883
- * - `removeY` {Boolean} Remove flag y while copying the regex.
2884
- * - `isInternalOnly` {Boolean} Whether the copied regex will be used only for internal
2885
- * operations, and never exposed to users. For internal-only regexes, we can improve perf by
2886
- * skipping some operations like attaching `XRegExp.prototype` properties.
2887
- * - `source` {String} Overrides `<regex>.source`, for special cases.
2888
- * @returns {RegExp} Copy of the provided regex, possibly with modified flags.
2889
- */
2890
- function copyRegex(regex, options) {
2891
- if (!XRegExp.isRegExp(regex)) {
2892
- throw new TypeError('Type RegExp expected');
2893
- }
2894
-
2895
- var xData = regex[REGEX_DATA] || {};
2896
- var flags = getNativeFlags(regex);
2897
- var flagsToAdd = '';
2898
- var flagsToRemove = '';
2899
- var xregexpSource = null;
2900
- var xregexpFlags = null;
2901
-
2902
- options = options || {};
2903
-
2904
- if (options.removeG) {flagsToRemove += 'g';}
2905
- if (options.removeY) {flagsToRemove += 'y';}
2906
- if (flagsToRemove) {
2907
- flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), '');
2908
- }
2909
-
2910
- if (options.addG) {flagsToAdd += 'g';}
2911
- if (options.addY) {flagsToAdd += 'y';}
2912
- if (flagsToAdd) {
2913
- flags = clipDuplicates(flags + flagsToAdd);
2914
- }
2915
-
2916
- if (!options.isInternalOnly) {
2917
- if (xData.source !== undefined) {
2918
- xregexpSource = xData.source;
2919
- }
2920
- // null or undefined; don't want to add to `flags` if the previous value was null, since
2921
- // that indicates we're not tracking original precompilation flags
2922
- if (xData.flags != null) {
2923
- // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never
2924
- // removed for non-internal regexes, so don't need to handle it
2925
- xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags;
2926
- }
2927
- }
2928
-
2929
- // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid
2930
- // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and
2931
- // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the
2932
- // translation to native regex syntax
2933
- regex = augment(
2934
- new RegExp(options.source || regex.source, flags),
2935
- hasNamedCapture(regex) ? xData.captureNames.slice(0) : null,
2936
- xregexpSource,
2937
- xregexpFlags,
2938
- options.isInternalOnly
2939
- );
2940
-
2941
- return regex;
2942
- }
2943
-
2944
- /**
2945
- * Converts hexadecimal to decimal.
2946
- *
2947
- * @private
2948
- * @param {String} hex
2949
- * @returns {Number}
2950
- */
2951
- function dec(hex) {
2952
- return parseInt(hex, 16);
2953
- }
2954
-
2955
- /**
2956
- * Returns a pattern that can be used in a native RegExp in place of an ignorable token such as an
2957
- * inline comment or whitespace with flag x. This is used directly as a token handler function
2958
- * passed to `XRegExp.addToken`.
2959
- *
2960
- * @private
2961
- * @param {String} match Match arg of `XRegExp.addToken` handler
2962
- * @param {String} scope Scope arg of `XRegExp.addToken` handler
2963
- * @param {String} flags Flags arg of `XRegExp.addToken` handler
2964
- * @returns {String} Either '' or '(?:)', depending on which is needed in the context of the match.
2965
- */
2966
- function getContextualTokenSeparator(match, scope, flags) {
2967
- if (
2968
- // No need to separate tokens if at the beginning or end of a group
2969
- match.input.charAt(match.index - 1) === '(' ||
2970
- match.input.charAt(match.index + match[0].length) === ')' ||
2971
- // Avoid separating tokens when the following token is a quantifier
2972
- isPatternNext(match.input, match.index + match[0].length, flags, '[?*+]|{\\d+(?:,\\d*)?}')
2973
- ) {
2974
- return '';
2975
- }
2976
- // Keep tokens separated. This avoids e.g. inadvertedly changing `\1 1` or `\1(?#)1` to `\11`.
2977
- // This also ensures all tokens remain as discrete atoms, e.g. it avoids converting the syntax
2978
- // error `(? :` into `(?:`.
2979
- return '(?:)';
2980
- }
2981
-
2982
- /**
2983
- * Returns native `RegExp` flags used by a regex object.
2984
- *
2985
- * @private
2986
- * @param {RegExp} regex Regex to check.
2987
- * @returns {String} Native flags in use.
2988
- */
2989
- function getNativeFlags(regex) {
2990
- return hasFlagsProp ?
2991
- regex.flags :
2992
- // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation
2993
- // with an empty string) allows this to continue working predictably when
2994
- // `XRegExp.proptotype.toString` is overridden
2995
- nativ.exec.call(/\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1];
2996
- }
2997
-
2998
- /**
2999
- * Determines whether a regex has extended instance data used to track capture names.
3000
- *
3001
- * @private
3002
- * @param {RegExp} regex Regex to check.
3003
- * @returns {Boolean} Whether the regex uses named capture.
3004
- */
3005
- function hasNamedCapture(regex) {
3006
- return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames);
3007
- }
3008
-
3009
- /**
3010
- * Converts decimal to hexadecimal.
3011
- *
3012
- * @private
3013
- * @param {Number|String} dec
3014
- * @returns {String}
3015
- */
3016
- function hex(dec) {
3017
- return parseInt(dec, 10).toString(16);
3018
- }
3019
-
3020
- /**
3021
- * Returns the first index at which a given value can be found in an array.
3022
- *
3023
- * @private
3024
- * @param {Array} array Array to search.
3025
- * @param {*} value Value to locate in the array.
3026
- * @returns {Number} Zero-based index at which the item is found, or -1.
3027
- */
3028
- function indexOf(array, value) {
3029
- var len = array.length;
3030
- var i;
3031
-
3032
- for (i = 0; i < len; ++i) {
3033
- if (array[i] === value) {
3034
- return i;
3035
- }
3036
- }
3037
-
3038
- return -1;
3039
- }
3040
-
3041
- /**
3042
- * Checks whether the next nonignorable token after the specified position matches the
3043
- * `needlePattern`
3044
- *
3045
- * @private
3046
- * @param {String} pattern Pattern to search within.
3047
- * @param {Number} pos Index in `pattern` to search at.
3048
- * @param {String} flags Flags used by the pattern.
3049
- * @param {String} needlePattern Pattern to match the next token against.
3050
- * @returns {Boolean} Whether the next nonignorable token matches `needlePattern`
3051
- */
3052
- function isPatternNext(pattern, pos, flags, needlePattern) {
3053
- var inlineCommentPattern = '\\(\\?#[^)]*\\)';
3054
- var lineCommentPattern = '#[^#\\n]*';
3055
- var patternsToIgnore = flags.indexOf('x') > -1 ?
3056
- // Ignore any leading whitespace, line comments, and inline comments
3057
- ['\\s', lineCommentPattern, inlineCommentPattern] :
3058
- // Ignore any leading inline comments
3059
- [inlineCommentPattern];
3060
- return nativ.test.call(
3061
- new RegExp('^(?:' + patternsToIgnore.join('|') + ')*(?:' + needlePattern + ')'),
3062
- pattern.slice(pos)
3063
- );
3064
- }
3065
-
3066
- /**
3067
- * Determines whether a value is of the specified type, by resolving its internal [[Class]].
3068
- *
3069
- * @private
3070
- * @param {*} value Object to check.
3071
- * @param {String} type Type to check for, in TitleCase.
3072
- * @returns {Boolean} Whether the object matches the type.
3073
- */
3074
- function isType(value, type) {
3075
- return toString.call(value) === '[object ' + type + ']';
3076
- }
3077
-
3078
- /**
3079
- * Adds leading zeros if shorter than four characters. Used for fixed-length hexadecimal values.
3080
- *
3081
- * @private
3082
- * @param {String} str
3083
- * @returns {String}
3084
- */
3085
- function pad4(str) {
3086
- while (str.length < 4) {
3087
- str = '0' + str;
3088
- }
3089
- return str;
3090
- }
3091
-
3092
- /**
3093
- * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads
3094
- * the flag preparation logic from the `XRegExp` constructor.
3095
- *
3096
- * @private
3097
- * @param {String} pattern Regex pattern, possibly with a leading mode modifier.
3098
- * @param {String} flags Any combination of flags.
3099
- * @returns {Object} Object with properties `pattern` and `flags`.
3100
- */
3101
- function prepareFlags(pattern, flags) {
3102
- var i;
3103
-
3104
- // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags
3105
- if (clipDuplicates(flags) !== flags) {
3106
- throw new SyntaxError('Invalid duplicate regex flag ' + flags);
3107
- }
3108
-
3109
- // Strip and apply a leading mode modifier with any combination of flags except g or y
3110
- pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function($0, $1) {
3111
- if (nativ.test.call(/[gy]/, $1)) {
3112
- throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0);
3113
- }
3114
- // Allow duplicate flags within the mode modifier
3115
- flags = clipDuplicates(flags + $1);
3116
- return '';
3117
- });
3118
-
3119
- // Throw on unknown native or nonnative flags
3120
- for (i = 0; i < flags.length; ++i) {
3121
- if (!registeredFlags[flags.charAt(i)]) {
3122
- throw new SyntaxError('Unknown regex flag ' + flags.charAt(i));
3123
- }
3124
- }
3125
-
3126
- return {
3127
- pattern: pattern,
3128
- flags: flags
3129
- };
3130
- }
3131
-
3132
- /**
3133
- * Prepares an options object from the given value.
3134
- *
3135
- * @private
3136
- * @param {String|Object} value Value to convert to an options object.
3137
- * @returns {Object} Options object.
3138
- */
3139
- function prepareOptions(value) {
3140
- var options = {};
3141
-
3142
- if (isType(value, 'String')) {
3143
- XRegExp.forEach(value, /[^\s,]+/, function(match) {
3144
- options[match] = true;
3145
- });
3146
-
3147
- return options;
3148
- }
3149
-
3150
- return value;
3151
- }
3152
-
3153
- /**
3154
- * Registers a flag so it doesn't throw an 'unknown flag' error.
3155
- *
3156
- * @private
3157
- * @param {String} flag Single-character flag to register.
3158
- */
3159
- function registerFlag(flag) {
3160
- if (!/^[\w$]$/.test(flag)) {
3161
- throw new Error('Flag must be a single character A-Za-z0-9_$');
3162
- }
3163
-
3164
- registeredFlags[flag] = true;
3165
- }
3166
-
3167
- /**
3168
- * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified
3169
- * position, until a match is found.
3170
- *
3171
- * @private
3172
- * @param {String} pattern Original pattern from which an XRegExp object is being built.
3173
- * @param {String} flags Flags being used to construct the regex.
3174
- * @param {Number} pos Position to search for tokens within `pattern`.
3175
- * @param {Number} scope Regex scope to apply: 'default' or 'class'.
3176
- * @param {Object} context Context object to use for token handler functions.
3177
- * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`.
3178
- */
3179
- function runTokens(pattern, flags, pos, scope, context) {
3180
- var i = tokens.length;
3181
- var leadChar = pattern.charAt(pos);
3182
- var result = null;
3183
- var match;
3184
- var t;
3185
-
3186
- // Run in reverse insertion order
3187
- while (i--) {
3188
- t = tokens[i];
3189
- if (
3190
- (t.leadChar && t.leadChar !== leadChar) ||
3191
- (t.scope !== scope && t.scope !== 'all') ||
3192
- (t.flag && flags.indexOf(t.flag) === -1)
3193
- ) {
3194
- continue;
3195
- }
3196
-
3197
- match = XRegExp.exec(pattern, t.regex, pos, 'sticky');
3198
- if (match) {
3199
- result = {
3200
- matchLength: match[0].length,
3201
- output: t.handler.call(context, match, scope, flags),
3202
- reparse: t.reparse
3203
- };
3204
- // Finished with token tests
3205
- break;
3206
- }
3207
- }
3208
-
3209
- return result;
3210
- }
3211
-
3212
- /**
3213
- * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to
3214
- * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if
3215
- * the Unicode Base addon is not available, since flag A is registered by that addon.
3216
- *
3217
- * @private
3218
- * @param {Boolean} on `true` to enable; `false` to disable.
3219
- */
3220
- function setAstral(on) {
3221
- features.astral = on;
3222
- }
3223
-
3224
- /**
3225
- * Enables or disables native method overrides.
3226
- *
3227
- * @private
3228
- * @param {Boolean} on `true` to enable; `false` to disable.
3229
- */
3230
- function setNatives(on) {
3231
- RegExp.prototype.exec = (on ? fixed : nativ).exec;
3232
- RegExp.prototype.test = (on ? fixed : nativ).test;
3233
- String.prototype.match = (on ? fixed : nativ).match;
3234
- String.prototype.replace = (on ? fixed : nativ).replace;
3235
- String.prototype.split = (on ? fixed : nativ).split;
3236
-
3237
- features.natives = on;
3238
- }
3239
-
3240
- /**
3241
- * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow
3242
- * the ES5 abstract operation `ToObject`.
3243
- *
3244
- * @private
3245
- * @param {*} value Object to check and return.
3246
- * @returns {*} The provided object.
3247
- */
3248
- function toObject(value) {
3249
- // null or undefined
3250
- if (value == null) {
3251
- throw new TypeError('Cannot convert null or undefined to object');
3252
- }
3253
-
3254
- return value;
3255
- }
3256
-
3257
- // ==--------------------------==
3258
- // Constructor
3259
- // ==--------------------------==
3260
-
3261
- /**
3262
- * Creates an extended regular expression object for matching text with a pattern. Differs from a
3263
- * native regular expression in that additional syntax and flags are supported. The returned object
3264
- * is in fact a native `RegExp` and works with all native methods.
3265
- *
3266
- * @class XRegExp
3267
- * @constructor
3268
- * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy.
3269
- * @param {String} [flags] Any combination of flags.
3270
- * Native flags:
3271
- * - `g` - global
3272
- * - `i` - ignore case
3273
- * - `m` - multiline anchors
3274
- * - `u` - unicode (ES6)
3275
- * - `y` - sticky (Firefox 3+, ES6)
3276
- * Additional XRegExp flags:
3277
- * - `n` - explicit capture
3278
- * - `s` - dot matches all (aka singleline)
3279
- * - `x` - free-spacing and line comments (aka extended)
3280
- * - `A` - astral (requires the Unicode Base addon)
3281
- * Flags cannot be provided when constructing one `RegExp` from another.
3282
- * @returns {RegExp} Extended regular expression object.
3283
- * @example
3284
- *
3285
- * // With named capture and flag x
3286
- * XRegExp('(?<year> [0-9]{4} ) -? # year \n\
3287
- * (?<month> [0-9]{2} ) -? # month \n\
3288
- * (?<day> [0-9]{2} ) # day ', 'x');
3289
- *
3290
- * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp)
3291
- * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and
3292
- * // have fresh `lastIndex` properties (set to zero).
3293
- * XRegExp(/regex/);
3294
- */
3295
- function XRegExp(pattern, flags) {
3296
- if (XRegExp.isRegExp(pattern)) {
3297
- if (flags !== undefined) {
3298
- throw new TypeError('Cannot supply flags when copying a RegExp');
3299
- }
3300
- return copyRegex(pattern);
3301
- }
3302
-
3303
- // Copy the argument behavior of `RegExp`
3304
- pattern = pattern === undefined ? '' : String(pattern);
3305
- flags = flags === undefined ? '' : String(flags);
3306
-
3307
- if (XRegExp.isInstalled('astral') && flags.indexOf('A') === -1) {
3308
- // This causes an error to be thrown if the Unicode Base addon is not available
3309
- flags += 'A';
3310
- }
3311
-
3312
- if (!patternCache[pattern]) {
3313
- patternCache[pattern] = {};
3314
- }
3315
-
3316
- if (!patternCache[pattern][flags]) {
3317
- var context = {
3318
- hasNamedCapture: false,
3319
- captureNames: []
3320
- };
3321
- var scope = defaultScope;
3322
- var output = '';
3323
- var pos = 0;
3324
- var result;
3325
-
3326
- // Check for flag-related errors, and strip/apply flags in a leading mode modifier
3327
- var applied = prepareFlags(pattern, flags);
3328
- var appliedPattern = applied.pattern;
3329
- var appliedFlags = applied.flags;
3330
-
3331
- // Use XRegExp's tokens to translate the pattern to a native regex pattern.
3332
- // `appliedPattern.length` may change on each iteration if tokens use `reparse`
3333
- while (pos < appliedPattern.length) {
3334
- do {
3335
- // Check for custom tokens at the current position
3336
- result = runTokens(appliedPattern, appliedFlags, pos, scope, context);
3337
- // If the matched token used the `reparse` option, splice its output into the
3338
- // pattern before running tokens again at the same position
3339
- if (result && result.reparse) {
3340
- appliedPattern = appliedPattern.slice(0, pos) +
3341
- result.output +
3342
- appliedPattern.slice(pos + result.matchLength);
3343
- }
3344
- } while (result && result.reparse);
3345
-
3346
- if (result) {
3347
- output += result.output;
3348
- pos += (result.matchLength || 1);
3349
- } else {
3350
- // Get the native token at the current position
3351
- var token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0];
3352
- output += token;
3353
- pos += token.length;
3354
- if (token === '[' && scope === defaultScope) {
3355
- scope = classScope;
3356
- } else if (token === ']' && scope === classScope) {
3357
- scope = defaultScope;
3358
- }
3359
- }
3360
- }
3361
-
3362
- patternCache[pattern][flags] = {
3363
- // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty
3364
- // groups are sometimes inserted during regex transpilation in order to keep tokens
3365
- // separated. However, more than one empty group in a row is never needed.
3366
- pattern: nativ.replace.call(output, /(?:\(\?:\))+/g, '(?:)'),
3367
- // Strip all but native flags
3368
- flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''),
3369
- // `context.captureNames` has an item for each capturing group, even if unnamed
3370
- captures: context.hasNamedCapture ? context.captureNames : null
3371
- };
3372
- }
3373
-
3374
- var generated = patternCache[pattern][flags];
3375
- return augment(
3376
- new RegExp(generated.pattern, generated.flags),
3377
- generated.captures,
3378
- pattern,
3379
- flags
3380
- );
3381
- }
3382
-
3383
- // Add `RegExp.prototype` to the prototype chain
3384
- XRegExp.prototype = new RegExp();
3385
-
3386
- // ==--------------------------==
3387
- // Public properties
3388
- // ==--------------------------==
3389
-
3390
- /**
3391
- * The XRegExp version number as a string containing three dot-separated parts. For example,
3392
- * '2.0.0-beta-3'.
3393
- *
3394
- * @static
3395
- * @memberOf XRegExp
3396
- * @type String
3397
- */
3398
- XRegExp.version = '3.2.0';
3399
-
3400
- // ==--------------------------==
3401
- // Public methods
3402
- // ==--------------------------==
3403
-
3404
- // Intentionally undocumented; used in tests and addons
3405
- XRegExp._clipDuplicates = clipDuplicates;
3406
- XRegExp._hasNativeFlag = hasNativeFlag;
3407
- XRegExp._dec = dec;
3408
- XRegExp._hex = hex;
3409
- XRegExp._pad4 = pad4;
3410
-
3411
- /**
3412
- * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to
3413
- * create XRegExp addons. If more than one token can match the same string, the last added wins.
3414
- *
3415
- * @memberOf XRegExp
3416
- * @param {RegExp} regex Regex object that matches the new token.
3417
- * @param {Function} handler Function that returns a new pattern string (using native regex syntax)
3418
- * to replace the matched token within all future XRegExp regexes. Has access to persistent
3419
- * properties of the regex being built, through `this`. Invoked with three arguments:
3420
- * - The match array, with named backreference properties.
3421
- * - The regex scope where the match was found: 'default' or 'class'.
3422
- * - The flags used by the regex, including any flags in a leading mode modifier.
3423
- * The handler function becomes part of the XRegExp construction process, so be careful not to
3424
- * construct XRegExps within the function or you will trigger infinite recursion.
3425
- * @param {Object} [options] Options object with optional properties:
3426
- * - `scope` {String} Scope where the token applies: 'default', 'class', or 'all'.
3427
- * - `flag` {String} Single-character flag that triggers the token. This also registers the
3428
- * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used.
3429
- * - `optionalFlags` {String} Any custom flags checked for within the token `handler` that are
3430
- * not required to trigger the token. This registers the flags, to prevent XRegExp from
3431
- * throwing an 'unknown flag' error when any of the flags are used.
3432
- * - `reparse` {Boolean} Whether the `handler` function's output should not be treated as
3433
- * final, and instead be reparseable by other tokens (including the current token). Allows
3434
- * token chaining or deferring.
3435
- * - `leadChar` {String} Single character that occurs at the beginning of any successful match
3436
- * of the token (not always applicable). This doesn't change the behavior of the token unless
3437
- * you provide an erroneous value. However, providing it can increase the token's performance
3438
- * since the token can be skipped at any positions where this character doesn't appear.
3439
- * @example
3440
- *
3441
- * // Basic usage: Add \a for the ALERT control code
3442
- * XRegExp.addToken(
3443
- * /\\a/,
3444
- * function() {return '\\x07';},
3445
- * {scope: 'all'}
3446
- * );
3447
- * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true
3448
- *
3449
- * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers.
3450
- * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of
3451
- * // character classes only)
3452
- * XRegExp.addToken(
3453
- * /([?*+]|{\d+(?:,\d*)?})(\??)/,
3454
- * function(match) {return match[1] + (match[2] ? '' : '?');},
3455
- * {flag: 'U'}
3456
- * );
3457
- * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a'
3458
- * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa'
3459
- */
3460
- XRegExp.addToken = function(regex, handler, options) {
3461
- options = options || {};
3462
- var optionalFlags = options.optionalFlags;
3463
- var i;
3464
-
3465
- if (options.flag) {
3466
- registerFlag(options.flag);
3467
- }
3468
-
3469
- if (optionalFlags) {
3470
- optionalFlags = nativ.split.call(optionalFlags, '');
3471
- for (i = 0; i < optionalFlags.length; ++i) {
3472
- registerFlag(optionalFlags[i]);
3473
- }
3474
- }
3475
-
3476
- // Add to the private list of syntax tokens
3477
- tokens.push({
3478
- regex: copyRegex(regex, {
3479
- addG: true,
3480
- addY: hasNativeY,
3481
- isInternalOnly: true
3482
- }),
3483
- handler: handler,
3484
- scope: options.scope || defaultScope,
3485
- flag: options.flag,
3486
- reparse: options.reparse,
3487
- leadChar: options.leadChar
3488
- });
3489
-
3490
- // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags
3491
- // might now produce different results
3492
- XRegExp.cache.flush('patterns');
3493
- };
3494
-
3495
- /**
3496
- * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with
3497
- * the same pattern and flag combination, the cached copy of the regex is returned.
3498
- *
3499
- * @memberOf XRegExp
3500
- * @param {String} pattern Regex pattern string.
3501
- * @param {String} [flags] Any combination of XRegExp flags.
3502
- * @returns {RegExp} Cached XRegExp object.
3503
- * @example
3504
- *
3505
- * while (match = XRegExp.cache('.', 'gs').exec(str)) {
3506
- * // The regex is compiled once only
3507
- * }
3508
- */
3509
- XRegExp.cache = function(pattern, flags) {
3510
- if (!regexCache[pattern]) {
3511
- regexCache[pattern] = {};
3512
- }
3513
- return regexCache[pattern][flags] || (
3514
- regexCache[pattern][flags] = XRegExp(pattern, flags)
3515
- );
3516
- };
3517
-
3518
- // Intentionally undocumented; used in tests
3519
- XRegExp.cache.flush = function(cacheName) {
3520
- if (cacheName === 'patterns') {
3521
- // Flush the pattern cache used by the `XRegExp` constructor
3522
- patternCache = {};
3523
- } else {
3524
- // Flush the regex cache populated by `XRegExp.cache`
3525
- regexCache = {};
3526
- }
3527
- };
3528
-
3529
- /**
3530
- * Escapes any regular expression metacharacters, for use when matching literal strings. The result
3531
- * can safely be used at any point within a regex that uses any flags.
3532
- *
3533
- * @memberOf XRegExp
3534
- * @param {String} str String to escape.
3535
- * @returns {String} String with regex metacharacters escaped.
3536
- * @example
3537
- *
3538
- * XRegExp.escape('Escaped? <.>');
3539
- * // -> 'Escaped\?\ <\.>'
3540
- */
3541
- XRegExp.escape = function(str) {
3542
- return nativ.replace.call(toObject(str), /[-\[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
3543
- };
3544
-
3545
- /**
3546
- * Executes a regex search in a specified string. Returns a match array or `null`. If the provided
3547
- * regex uses named capture, named backreference properties are included on the match array.
3548
- * Optional `pos` and `sticky` arguments specify the search start position, and whether the match
3549
- * must start at the specified position only. The `lastIndex` property of the provided regex is not
3550
- * used, but is updated for compatibility. Also fixes browser bugs compared to the native
3551
- * `RegExp.prototype.exec` and can be used reliably cross-browser.
3552
- *
3553
- * @memberOf XRegExp
3554
- * @param {String} str String to search.
3555
- * @param {RegExp} regex Regex to search with.
3556
- * @param {Number} [pos=0] Zero-based index at which to start the search.
3557
- * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position
3558
- * only. The string `'sticky'` is accepted as an alternative to `true`.
3559
- * @returns {Array} Match array with named backreference properties, or `null`.
3560
- * @example
3561
- *
3562
- * // Basic use, with named backreference
3563
- * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})'));
3564
- * match.hex; // -> '2620'
3565
- *
3566
- * // With pos and sticky, in a loop
3567
- * var pos = 2, result = [], match;
3568
- * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) {
3569
- * result.push(match[1]);
3570
- * pos = match.index + match[0].length;
3571
- * }
3572
- * // result -> ['2', '3', '4']
3573
- */
3574
- XRegExp.exec = function(str, regex, pos, sticky) {
3575
- var cacheKey = 'g';
3576
- var addY = false;
3577
- var fakeY = false;
3578
- var match;
3579
- var r2;
3580
-
3581
- addY = hasNativeY && !!(sticky || (regex.sticky && sticky !== false));
3582
- if (addY) {
3583
- cacheKey += 'y';
3584
- } else if (sticky) {
3585
- // Simulate sticky matching by appending an empty capture to the original regex. The
3586
- // resulting regex will succeed no matter what at the current index (set with `lastIndex`),
3587
- // and will not search the rest of the subject string. We'll know that the original regex
3588
- // has failed if that last capture is `''` rather than `undefined` (i.e., if that last
3589
- // capture participated in the match).
3590
- fakeY = true;
3591
- cacheKey += 'FakeY';
3592
- }
3593
-
3594
- regex[REGEX_DATA] = regex[REGEX_DATA] || {};
3595
-
3596
- // Shares cached copies with `XRegExp.match`/`replace`
3597
- r2 = regex[REGEX_DATA][cacheKey] || (
3598
- regex[REGEX_DATA][cacheKey] = copyRegex(regex, {
3599
- addG: true,
3600
- addY: addY,
3601
- source: fakeY ? regex.source + '|()' : undefined,
3602
- removeY: sticky === false,
3603
- isInternalOnly: true
3604
- })
3605
- );
3606
-
3607
- pos = pos || 0;
3608
- r2.lastIndex = pos;
3609
-
3610
- // Fixed `exec` required for `lastIndex` fix, named backreferences, etc.
3611
- match = fixed.exec.call(r2, str);
3612
-
3613
- // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means
3614
- // the original regexp failed (see above).
3615
- if (fakeY && match && match.pop() === '') {
3616
- match = null;
3617
- }
3618
-
3619
- if (regex.global) {
3620
- regex.lastIndex = match ? r2.lastIndex : 0;
3621
- }
3622
-
3623
- return match;
3624
- };
3625
-
3626
- /**
3627
- * Executes a provided function once per regex match. Searches always start at the beginning of the
3628
- * string and continue until the end, regardless of the state of the regex's `global` property and
3629
- * initial `lastIndex`.
3630
- *
3631
- * @memberOf XRegExp
3632
- * @param {String} str String to search.
3633
- * @param {RegExp} regex Regex to search with.
3634
- * @param {Function} callback Function to execute for each match. Invoked with four arguments:
3635
- * - The match array, with named backreference properties.
3636
- * - The zero-based match index.
3637
- * - The string being traversed.
3638
- * - The regex object being used to traverse the string.
3639
- * @example
3640
- *
3641
- * // Extracts every other digit from a string
3642
- * var evens = [];
3643
- * XRegExp.forEach('1a2345', /\d/, function(match, i) {
3644
- * if (i % 2) evens.push(+match[0]);
3645
- * });
3646
- * // evens -> [2, 4]
3647
- */
3648
- XRegExp.forEach = function(str, regex, callback) {
3649
- var pos = 0;
3650
- var i = -1;
3651
- var match;
3652
-
3653
- while ((match = XRegExp.exec(str, regex, pos))) {
3654
- // Because `regex` is provided to `callback`, the function could use the deprecated/
3655
- // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec`
3656
- // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop,
3657
- // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of
3658
- // regexes, mutating the regex will not have any effect on the iteration or matched strings,
3659
- // which is a nice side effect that brings extra safety.
3660
- callback(match, ++i, str, regex);
3661
-
3662
- pos = match.index + (match[0].length || 1);
3663
- }
3664
- };
3665
-
3666
- /**
3667
- * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with
3668
- * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native
3669
- * regexes are not recompiled using XRegExp syntax.
3670
- *
3671
- * @memberOf XRegExp
3672
- * @param {RegExp} regex Regex to globalize.
3673
- * @returns {RegExp} Copy of the provided regex with flag `g` added.
3674
- * @example
3675
- *
3676
- * var globalCopy = XRegExp.globalize(/regex/);
3677
- * globalCopy.global; // -> true
3678
- */
3679
- XRegExp.globalize = function(regex) {
3680
- return copyRegex(regex, {addG: true});
3681
- };
3682
-
3683
- /**
3684
- * Installs optional features according to the specified options. Can be undone using
3685
- * `XRegExp.uninstall`.
3686
- *
3687
- * @memberOf XRegExp
3688
- * @param {Object|String} options Options object or string.
3689
- * @example
3690
- *
3691
- * // With an options object
3692
- * XRegExp.install({
3693
- * // Enables support for astral code points in Unicode addons (implicitly sets flag A)
3694
- * astral: true,
3695
- *
3696
- * // DEPRECATED: Overrides native regex methods with fixed/extended versions
3697
- * natives: true
3698
- * });
3699
- *
3700
- * // With an options string
3701
- * XRegExp.install('astral natives');
3702
- */
3703
- XRegExp.install = function(options) {
3704
- options = prepareOptions(options);
3705
-
3706
- if (!features.astral && options.astral) {
3707
- setAstral(true);
3708
- }
3709
-
3710
- if (!features.natives && options.natives) {
3711
- setNatives(true);
3712
- }
3713
- };
3714
-
3715
- /**
3716
- * Checks whether an individual optional feature is installed.
3717
- *
3718
- * @memberOf XRegExp
3719
- * @param {String} feature Name of the feature to check. One of:
3720
- * - `astral`
3721
- * - `natives`
3722
- * @returns {Boolean} Whether the feature is installed.
3723
- * @example
3724
- *
3725
- * XRegExp.isInstalled('astral');
3726
- */
3727
- XRegExp.isInstalled = function(feature) {
3728
- return !!(features[feature]);
3729
- };
3730
-
3731
- /**
3732
- * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes
3733
- * created in another frame, when `instanceof` and `constructor` checks would fail.
3734
- *
3735
- * @memberOf XRegExp
3736
- * @param {*} value Object to check.
3737
- * @returns {Boolean} Whether the object is a `RegExp` object.
3738
- * @example
3739
- *
3740
- * XRegExp.isRegExp('string'); // -> false
3741
- * XRegExp.isRegExp(/regex/i); // -> true
3742
- * XRegExp.isRegExp(RegExp('^', 'm')); // -> true
3743
- * XRegExp.isRegExp(XRegExp('(?s).')); // -> true
3744
- */
3745
- XRegExp.isRegExp = function(value) {
3746
- return toString.call(value) === '[object RegExp]';
3747
- //return isType(value, 'RegExp');
3748
- };
3749
-
3750
- /**
3751
- * Returns the first matched string, or in global mode, an array containing all matched strings.
3752
- * This is essentially a more convenient re-implementation of `String.prototype.match` that gives
3753
- * the result types you actually want (string instead of `exec`-style array in match-first mode,
3754
- * and an empty array instead of `null` when no matches are found in match-all mode). It also lets
3755
- * you override flag g and ignore `lastIndex`, and fixes browser bugs.
3756
- *
3757
- * @memberOf XRegExp
3758
- * @param {String} str String to search.
3759
- * @param {RegExp} regex Regex to search with.
3760
- * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to
3761
- * return an array of all matched strings. If not explicitly specified and `regex` uses flag g,
3762
- * `scope` is 'all'.
3763
- * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all
3764
- * mode: Array of all matched strings, or an empty array.
3765
- * @example
3766
- *
3767
- * // Match first
3768
- * XRegExp.match('abc', /\w/); // -> 'a'
3769
- * XRegExp.match('abc', /\w/g, 'one'); // -> 'a'
3770
- * XRegExp.match('abc', /x/g, 'one'); // -> null
3771
- *
3772
- * // Match all
3773
- * XRegExp.match('abc', /\w/g); // -> ['a', 'b', 'c']
3774
- * XRegExp.match('abc', /\w/, 'all'); // -> ['a', 'b', 'c']
3775
- * XRegExp.match('abc', /x/, 'all'); // -> []
3776
- */
3777
- XRegExp.match = function(str, regex, scope) {
3778
- var global = (regex.global && scope !== 'one') || scope === 'all';
3779
- var cacheKey = ((global ? 'g' : '') + (regex.sticky ? 'y' : '')) || 'noGY';
3780
- var result;
3781
- var r2;
3782
-
3783
- regex[REGEX_DATA] = regex[REGEX_DATA] || {};
3784
-
3785
- // Shares cached copies with `XRegExp.exec`/`replace`
3786
- r2 = regex[REGEX_DATA][cacheKey] || (
3787
- regex[REGEX_DATA][cacheKey] = copyRegex(regex, {
3788
- addG: !!global,
3789
- removeG: scope === 'one',
3790
- isInternalOnly: true
3791
- })
3792
- );
3793
-
3794
- result = nativ.match.call(toObject(str), r2);
3795
-
3796
- if (regex.global) {
3797
- regex.lastIndex = (
3798
- (scope === 'one' && result) ?
3799
- // Can't use `r2.lastIndex` since `r2` is nonglobal in this case
3800
- (result.index + result[0].length) : 0
3801
- );
3802
- }
3803
-
3804
- return global ? (result || []) : (result && result[0]);
3805
- };
3806
-
3807
- /**
3808
- * Retrieves the matches from searching a string using a chain of regexes that successively search
3809
- * within previous matches. The provided `chain` array can contain regexes and or objects with
3810
- * `regex` and `backref` properties. When a backreference is specified, the named or numbered
3811
- * backreference is passed forward to the next regex or returned.
3812
- *
3813
- * @memberOf XRegExp
3814
- * @param {String} str String to search.
3815
- * @param {Array} chain Regexes that each search for matches within preceding results.
3816
- * @returns {Array} Matches by the last regex in the chain, or an empty array.
3817
- * @example
3818
- *
3819
- * // Basic usage; matches numbers within <b> tags
3820
- * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [
3821
- * XRegExp('(?is)<b>.*?</b>'),
3822
- * /\d+/
3823
- * ]);
3824
- * // -> ['2', '4', '56']
3825
- *
3826
- * // Passing forward and returning specific backreferences
3827
- * html = '<a href="http://xregexp.com/api/">XRegExp</a>\
3828
- * <a href="http://www.google.com/">Google</a>';
3829
- * XRegExp.matchChain(html, [
3830
- * {regex: /<a href="([^"]+)">/i, backref: 1},
3831
- * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}
3832
- * ]);
3833
- * // -> ['xregexp.com', 'www.google.com']
3834
- */
3835
- XRegExp.matchChain = function(str, chain) {
3836
- return (function recurseChain(values, level) {
3837
- var item = chain[level].regex ? chain[level] : {regex: chain[level]};
3838
- var matches = [];
3839
-
3840
- function addMatch(match) {
3841
- if (item.backref) {
3842
- // Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold the
3843
- // `undefined`s for backreferences to nonparticipating capturing groups. In such
3844
- // cases, a `hasOwnProperty` or `in` check on its own would inappropriately throw
3845
- // the exception, so also check if the backreference is a number that is within the
3846
- // bounds of the array.
3847
- if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) {
3848
- throw new ReferenceError('Backreference to undefined group: ' + item.backref);
3849
- }
3850
-
3851
- matches.push(match[item.backref] || '');
3852
- } else {
3853
- matches.push(match[0]);
3854
- }
3855
- }
3856
-
3857
- for (var i = 0; i < values.length; ++i) {
3858
- XRegExp.forEach(values[i], item.regex, addMatch);
3859
- }
3860
-
3861
- return ((level === chain.length - 1) || !matches.length) ?
3862
- matches :
3863
- recurseChain(matches, level + 1);
3864
- }([str], 0));
3865
- };
3866
-
3867
- /**
3868
- * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string
3869
- * or regex, and the replacement can be a string or a function to be called for each match. To
3870
- * perform a global search and replace, use the optional `scope` argument or include flag g if using
3871
- * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement
3872
- * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared
3873
- * to the native `String.prototype.replace` and can be used reliably cross-browser.
3874
- *
3875
- * @memberOf XRegExp
3876
- * @param {String} str String to search.
3877
- * @param {RegExp|String} search Search pattern to be replaced.
3878
- * @param {String|Function} replacement Replacement string or a function invoked to create it.
3879
- * Replacement strings can include special replacement syntax:
3880
- * - $$ - Inserts a literal $ character.
3881
- * - $&, $0 - Inserts the matched substring.
3882
- * - $` - Inserts the string that precedes the matched substring (left context).
3883
- * - $' - Inserts the string that follows the matched substring (right context).
3884
- * - $n, $nn - Where n/nn are digits referencing an existent capturing group, inserts
3885
- * backreference n/nn.
3886
- * - ${n} - Where n is a name or any number of digits that reference an existent capturing
3887
- * group, inserts backreference n.
3888
- * Replacement functions are invoked with three or more arguments:
3889
- * - The matched substring (corresponds to $& above). Named backreferences are accessible as
3890
- * properties of this first argument.
3891
- * - 0..n arguments, one for each backreference (corresponding to $1, $2, etc. above).
3892
- * - The zero-based index of the match within the total search string.
3893
- * - The total string being searched.
3894
- * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not
3895
- * explicitly specified and using a regex with flag g, `scope` is 'all'.
3896
- * @returns {String} New string with one or all matches replaced.
3897
- * @example
3898
- *
3899
- * // Regex search, using named backreferences in replacement string
3900
- * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)');
3901
- * XRegExp.replace('John Smith', name, '${last}, ${first}');
3902
- * // -> 'Smith, John'
3903
- *
3904
- * // Regex search, using named backreferences in replacement function
3905
- * XRegExp.replace('John Smith', name, function(match) {
3906
- * return match.last + ', ' + match.first;
3907
- * });
3908
- * // -> 'Smith, John'
3909
- *
3910
- * // String search, with replace-all
3911
- * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');
3912
- * // -> 'XRegExp builds XRegExps'
3913
- */
3914
- XRegExp.replace = function(str, search, replacement, scope) {
3915
- var isRegex = XRegExp.isRegExp(search);
3916
- var global = (search.global && scope !== 'one') || scope === 'all';
3917
- var cacheKey = ((global ? 'g' : '') + (search.sticky ? 'y' : '')) || 'noGY';
3918
- var s2 = search;
3919
- var result;
3920
-
3921
- if (isRegex) {
3922
- search[REGEX_DATA] = search[REGEX_DATA] || {};
3923
-
3924
- // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s
3925
- // `lastIndex` isn't updated *during* replacement iterations
3926
- s2 = search[REGEX_DATA][cacheKey] || (
3927
- search[REGEX_DATA][cacheKey] = copyRegex(search, {
3928
- addG: !!global,
3929
- removeG: scope === 'one',
3930
- isInternalOnly: true
3931
- })
3932
- );
3933
- } else if (global) {
3934
- s2 = new RegExp(XRegExp.escape(String(search)), 'g');
3935
- }
3936
-
3937
- // Fixed `replace` required for named backreferences, etc.
3938
- result = fixed.replace.call(toObject(str), s2, replacement);
3939
-
3940
- if (isRegex && search.global) {
3941
- // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)
3942
- search.lastIndex = 0;
3943
- }
3944
-
3945
- return result;
3946
- };
3947
-
3948
- /**
3949
- * Performs batch processing of string replacements. Used like `XRegExp.replace`, but accepts an
3950
- * array of replacement details. Later replacements operate on the output of earlier replacements.
3951
- * Replacement details are accepted as an array with a regex or string to search for, the
3952
- * replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp
3953
- * replacement text syntax, which supports named backreference properties via `${name}`.
3954
- *
3955
- * @memberOf XRegExp
3956
- * @param {String} str String to search.
3957
- * @param {Array} replacements Array of replacement detail arrays.
3958
- * @returns {String} New string with all replacements.
3959
- * @example
3960
- *
3961
- * str = XRegExp.replaceEach(str, [
3962
- * [XRegExp('(?<name>a)'), 'z${name}'],
3963
- * [/b/gi, 'y'],
3964
- * [/c/g, 'x', 'one'], // scope 'one' overrides /g
3965
- * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g
3966
- * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings
3967
- * [/f/g, function($0) {
3968
- * return $0.toUpperCase();
3969
- * }]
3970
- * ]);
3971
- */
3972
- XRegExp.replaceEach = function(str, replacements) {
3973
- var i;
3974
- var r;
3975
-
3976
- for (i = 0; i < replacements.length; ++i) {
3977
- r = replacements[i];
3978
- str = XRegExp.replace(str, r[0], r[1], r[2]);
3979
- }
3980
-
3981
- return str;
3982
- };
3983
-
3984
- /**
3985
- * Splits a string into an array of strings using a regex or string separator. Matches of the
3986
- * separator are not included in the result array. However, if `separator` is a regex that contains
3987
- * capturing groups, backreferences are spliced into the result each time `separator` is matched.
3988
- * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably
3989
- * cross-browser.
3990
- *
3991
- * @memberOf XRegExp
3992
- * @param {String} str String to split.
3993
- * @param {RegExp|String} separator Regex or string to use for separating the string.
3994
- * @param {Number} [limit] Maximum number of items to include in the result array.
3995
- * @returns {Array} Array of substrings.
3996
- * @example
3997
- *
3998
- * // Basic use
3999
- * XRegExp.split('a b c', ' ');
4000
- * // -> ['a', 'b', 'c']
4001
- *
4002
- * // With limit
4003
- * XRegExp.split('a b c', ' ', 2);
4004
- * // -> ['a', 'b']
4005
- *
4006
- * // Backreferences in result array
4007
- * XRegExp.split('..word1..', /([a-z]+)(\d+)/i);
4008
- * // -> ['..', 'word', '1', '..']
4009
- */
4010
- XRegExp.split = function(str, separator, limit) {
4011
- return fixed.split.call(toObject(str), separator, limit);
4012
- };
4013
-
4014
- /**
4015
- * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and
4016
- * `sticky` arguments specify the search start position, and whether the match must start at the
4017
- * specified position only. The `lastIndex` property of the provided regex is not used, but is
4018
- * updated for compatibility. Also fixes browser bugs compared to the native
4019
- * `RegExp.prototype.test` and can be used reliably cross-browser.
4020
- *
4021
- * @memberOf XRegExp
4022
- * @param {String} str String to search.
4023
- * @param {RegExp} regex Regex to search with.
4024
- * @param {Number} [pos=0] Zero-based index at which to start the search.
4025
- * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position
4026
- * only. The string `'sticky'` is accepted as an alternative to `true`.
4027
- * @returns {Boolean} Whether the regex matched the provided value.
4028
- * @example
4029
- *
4030
- * // Basic use
4031
- * XRegExp.test('abc', /c/); // -> true
4032
- *
4033
- * // With pos and sticky
4034
- * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false
4035
- * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true
4036
- */
4037
- XRegExp.test = function(str, regex, pos, sticky) {
4038
- // Do this the easy way :-)
4039
- return !!XRegExp.exec(str, regex, pos, sticky);
4040
- };
4041
-
4042
- /**
4043
- * Uninstalls optional features according to the specified options. All optional features start out
4044
- * uninstalled, so this is used to undo the actions of `XRegExp.install`.
4045
- *
4046
- * @memberOf XRegExp
4047
- * @param {Object|String} options Options object or string.
4048
- * @example
4049
- *
4050
- * // With an options object
4051
- * XRegExp.uninstall({
4052
- * // Disables support for astral code points in Unicode addons
4053
- * astral: true,
4054
- *
4055
- * // DEPRECATED: Restores native regex methods
4056
- * natives: true
4057
- * });
4058
- *
4059
- * // With an options string
4060
- * XRegExp.uninstall('astral natives');
4061
- */
4062
- XRegExp.uninstall = function(options) {
4063
- options = prepareOptions(options);
4064
-
4065
- if (features.astral && options.astral) {
4066
- setAstral(false);
4067
- }
4068
-
4069
- if (features.natives && options.natives) {
4070
- setNatives(false);
4071
- }
4072
- };
4073
-
4074
- /**
4075
- * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as
4076
- * regex objects or strings. Metacharacters are escaped in patterns provided as strings.
4077
- * Backreferences in provided regex objects are automatically renumbered to work correctly within
4078
- * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the
4079
- * `flags` argument.
4080
- *
4081
- * @memberOf XRegExp
4082
- * @param {Array} patterns Regexes and strings to combine.
4083
- * @param {String} [flags] Any combination of XRegExp flags.
4084
- * @param {Object} [options] Options object with optional properties:
4085
- * - `conjunction` {String} Type of conjunction to use: 'or' (default) or 'none'.
4086
- * @returns {RegExp} Union of the provided regexes and strings.
4087
- * @example
4088
- *
4089
- * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i');
4090
- * // -> /a\+b\*c|(dogs)\1|(cats)\2/i
4091
- *
4092
- * XRegExp.union([/man/, /bear/, /pig/], 'i', {conjunction: 'none'});
4093
- * // -> /manbearpig/i
4094
- */
4095
- XRegExp.union = function(patterns, flags, options) {
4096
- options = options || {};
4097
- var conjunction = options.conjunction || 'or';
4098
- var numCaptures = 0;
4099
- var numPriorCaptures;
4100
- var captureNames;
4101
-
4102
- function rewrite(match, paren, backref) {
4103
- var name = captureNames[numCaptures - numPriorCaptures];
4104
-
4105
- // Capturing group
4106
- if (paren) {
4107
- ++numCaptures;
4108
- // If the current capture has a name, preserve the name
4109
- if (name) {
4110
- return '(?<' + name + '>';
4111
- }
4112
- // Backreference
4113
- } else if (backref) {
4114
- // Rewrite the backreference
4115
- return '\\' + (+backref + numPriorCaptures);
4116
- }
4117
-
4118
- return match;
4119
- }
4120
-
4121
- if (!(isType(patterns, 'Array') && patterns.length)) {
4122
- throw new TypeError('Must provide a nonempty array of patterns to merge');
4123
- }
4124
-
4125
- var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g;
4126
- var output = [];
4127
- var pattern;
4128
- for (var i = 0; i < patterns.length; ++i) {
4129
- pattern = patterns[i];
4130
-
4131
- if (XRegExp.isRegExp(pattern)) {
4132
- numPriorCaptures = numCaptures;
4133
- captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || [];
4134
-
4135
- // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are
4136
- // independently valid; helps keep this simple. Named captures are put back
4137
- output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite));
4138
- } else {
4139
- output.push(XRegExp.escape(pattern));
4140
- }
4141
- }
4142
-
4143
- var separator = conjunction === 'none' ? '' : '|';
4144
- return XRegExp(output.join(separator), flags);
4145
- };
4146
-
4147
- // ==--------------------------==
4148
- // Fixed/extended native methods
4149
- // ==--------------------------==
4150
-
4151
- /**
4152
- * Adds named capture support (with backreferences returned as `result.name`), and fixes browser
4153
- * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to
4154
- * override the native method. Use via `XRegExp.exec` without overriding natives.
4155
- *
4156
- * @memberOf RegExp
4157
- * @param {String} str String to search.
4158
- * @returns {Array} Match array with named backreference properties, or `null`.
4159
- */
4160
- fixed.exec = function(str) {
4161
- var origLastIndex = this.lastIndex;
4162
- var match = nativ.exec.apply(this, arguments);
4163
- var name;
4164
- var r2;
4165
- var i;
4166
-
4167
- if (match) {
4168
- // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing
4169
- // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9
4170
- // in standards mode follows the spec.
4171
- if (!correctExecNpcg && match.length > 1 && indexOf(match, '') > -1) {
4172
- r2 = copyRegex(this, {
4173
- removeG: true,
4174
- isInternalOnly: true
4175
- });
4176
- // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed
4177
- // matching due to characters outside the match
4178
- nativ.replace.call(String(str).slice(match.index), r2, function() {
4179
- var len = arguments.length;
4180
- var i;
4181
- // Skip index 0 and the last 2
4182
- for (i = 1; i < len - 2; ++i) {
4183
- if (arguments[i] === undefined) {
4184
- match[i] = undefined;
4185
- }
4186
- }
4187
- });
4188
- }
4189
-
4190
- // Attach named capture properties
4191
- if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) {
4192
- // Skip index 0
4193
- for (i = 1; i < match.length; ++i) {
4194
- name = this[REGEX_DATA].captureNames[i - 1];
4195
- if (name) {
4196
- match[name] = match[i];
4197
- }
4198
- }
4199
- }
4200
-
4201
- // Fix browsers that increment `lastIndex` after zero-length matches
4202
- if (this.global && !match[0].length && (this.lastIndex > match.index)) {
4203
- this.lastIndex = match.index;
4204
- }
4205
- }
4206
-
4207
- if (!this.global) {
4208
- // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)
4209
- this.lastIndex = origLastIndex;
4210
- }
4211
-
4212
- return match;
4213
- };
4214
-
4215
- /**
4216
- * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')`
4217
- * uses this to override the native method.
4218
- *
4219
- * @memberOf RegExp
4220
- * @param {String} str String to search.
4221
- * @returns {Boolean} Whether the regex matched the provided value.
4222
- */
4223
- fixed.test = function(str) {
4224
- // Do this the easy way :-)
4225
- return !!fixed.exec.call(this, str);
4226
- };
4227
-
4228
- /**
4229
- * Adds named capture support (with backreferences returned as `result.name`), and fixes browser
4230
- * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to
4231
- * override the native method.
4232
- *
4233
- * @memberOf String
4234
- * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`.
4235
- * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g,
4236
- * the result of calling `regex.exec(this)`.
4237
- */
4238
- fixed.match = function(regex) {
4239
- var result;
4240
-
4241
- if (!XRegExp.isRegExp(regex)) {
4242
- // Use the native `RegExp` rather than `XRegExp`
4243
- regex = new RegExp(regex);
4244
- } else if (regex.global) {
4245
- result = nativ.match.apply(this, arguments);
4246
- // Fixes IE bug
4247
- regex.lastIndex = 0;
4248
-
4249
- return result;
4250
- }
4251
-
4252
- return fixed.exec.call(regex, toObject(this));
4253
- };
4254
-
4255
- /**
4256
- * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and
4257
- * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser
4258
- * bugs in replacement text syntax when performing a replacement using a nonregex search value, and
4259
- * the value of a replacement regex's `lastIndex` property during replacement iterations and upon
4260
- * completion. Calling `XRegExp.install('natives')` uses this to override the native method. Note
4261
- * that this doesn't support SpiderMonkey's proprietary third (`flags`) argument. Use via
4262
- * `XRegExp.replace` without overriding natives.
4263
- *
4264
- * @memberOf String
4265
- * @param {RegExp|String} search Search pattern to be replaced.
4266
- * @param {String|Function} replacement Replacement string or a function invoked to create it.
4267
- * @returns {String} New string with one or all matches replaced.
4268
- */
4269
- fixed.replace = function(search, replacement) {
4270
- var isRegex = XRegExp.isRegExp(search);
4271
- var origLastIndex;
4272
- var captureNames;
4273
- var result;
4274
-
4275
- if (isRegex) {
4276
- if (search[REGEX_DATA]) {
4277
- captureNames = search[REGEX_DATA].captureNames;
4278
- }
4279
- // Only needed if `search` is nonglobal
4280
- origLastIndex = search.lastIndex;
4281
- } else {
4282
- search += ''; // Type-convert
4283
- }
4284
-
4285
- // Don't use `typeof`; some older browsers return 'function' for regex objects
4286
- if (isType(replacement, 'Function')) {
4287
- // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement
4288
- // functions isn't type-converted to a string
4289
- result = nativ.replace.call(String(this), search, function() {
4290
- var args = arguments;
4291
- var i;
4292
- if (captureNames) {
4293
- // Change the `arguments[0]` string primitive to a `String` object that can store
4294
- // properties. This really does need to use `String` as a constructor
4295
- args[0] = new String(args[0]);
4296
- // Store named backreferences on the first argument
4297
- for (i = 0; i < captureNames.length; ++i) {
4298
- if (captureNames[i]) {
4299
- args[0][captureNames[i]] = args[i + 1];
4300
- }
4301
- }
4302
- }
4303
- // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox, Safari
4304
- // bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1)
4305
- if (isRegex && search.global) {
4306
- search.lastIndex = args[args.length - 2] + args[0].length;
4307
- }
4308
- // ES6 specs the context for replacement functions as `undefined`
4309
- return replacement.apply(undefined, args);
4310
- });
4311
- } else {
4312
- // Ensure that the last value of `args` will be a string when given nonstring `this`,
4313
- // while still throwing on null or undefined context
4314
- result = nativ.replace.call(this == null ? this : String(this), search, function() {
4315
- // Keep this function's `arguments` available through closure
4316
- var args = arguments;
4317
- return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) {
4318
- var n;
4319
- // Named or numbered backreference with curly braces
4320
- if ($1) {
4321
- // XRegExp behavior for `${n}`:
4322
- // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for the
4323
- // entire match. Any number of leading zeros may be used.
4324
- // 2. Backreference to named capture `n`, if it exists and is not an integer
4325
- // overridden by numbered capture. In practice, this does not overlap with
4326
- // numbered capture since XRegExp does not allow named capture to use a bare
4327
- // integer as the name.
4328
- // 3. If the name or number does not refer to an existing capturing group, it's
4329
- // an error.
4330
- n = +$1; // Type-convert; drop leading zeros
4331
- if (n <= args.length - 3) {
4332
- return args[n] || '';
4333
- }
4334
- // Groups with the same name is an error, else would need `lastIndexOf`
4335
- n = captureNames ? indexOf(captureNames, $1) : -1;
4336
- if (n < 0) {
4337
- throw new SyntaxError('Backreference to undefined group ' + $0);
4338
- }
4339
- return args[n + 1] || '';
4340
- }
4341
- // Else, special variable or numbered backreference without curly braces
4342
- if ($2 === '$') { // $$
4343
- return '$';
4344
- }
4345
- if ($2 === '&' || +$2 === 0) { // $&, $0 (not followed by 1-9), $00
4346
- return args[0];
4347
- }
4348
- if ($2 === '`') { // $` (left context)
4349
- return args[args.length - 1].slice(0, args[args.length - 2]);
4350
- }
4351
- if ($2 === "'") { // $' (right context)
4352
- return args[args.length - 1].slice(args[args.length - 2] + args[0].length);
4353
- }
4354
- // Else, numbered backreference without curly braces
4355
- $2 = +$2; // Type-convert; drop leading zero
4356
- // XRegExp behavior for `$n` and `$nn`:
4357
- // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits.
4358
- // - `$1` is an error if no capturing groups.
4359
- // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead.
4360
- // - `$01` is `$1` if at least one capturing group, else it's an error.
4361
- // - `$0` (not followed by 1-9) and `$00` are the entire match.
4362
- // Native behavior, for comparison:
4363
- // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+.
4364
- // - `$1` is a literal `$1` if no capturing groups.
4365
- // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups.
4366
- // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`.
4367
- // - `$0` is a literal `$0`.
4368
- if (!isNaN($2)) {
4369
- if ($2 > args.length - 3) {
4370
- throw new SyntaxError('Backreference to undefined group ' + $0);
4371
- }
4372
- return args[$2] || '';
4373
- }
4374
- // `$` followed by an unsupported char is an error, unlike native JS
4375
- throw new SyntaxError('Invalid token ' + $0);
4376
- });
4377
- });
4378
- }
4379
-
4380
- if (isRegex) {
4381
- if (search.global) {
4382
- // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)
4383
- search.lastIndex = 0;
4384
- } else {
4385
- // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)
4386
- search.lastIndex = origLastIndex;
4387
- }
4388
- }
4389
-
4390
- return result;
4391
- };
4392
-
4393
- /**
4394
- * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')`
4395
- * uses this to override the native method. Use via `XRegExp.split` without overriding natives.
4396
- *
4397
- * @memberOf String
4398
- * @param {RegExp|String} separator Regex or string to use for separating the string.
4399
- * @param {Number} [limit] Maximum number of items to include in the result array.
4400
- * @returns {Array} Array of substrings.
4401
- */
4402
- fixed.split = function(separator, limit) {
4403
- if (!XRegExp.isRegExp(separator)) {
4404
- // Browsers handle nonregex split correctly, so use the faster native method
4405
- return nativ.split.apply(this, arguments);
4406
- }
4407
-
4408
- var str = String(this);
4409
- var output = [];
4410
- var origLastIndex = separator.lastIndex;
4411
- var lastLastIndex = 0;
4412
- var lastLength;
4413
-
4414
- // Values for `limit`, per the spec:
4415
- // If undefined: pow(2,32) - 1
4416
- // If 0, Infinity, or NaN: 0
4417
- // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);
4418
- // If negative number: pow(2,32) - floor(abs(limit))
4419
- // If other: Type-convert, then use the above rules
4420
- // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless
4421
- // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+
4422
- limit = (limit === undefined ? -1 : limit) >>> 0;
4423
-
4424
- XRegExp.forEach(str, separator, function(match) {
4425
- // This condition is not the same as `if (match[0].length)`
4426
- if ((match.index + match[0].length) > lastLastIndex) {
4427
- output.push(str.slice(lastLastIndex, match.index));
4428
- if (match.length > 1 && match.index < str.length) {
4429
- Array.prototype.push.apply(output, match.slice(1));
4430
- }
4431
- lastLength = match[0].length;
4432
- lastLastIndex = match.index + lastLength;
4433
- }
4434
- });
4435
-
4436
- if (lastLastIndex === str.length) {
4437
- if (!nativ.test.call(separator, '') || lastLength) {
4438
- output.push('');
4439
- }
4440
- } else {
4441
- output.push(str.slice(lastLastIndex));
4442
- }
4443
-
4444
- separator.lastIndex = origLastIndex;
4445
- return output.length > limit ? output.slice(0, limit) : output;
4446
- };
4447
-
4448
- // ==--------------------------==
4449
- // Built-in syntax/flag tokens
4450
- // ==--------------------------==
4451
-
4452
- /*
4453
- * Letter escapes that natively match literal characters: `\a`, `\A`, etc. These should be
4454
- * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser
4455
- * consistency and to reserve their syntax, but lets them be superseded by addons.
4456
- */
4457
- XRegExp.addToken(
4458
- /\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,
4459
- function(match, scope) {
4460
- // \B is allowed in default scope only
4461
- if (match[1] === 'B' && scope === defaultScope) {
4462
- return match[0];
4463
- }
4464
- throw new SyntaxError('Invalid escape ' + match[0]);
4465
- },
4466
- {
4467
- scope: 'all',
4468
- leadChar: '\\'
4469
- }
4470
- );
4471
-
4472
- /*
4473
- * Unicode code point escape with curly braces: `\u{N..}`. `N..` is any one or more digit
4474
- * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag
4475
- * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to
4476
- * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior
4477
- * if you follow a `\u{N..}` token that references a code point above U+FFFF with a quantifier, or
4478
- * if you use the same in a character class.
4479
- */
4480
- XRegExp.addToken(
4481
- /\\u{([\dA-Fa-f]+)}/,
4482
- function(match, scope, flags) {
4483
- var code = dec(match[1]);
4484
- if (code > 0x10FFFF) {
4485
- throw new SyntaxError('Invalid Unicode code point ' + match[0]);
4486
- }
4487
- if (code <= 0xFFFF) {
4488
- // Converting to \uNNNN avoids needing to escape the literal character and keep it
4489
- // separate from preceding tokens
4490
- return '\\u' + pad4(hex(code));
4491
- }
4492
- // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling
4493
- if (hasNativeU && flags.indexOf('u') > -1) {
4494
- return match[0];
4495
- }
4496
- throw new SyntaxError('Cannot use Unicode code point above \\u{FFFF} without flag u');
4497
- },
4498
- {
4499
- scope: 'all',
4500
- leadChar: '\\'
4501
- }
4502
- );
4503
-
4504
- /*
4505
- * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency.
4506
- * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because
4507
- * character class endings can't be determined.
4508
- */
4509
- XRegExp.addToken(
4510
- /\[(\^?)\]/,
4511
- function(match) {
4512
- // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S].
4513
- // (?!) should work like \b\B, but is unreliable in some versions of Firefox
4514
- return match[1] ? '[\\s\\S]' : '\\b\\B';
4515
- },
4516
- {leadChar: '['}
4517
- );
4518
-
4519
- /*
4520
- * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in
4521
- * free-spacing mode (flag x).
4522
- */
4523
- XRegExp.addToken(
4524
- /\(\?#[^)]*\)/,
4525
- getContextualTokenSeparator,
4526
- {leadChar: '('}
4527
- );
4528
-
4529
- /*
4530
- * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.
4531
- */
4532
- XRegExp.addToken(
4533
- /\s+|#[^\n]*\n?/,
4534
- getContextualTokenSeparator,
4535
- {flag: 'x'}
4536
- );
4537
-
4538
- /*
4539
- * Dot, in dotall mode (aka singleline mode, flag s) only.
4540
- */
4541
- XRegExp.addToken(
4542
- /\./,
4543
- function() {
4544
- return '[\\s\\S]';
4545
- },
4546
- {
4547
- flag: 's',
4548
- leadChar: '.'
4549
- }
4550
- );
4551
-
4552
- /*
4553
- * Named backreference: `\k<name>`. Backreference names can use the characters A-Z, a-z, 0-9, _,
4554
- * and $ only. Also allows numbered backreferences as `\k<n>`.
4555
- */
4556
- XRegExp.addToken(
4557
- /\\k<([\w$]+)>/,
4558
- function(match) {
4559
- // Groups with the same name is an error, else would need `lastIndexOf`
4560
- var index = isNaN(match[1]) ? (indexOf(this.captureNames, match[1]) + 1) : +match[1];
4561
- var endIndex = match.index + match[0].length;
4562
- if (!index || index > this.captureNames.length) {
4563
- throw new SyntaxError('Backreference to undefined group ' + match[0]);
4564
- }
4565
- // Keep backreferences separate from subsequent literal numbers. This avoids e.g.
4566
- // inadvertedly changing `(?<n>)\k<n>1` to `()\11`.
4567
- return '\\' + index + (
4568
- endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ?
4569
- '' : '(?:)'
4570
- );
4571
- },
4572
- {leadChar: '\\'}
4573
- );
4574
-
4575
- /*
4576
- * Numbered backreference or octal, plus any following digits: `\0`, `\11`, etc. Octals except `\0`
4577
- * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches
4578
- * are returned unaltered. IE < 9 doesn't support backreferences above `\99` in regex syntax.
4579
- */
4580
- XRegExp.addToken(
4581
- /\\(\d+)/,
4582
- function(match, scope) {
4583
- if (
4584
- !(
4585
- scope === defaultScope &&
4586
- /^[1-9]/.test(match[1]) &&
4587
- +match[1] <= this.captureNames.length
4588
- ) &&
4589
- match[1] !== '0'
4590
- ) {
4591
- throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' +
4592
- match[0]);
4593
- }
4594
- return match[0];
4595
- },
4596
- {
4597
- scope: 'all',
4598
- leadChar: '\\'
4599
- }
4600
- );
4601
-
4602
- /*
4603
- * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the
4604
- * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style
4605
- * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively
4606
- * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to
4607
- * Python-style named capture as octals.
4608
- */
4609
- XRegExp.addToken(
4610
- /\(\?P?<([\w$]+)>/,
4611
- function(match) {
4612
- // Disallow bare integers as names because named backreferences are added to match arrays
4613
- // and therefore numeric properties may lead to incorrect lookups
4614
- if (!isNaN(match[1])) {
4615
- throw new SyntaxError('Cannot use integer as capture name ' + match[0]);
4616
- }
4617
- if (match[1] === 'length' || match[1] === '__proto__') {
4618
- throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]);
4619
- }
4620
- if (indexOf(this.captureNames, match[1]) > -1) {
4621
- throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]);
4622
- }
4623
- this.captureNames.push(match[1]);
4624
- this.hasNamedCapture = true;
4625
- return '(';
4626
- },
4627
- {leadChar: '('}
4628
- );
4629
-
4630
- /*
4631
- * Capturing group; match the opening parenthesis only. Required for support of named capturing
4632
- * groups. Also adds explicit capture mode (flag n).
4633
- */
4634
- XRegExp.addToken(
4635
- /\((?!\?)/,
4636
- function(match, scope, flags) {
4637
- if (flags.indexOf('n') > -1) {
4638
- return '(?:';
4639
- }
4640
- this.captureNames.push(null);
4641
- return '(';
4642
- },
4643
- {
4644
- optionalFlags: 'n',
4645
- leadChar: '('
4646
- }
4647
- );
4648
-
4649
- module.exports = XRegExp;
4650
-
4651
- },{}]},{},[8])(8)
4652
- });